Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeoRame <NeoRame@NeoRames-Air.local>2017-10-03 13:02:39 +0300
committerNeoRame <NeoRame@NeoRames-Air.local>2017-10-03 13:02:39 +0300
commitd4ec430adf740159ab6026cde073e437cf9fdb9b (patch)
treece23da91186038c5cb027d5f70f90ae38f27a651
parent9a3cea7ca866b20c4658bd797570175867f23e8a (diff)
parentdad0e8517e76b88c8667d4255e3d6283878dbad3 (diff)
Merge remote-tracking branch 'ClusterM/stable'
-rw-r--r--.gitignore6
-rw-r--r--Apps/AppTypeCollection.cs61
-rw-r--r--Apps/ArcadeGame.cs23
-rw-r--r--Apps/Atari2600Game.cs23
-rw-r--r--Apps/FdsGame.cs4
-rw-r--r--Apps/NesGame.cs25
-rw-r--r--Apps/NesMiniApplication.cs85
-rw-r--r--Apps/SnesGame.cs2
-rw-r--r--Clovershell/ClovershellConnection.cs676
-rw-r--r--Clovershell/ClovershellException.cs12
-rw-r--r--Clovershell/ExecConnection.cs100
-rw-r--r--Clovershell/ShellConnection.cs117
-rw-r--r--ConfigIni.cs206
-rw-r--r--FelLib/Fel.cs216
-rw-r--r--FelLib/WinUSBNet/API/APIException.cs45
-rw-r--r--FelLib/WinUSBNet/API/DeviceDetails.cs23
-rw-r--r--FelLib/WinUSBNet/API/DeviceManagement.cs315
-rw-r--r--FelLib/WinUSBNet/API/DeviceManagementAPI.cs159
-rw-r--r--FelLib/WinUSBNet/API/FileAPI.cs39
-rw-r--r--FelLib/WinUSBNet/API/WinUSBDevice.cs477
-rw-r--r--FelLib/WinUSBNet/API/WinUSBDeviceAPI.cs202
-rw-r--r--FelLib/WinUSBNet/DeviceNotifyHook.cs117
-rw-r--r--FelLib/WinUSBNet/USB.cs80
-rw-r--r--FelLib/WinUSBNet/USBAsyncResult.cs136
-rw-r--r--FelLib/WinUSBNet/USBDevice.cs756
-rw-r--r--FelLib/WinUSBNet/USBDeviceDescriptor.cs135
-rw-r--r--FelLib/WinUSBNet/USBDeviceInfo.cs85
-rw-r--r--FelLib/WinUSBNet/USBException.cs40
-rw-r--r--FelLib/WinUSBNet/USBInterface.cs152
-rw-r--r--FelLib/WinUSBNet/USBInterfaceCollection.cs160
-rw-r--r--FelLib/WinUSBNet/USBNotifier.cs190
-rw-r--r--FelLib/WinUSBNet/USBPipe.cs387
-rw-r--r--FelLib/WinUSBNet/USBPipeCollection.cs135
-rw-r--r--FelLib/WinUSBNet/USBPipePolicy.cs181
-rw-r--r--FileBrowserForm.Designer.cs239
-rw-r--r--FileBrowserForm.cs19
-rw-r--r--FileBrowserForm.resx (renamed from WaitingForm.pl-PL.resx)67
-rw-r--r--FoldersManagerForm.Designer.cs (renamed from TreeContructorForm.Designer.cs)62
-rw-r--r--FoldersManagerForm.bg-BG.resx115
-rw-r--r--FoldersManagerForm.ca-ES.resx115
-rw-r--r--FoldersManagerForm.cs (renamed from TreeContructorForm.cs)66
-rw-r--r--FoldersManagerForm.da-DK.resx115
-rw-r--r--FoldersManagerForm.de-De.resx115
-rw-r--r--FoldersManagerForm.el-GR.resx115
-rw-r--r--FoldersManagerForm.en-GB.resx115
-rw-r--r--FoldersManagerForm.es-AR.resx115
-rw-r--r--FoldersManagerForm.es-ES.resx115
-rw-r--r--FoldersManagerForm.fi-FI.resx115
-rw-r--r--FoldersManagerForm.fr-FR.resx115
-rw-r--r--FoldersManagerForm.id-ID.resx115
-rw-r--r--FoldersManagerForm.it-IT.resx115
-rw-r--r--FoldersManagerForm.nl.resx115
-rw-r--r--FoldersManagerForm.pl-PL.resx115
-rw-r--r--FoldersManagerForm.pt-PT.resx115
-rw-r--r--FoldersManagerForm.resx (renamed from TreeContructorForm.resx)587
-rw-r--r--FoldersManagerForm.ru-RU.resx115
-rw-r--r--FoldersManagerForm.sk-SK.resx115
-rw-r--r--FoldersManagerForm.sv-SE.resx115
-rw-r--r--FoldersManagerForm.uk-UA.resx115
-rw-r--r--FoldersManagerForm.zh-CHS.resx115
-rw-r--r--FoldersManagerForm.zh-CHT.resx115
-rw-r--r--FoldersManagerForm.zh-TW.resx115
-rw-r--r--FtpServer/DebugLogHandler.cs74
-rw-r--r--FtpServer/FileSystemHelper.cs66
-rw-r--r--FtpServer/IAuthHandler.cs45
-rw-r--r--FtpServer/IFileSystemHandler.cs219
-rw-r--r--FtpServer/ILogHandler.cs25
-rw-r--r--FtpServer/NesMiniAuthHandler.cs41
-rw-r--r--FtpServer/NesMiniFileSystemHandler.cs357
-rw-r--r--FtpServer/Server.cs190
-rw-r--r--FtpServer/Session.cs1266
-rw-r--r--GameGenieCodeAddModForm.bg-BG.resx73
-rw-r--r--GameGenieCodeAddModForm.ca-ES.resx73
-rw-r--r--GameGenieCodeAddModForm.da-DK.resx73
-rw-r--r--GameGenieCodeAddModForm.de-DE.resx1357
-rw-r--r--GameGenieCodeAddModForm.designer.cs2
-rw-r--r--GameGenieCodeAddModForm.el-GR.resx73
-rw-r--r--GameGenieCodeAddModForm.en-GB.resx73
-rw-r--r--GameGenieCodeAddModForm.es-AR.resx73
-rw-r--r--GameGenieCodeAddModForm.es-ES.resx73
-rw-r--r--GameGenieCodeAddModForm.fi-FI.resx73
-rw-r--r--GameGenieCodeAddModForm.fr-FR.resx73
-rw-r--r--GameGenieCodeAddModForm.id-ID.resx73
-rw-r--r--GameGenieCodeAddModForm.it-IT.resx73
-rw-r--r--GameGenieCodeAddModForm.nl.resx73
-rw-r--r--GameGenieCodeAddModForm.pl-PL.resx1204
-rw-r--r--GameGenieCodeAddModForm.pt-PT.resx73
-rw-r--r--GameGenieCodeAddModForm.resx196
-rw-r--r--GameGenieCodeAddModForm.ru-RU.resx1212
-rw-r--r--GameGenieCodeAddModForm.sk-SK.resx73
-rw-r--r--GameGenieCodeAddModForm.sv-SE.resx73
-rw-r--r--GameGenieCodeAddModForm.uk-UA.resx73
-rw-r--r--GameGenieCodeAddModForm.zh-CHS.resx73
-rw-r--r--GameGenieCodeAddModForm.zh-CHT.resx73
-rw-r--r--GameGenieCodeAddModForm.zh-TW.resx73
-rw-r--r--GameGenieCodeForm.bg-BG.resx82
-rw-r--r--GameGenieCodeForm.ca-ES.resx82
-rw-r--r--GameGenieCodeForm.da-DK.resx82
-rw-r--r--GameGenieCodeForm.de-DE.resx1409
-rw-r--r--GameGenieCodeForm.designer.cs10
-rw-r--r--GameGenieCodeForm.el-GR.resx82
-rw-r--r--GameGenieCodeForm.en-GB.resx82
-rw-r--r--GameGenieCodeForm.es-AR.resx82
-rw-r--r--GameGenieCodeForm.es-ES.resx82
-rw-r--r--GameGenieCodeForm.fi-FI.resx82
-rw-r--r--GameGenieCodeForm.fr-FR.resx82
-rw-r--r--GameGenieCodeForm.id-ID.resx82
-rw-r--r--GameGenieCodeForm.it-IT.resx82
-rw-r--r--GameGenieCodeForm.nl.resx82
-rw-r--r--GameGenieCodeForm.pl-PL.resx1214
-rw-r--r--GameGenieCodeForm.pt-PT.resx82
-rw-r--r--GameGenieCodeForm.resx264
-rw-r--r--GameGenieCodeForm.ru-RU.resx1234
-rw-r--r--GameGenieCodeForm.sk-SK.resx82
-rw-r--r--GameGenieCodeForm.sv-SE.resx82
-rw-r--r--GameGenieCodeForm.uk-UA.resx82
-rw-r--r--GameGenieCodeForm.zh-CHS.resx82
-rw-r--r--GameGenieCodeForm.zh-CHT.resx82
-rw-r--r--GameGenieCodeForm.zh-TW.resx82
-rw-r--r--GameGenieDataBase.cs21
-rw-r--r--GameGeniePatcher.cs9
-rw-r--r--ImageGooglerForm.Designer.cs15
-rw-r--r--ImageGooglerForm.bg-BG.resx64
-rw-r--r--ImageGooglerForm.ca-ES.resx64
-rw-r--r--ImageGooglerForm.cs5
-rw-r--r--ImageGooglerForm.da-DK.resx64
-rw-r--r--ImageGooglerForm.de-DE.resx64
-rw-r--r--ImageGooglerForm.el-GR.resx64
-rw-r--r--ImageGooglerForm.en-GB.resx64
-rw-r--r--ImageGooglerForm.es-AR.resx64
-rw-r--r--ImageGooglerForm.es-ES.resx64
-rw-r--r--ImageGooglerForm.fi-FI.resx64
-rw-r--r--ImageGooglerForm.fr-FR.resx64
-rw-r--r--ImageGooglerForm.id-ID.resx64
-rw-r--r--ImageGooglerForm.it-IT.resx64
-rw-r--r--ImageGooglerForm.nl.resx64
-rw-r--r--ImageGooglerForm.pl-PL.resx64
-rw-r--r--ImageGooglerForm.pt-PT.resx64
-rw-r--r--ImageGooglerForm.resx56
-rw-r--r--ImageGooglerForm.ru-RU.resx64
-rw-r--r--ImageGooglerForm.sk-SK.resx64
-rw-r--r--ImageGooglerForm.sv-SE.resx64
-rw-r--r--ImageGooglerForm.uk-UA.resx64
-rw-r--r--ImageGooglerForm.zh-CHS.resx64
-rw-r--r--ImageGooglerForm.zh-CHT.resx64
-rw-r--r--ImageGooglerForm.zh-TW.resx64
-rw-r--r--ImagesForm.Designer.cs114
-rw-r--r--ImagesForm.cs53
-rw-r--r--ImagesForm.resx120
-rw-r--r--LibWinUsb/Descriptors/ClassCodeType.cs60
-rw-r--r--LibWinUsb/Descriptors/DescriptorType.cs89
-rw-r--r--LibWinUsb/Descriptors/LangStringDescriptor.cs131
-rw-r--r--LibWinUsb/Descriptors/StringDescriptor.cs24
-rw-r--r--LibWinUsb/Descriptors/UsbConfigDescriptor.cs113
-rw-r--r--LibWinUsb/Descriptors/UsbDescriptor.cs73
-rw-r--r--LibWinUsb/Descriptors/UsbDeviceDescriptor.cs232
-rw-r--r--LibWinUsb/Descriptors/UsbEndpointDescriptor.cs134
-rw-r--r--LibWinUsb/Descriptors/UsbInterfaceDescriptor.cs126
-rw-r--r--LibWinUsb/DeviceNotify/DeviceNotifier.cs48
-rw-r--r--LibWinUsb/DeviceNotify/DeviceNotifyEventArgs.cs112
-rw-r--r--LibWinUsb/DeviceNotify/DeviceType.cs58
-rw-r--r--LibWinUsb/DeviceNotify/EventType.cs58
-rw-r--r--LibWinUsb/DeviceNotify/IDeviceNotifier.cs52
-rw-r--r--LibWinUsb/DeviceNotify/Info/IPortNotifyInfo.cs43
-rw-r--r--LibWinUsb/DeviceNotify/Info/IUsbDeviceNotifyInfo.cs70
-rw-r--r--LibWinUsb/DeviceNotify/Info/IVolumeNotifyInfo.cs63
-rw-r--r--LibWinUsb/DeviceNotify/Info/PortNotifyInfo.cs63
-rw-r--r--LibWinUsb/DeviceNotify/Info/UsbDeviceNotifyInfo.cs112
-rw-r--r--LibWinUsb/DeviceNotify/Info/VolumeNotifyInfo.cs114
-rw-r--r--LibWinUsb/DeviceNotify/Internal/DevBroadcastDeviceinterface.cs44
-rw-r--r--LibWinUsb/DeviceNotify/Internal/DevBroadcastHdr.cs35
-rw-r--r--LibWinUsb/DeviceNotify/Internal/DevBroadcastPort.cs39
-rw-r--r--LibWinUsb/DeviceNotify/Internal/DevBroadcastVolume.cs38
-rw-r--r--LibWinUsb/DeviceNotify/Internal/DevNotifyNativeWindow.cs79
-rw-r--r--LibWinUsb/DeviceNotify/Internal/SafeNotifyHandle.cs45
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDevItem.cs90
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDevItemList.cs36
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DevMonitor.cs187
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DeviceListPolling.cs99
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.cs139
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifierMode.cs44
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifyEventArgs.cs70
-rw-r--r--LibWinUsb/DeviceNotify/Linux/LinuxUsbDeviceNotifyInfo.cs127
-rw-r--r--LibWinUsb/DeviceNotify/WindowsDeviceNotifier.cs146
-rw-r--r--LibWinUsb/DeviceNotify/WindowsDeviceNotifyEventArgs.cs57
-rw-r--r--LibWinUsb/IUsbDevice.cs100
-rw-r--r--LibWinUsb/IUsbInterface.cs187
-rw-r--r--LibWinUsb/Info/UsbBaseInfo.cs44
-rw-r--r--LibWinUsb/Info/UsbConfigInfo.cs158
-rw-r--r--LibWinUsb/Info/UsbDeviceInfo.cs215
-rw-r--r--LibWinUsb/Info/UsbEndpointInfo.cs70
-rw-r--r--LibWinUsb/Info/UsbInterfaceInfo.cs120
-rw-r--r--LibWinUsb/Internal/Kernel32.cs197
-rw-r--r--LibWinUsb/Internal/OverlappedTransferContext.cs113
-rw-r--r--LibWinUsb/Internal/SafeOverlapped.cs115
-rw-r--r--LibWinUsb/Internal/SetupApi.cs670
-rw-r--r--LibWinUsb/Internal/TransferContextBase.cs195
-rw-r--r--LibWinUsb/Internal/UsbApiBase.cs81
-rw-r--r--LibWinUsb/Internal/UsbRegex/BaseRegSymbolicName.cs37
-rw-r--r--LibWinUsb/Internal/UsbRegex/NamedGroup.cs35
-rw-r--r--LibWinUsb/Internal/UsbRegex/RegHardwareID.cs105
-rw-r--r--LibWinUsb/Internal/UsbRegex/RegSymbolicName.cs95
-rw-r--r--LibWinUsb/LibUsb/Internal/LibUsbAPI.cs151
-rw-r--r--LibWinUsb/LibUsb/Internal/LibUsbDriverIO.cs100
-rw-r--r--LibWinUsb/LibUsb/Internal/LibUsbDriverIO_IOControlMessage.cs199
-rw-r--r--LibWinUsb/LibUsb/Internal/LibUsbIoCtl.cs65
-rw-r--r--LibWinUsb/LibUsb/Internal/LibUsbRequest.cs195
-rw-r--r--LibWinUsb/LibUsb/LibUsbDevice.cs320
-rw-r--r--LibWinUsb/LibUsb/LibUsbDeviceRegistryKeyRequest.cs116
-rw-r--r--LibWinUsb/LibUsb/LibUsbKernelType.cs46
-rw-r--r--LibWinUsb/LibUsb/LibUsbRegistry.cs321
-rw-r--r--LibWinUsb/Main/ControlEpLockType.cs54
-rw-r--r--LibWinUsb/Main/DataEpLockType.cs44
-rw-r--r--LibWinUsb/Main/DataReceivedEnabledChangedEventArgs.cs59
-rw-r--r--LibWinUsb/Main/DeviceLockType.cs48
-rw-r--r--LibWinUsb/Main/DevicePropertyType.cs101
-rw-r--r--LibWinUsb/Main/EndpointDataEventArgs.cs58
-rw-r--r--LibWinUsb/Main/EndpointType.cs48
-rw-r--r--LibWinUsb/Main/ErrorCode.cs184
-rw-r--r--LibWinUsb/Main/Helper.cs283
-rw-r--r--LibWinUsb/Main/LegacyUsbRegistry.cs245
-rw-r--r--LibWinUsb/Main/ReadEndpointID.cs90
-rw-r--r--LibWinUsb/Main/SPDRP.cs110
-rw-r--r--LibWinUsb/Main/SafeContextHandle.cs65
-rw-r--r--LibWinUsb/Main/SetupApiRegistry.cs210
-rw-r--r--LibWinUsb/Main/UsbConstants.cs66
-rw-r--r--LibWinUsb/Main/UsbCtrlFlags.cs73
-rw-r--r--LibWinUsb/Main/UsbDeviceFinder.cs319
-rw-r--r--LibWinUsb/Main/UsbEndpointBase.cs391
-rw-r--r--LibWinUsb/Main/UsbEndpointDirection.cs40
-rw-r--r--LibWinUsb/Main/UsbEndpointList.cs147
-rw-r--r--LibWinUsb/Main/UsbException.cs46
-rw-r--r--LibWinUsb/Main/UsbKernelVersion.cs91
-rw-r--r--LibWinUsb/Main/UsbLockStyle.cs146
-rw-r--r--LibWinUsb/Main/UsbRegDeviceList.cs179
-rw-r--r--LibWinUsb/Main/UsbRegistry.cs332
-rw-r--r--LibWinUsb/Main/UsbRequestRecipient.cs48
-rw-r--r--LibWinUsb/Main/UsbRequestType.cs50
-rw-r--r--LibWinUsb/Main/UsbSetupPacket.cs95
-rw-r--r--LibWinUsb/Main/UsbStandardRequest.cs78
-rw-r--r--LibWinUsb/Main/UsbStatusClodes.cs31
-rw-r--r--LibWinUsb/Main/UsbStream.cs286
-rw-r--r--LibWinUsb/Main/UsbSymbolicName.cs227
-rw-r--r--LibWinUsb/Main/UsbTransfer.cs629
-rw-r--r--LibWinUsb/Main/WriteEndpointID.cs89
-rw-r--r--LibWinUsb/MonoLibUsb/CallbackDelegates.cs31
-rw-r--r--LibWinUsb/MonoLibUsb/Descriptors/MonoUsbAltInterfaceDescriptor.cs103
-rw-r--r--LibWinUsb/MonoLibUsb/Descriptors/MonoUsbConfigDescriptor.cs115
-rw-r--r--LibWinUsb/MonoLibUsb/Descriptors/MonoUsbDeviceDescriptor.cs134
-rw-r--r--LibWinUsb/MonoLibUsb/Descriptors/MonoUsbEndpointDescriptor.cs77
-rw-r--r--LibWinUsb/MonoLibUsb/Descriptors/MonoUsbInterface.cs59
-rw-r--r--LibWinUsb/MonoLibUsb/MonoLibUsbApi.cs1470
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbDevice.cs522
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbDeviceHandle.cs136
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbEndpointReader.cs81
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbEndpointWriter.cs76
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbError.cs106
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbEventHandler.cs192
-rw-r--r--LibWinUsb/MonoLibUsb/MonoUsbSessionHandle.cs116
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/AddRemoveEventArgs.cs34
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/AddRemoveType.cs38
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbConfigHandle.cs41
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbProfile.cs186
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandle.cs110
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandleEnumerator.cs111
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileList.cs259
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileListHandle.cs74
-rw-r--r--LibWinUsb/MonoLibUsb/Profile/PollfdItem.cs28
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_control_setup.cs35
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_iso_packet_descriptor.cs29
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_transfer.cs52
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetup.cs145
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetupHandle.cs113
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbIsoPacket.cs58
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbTansferStatus.cs65
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransfer.cs519
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferContext.cs232
-rw-r--r--LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferFlags.cs51
-rw-r--r--LibWinUsb/MonoLibUsb/UnixNativeTimeval.cs69
-rw-r--r--LibWinUsb/UsbDevice.Common.cs249
-rw-r--r--LibWinUsb/UsbDevice.Error.cs166
-rw-r--r--LibWinUsb/UsbDevice.OS.Specific.cs291
-rw-r--r--LibWinUsb/UsbDevice.cs495
-rw-r--r--LibWinUsb/UsbEndpointReader.cs290
-rw-r--r--LibWinUsb/UsbEndpointWriter.cs100
-rw-r--r--LibWinUsb/UsbGlobals.cs34
-rw-r--r--LibWinUsb/WinUsb/DeviceInformationTypes.cs33
-rw-r--r--LibWinUsb/WinUsb/DeviceSpeedTypes.cs45
-rw-r--r--LibWinUsb/WinUsb/Internal/SafeWinUsbInterfaceHandle.cs67
-rw-r--r--LibWinUsb/WinUsb/Internal/WinUsbAPI.cs226
-rw-r--r--LibWinUsb/WinUsb/PipeInformation.cs57
-rw-r--r--LibWinUsb/WinUsb/PipePolicies.cs288
-rw-r--r--LibWinUsb/WinUsb/PipePolicyType.cs35
-rw-r--r--LibWinUsb/WinUsb/PowerPolicies.cs98
-rw-r--r--LibWinUsb/WinUsb/PowerPolicyType.cs30
-rw-r--r--LibWinUsb/WinUsb/WinUsbDevice.cs317
-rw-r--r--LibWinUsb/WinUsb/WinUsbRegistry.cs518
-rw-r--r--MainForm.Designer.cs404
-rw-r--r--MainForm.bg-BG.resx295
-rw-r--r--MainForm.ca-ES.resx295
-rw-r--r--MainForm.cs973
-rw-r--r--MainForm.da-DK.resx295
-rw-r--r--MainForm.de-DE.resx296
-rw-r--r--MainForm.el-GR.resx295
-rw-r--r--MainForm.en-GB.resx295
-rw-r--r--MainForm.es-AR.resx295
-rw-r--r--MainForm.es-ES.resx295
-rw-r--r--MainForm.fi-FI.resx295
-rw-r--r--MainForm.fr-FR.resx295
-rw-r--r--MainForm.id-ID.resx295
-rw-r--r--MainForm.it-IT.resx295
-rw-r--r--MainForm.nl.resx295
-rw-r--r--MainForm.pl-PL.resx1488
-rw-r--r--MainForm.pt-PT.resx295
-rw-r--r--MainForm.resx2687
-rw-r--r--MainForm.ru-RU.resx1640
-rw-r--r--MainForm.sk-SK.resx295
-rw-r--r--MainForm.sv-SE.resx295
-rw-r--r--MainForm.uk-UA.resx295
-rw-r--r--MainForm.zh-CHS.resx295
-rw-r--r--MainForm.zh-CHT.resx295
-rw-r--r--MainForm.zh-TW.resx295
-rw-r--r--NesDefaultGame.cs8
-rw-r--r--NesMenuCollection.cs5
-rw-r--r--NesMenuFolder.cs11
-rw-r--r--Program.cs221
-rw-r--r--Properties/AssemblyInfo.cs8
-rw-r--r--Properties/Resources.Designer.cs243
-rw-r--r--Properties/Resources.bg-BG.resx382
-rw-r--r--Properties/Resources.ca-ES.resx382
-rw-r--r--Properties/Resources.da-DK.resx382
-rw-r--r--Properties/Resources.de-DE.resx383
-rw-r--r--Properties/Resources.el-GR.resx382
-rw-r--r--Properties/Resources.en-GB.resx383
-rw-r--r--Properties/Resources.es-AR.resx382
-rw-r--r--Properties/Resources.es-ES.resx382
-rw-r--r--Properties/Resources.fi-FI.resx382
-rw-r--r--Properties/Resources.fr-FR.resx382
-rw-r--r--Properties/Resources.id-ID.resx382
-rw-r--r--Properties/Resources.it-IT.resx382
-rw-r--r--Properties/Resources.nl.resx382
-rw-r--r--Properties/Resources.pl-PL.resx527
-rw-r--r--Properties/Resources.pt-PT.resx382
-rw-r--r--Properties/Resources.resx169
-rw-r--r--Properties/Resources.ru-RU.Designer.cs0
-rw-r--r--Properties/Resources.ru-RU.resx471
-rw-r--r--Properties/Resources.sk-SK.resx382
-rw-r--r--Properties/Resources.sv-SE.resx382
-rw-r--r--Properties/Resources.uk-UA.resx382
-rw-r--r--Properties/Resources.zh-CHS.resx382
-rw-r--r--Properties/Resources.zh-CHT.resx382
-rw-r--r--Properties/Resources.zh-TW.resx382
-rw-r--r--Properties/app.manifest54
-rw-r--r--README.md16
-rw-r--r--SaveStateManager.Designer.cs206
-rw-r--r--SaveStateManager.bg-BG.resx94
-rw-r--r--SaveStateManager.ca-ES.resx94
-rw-r--r--SaveStateManager.cs450
-rw-r--r--SaveStateManager.da-DK.resx94
-rw-r--r--SaveStateManager.de-DE.resx94
-rw-r--r--SaveStateManager.el-GR.resx94
-rw-r--r--SaveStateManager.en-GB.resx94
-rw-r--r--SaveStateManager.es-AR.resx94
-rw-r--r--SaveStateManager.es-ES.resx94
-rw-r--r--SaveStateManager.fi-FI.resx94
-rw-r--r--SaveStateManager.fr-FR.resx94
-rw-r--r--SaveStateManager.id-ID.resx94
-rw-r--r--SaveStateManager.it-IT.resx94
-rw-r--r--SaveStateManager.nl.resx94
-rw-r--r--SaveStateManager.pl-PL.resx94
-rw-r--r--SaveStateManager.pt-PT.resx94
-rw-r--r--SaveStateManager.resx (renamed from WaitingForm.ru-RU.resx)350
-rw-r--r--SaveStateManager.ru-RU.resx94
-rw-r--r--SaveStateManager.sk-SK.resx94
-rw-r--r--SaveStateManager.sv-SE.resx94
-rw-r--r--SaveStateManager.uk-UA.resx94
-rw-r--r--SaveStateManager.zh-CHS.resx94
-rw-r--r--SaveStateManager.zh-CHT.resx94
-rw-r--r--SaveStateManager.zh-TW.resx94
-rw-r--r--SearchForm.bg-BG.resx64
-rw-r--r--SearchForm.ca-ES.resx64
-rw-r--r--SearchForm.da-DK.resx64
-rw-r--r--SearchForm.de-DE.resx1237
-rw-r--r--SearchForm.el-GR.resx64
-rw-r--r--SearchForm.en-GB.resx64
-rw-r--r--SearchForm.es-AR.resx64
-rw-r--r--SearchForm.es-ES.resx64
-rw-r--r--SearchForm.fi-FI.resx64
-rw-r--r--SearchForm.fr-FR.resx64
-rw-r--r--SearchForm.id-ID.resx64
-rw-r--r--SearchForm.it-IT.resx64
-rw-r--r--SearchForm.nl.resx64
-rw-r--r--SearchForm.pl-PL.resx1194
-rw-r--r--SearchForm.pt-PT.resx64
-rw-r--r--SearchForm.ru-RU.resx61
-rw-r--r--SearchForm.sk-SK.resx64
-rw-r--r--SearchForm.sv-SE.resx64
-rw-r--r--SearchForm.uk-UA.resx64
-rw-r--r--SearchForm.zh-CHS.resx64
-rw-r--r--SearchForm.zh-CHT.resx64
-rw-r--r--SearchForm.zh-TW.resx64
-rw-r--r--SelectButtonsForm.Designer.cs1
-rw-r--r--SelectButtonsForm.bg-BG.resx64
-rw-r--r--SelectButtonsForm.ca-ES.resx64
-rw-r--r--SelectButtonsForm.cs5
-rw-r--r--SelectButtonsForm.da-DK.resx64
-rw-r--r--SelectButtonsForm.de-DE.resx1488
-rw-r--r--SelectButtonsForm.el-GR.resx64
-rw-r--r--SelectButtonsForm.en-GB.resx64
-rw-r--r--SelectButtonsForm.es-AR.resx64
-rw-r--r--SelectButtonsForm.es-ES.resx64
-rw-r--r--SelectButtonsForm.fi-FI.resx64
-rw-r--r--SelectButtonsForm.fr-FR.resx64
-rw-r--r--SelectButtonsForm.id-ID.resx64
-rw-r--r--SelectButtonsForm.it-IT.resx64
-rw-r--r--SelectButtonsForm.nl.resx64
-rw-r--r--SelectButtonsForm.pl-PL.resx1194
-rw-r--r--SelectButtonsForm.pt-PT.resx64
-rw-r--r--SelectButtonsForm.resx10
-rw-r--r--SelectButtonsForm.ru-RU.resx1196
-rw-r--r--SelectButtonsForm.sk-SK.resx64
-rw-r--r--SelectButtonsForm.sv-SE.resx64
-rw-r--r--SelectButtonsForm.uk-UA.resx64
-rw-r--r--SelectButtonsForm.zh-CHS.resx64
-rw-r--r--SelectButtonsForm.zh-CHT.resx64
-rw-r--r--SelectButtonsForm.zh-TW.resx64
-rw-r--r--SelectFileForm.bg-BG.resx67
-rw-r--r--SelectFileForm.ca-ES.resx67
-rw-r--r--SelectFileForm.da-DK.resx67
-rw-r--r--SelectFileForm.de-DE.resx1304
-rw-r--r--SelectFileForm.el-GR.resx67
-rw-r--r--SelectFileForm.en-GB.resx67
-rw-r--r--SelectFileForm.es-AR.resx67
-rw-r--r--SelectFileForm.es-ES.resx67
-rw-r--r--SelectFileForm.fi-FI.resx67
-rw-r--r--SelectFileForm.fr-FR.resx67
-rw-r--r--SelectFileForm.id-ID.resx67
-rw-r--r--SelectFileForm.it-IT.resx67
-rw-r--r--SelectFileForm.nl.resx67
-rw-r--r--SelectFileForm.pl-PL.resx1197
-rw-r--r--SelectFileForm.pt-PT.resx67
-rw-r--r--SelectFileForm.resx10
-rw-r--r--SelectFileForm.ru-RU.resx1200
-rw-r--r--SelectFileForm.sk-SK.resx67
-rw-r--r--SelectFileForm.sv-SE.resx67
-rw-r--r--SelectFileForm.uk-UA.resx67
-rw-r--r--SelectFileForm.zh-CHS.resx67
-rw-r--r--SelectFileForm.zh-CHT.resx67
-rw-r--r--SelectFileForm.zh-TW.resx67
-rw-r--r--SelectIconForm.bg-BG.resx64
-rw-r--r--SelectIconForm.ca-ES.resx64
-rw-r--r--SelectIconForm.da-DK.resx64
-rw-r--r--SelectIconForm.de-DE.resx1303
-rw-r--r--SelectIconForm.el-GR.resx64
-rw-r--r--SelectIconForm.en-GB.resx64
-rw-r--r--SelectIconForm.es-AR.resx64
-rw-r--r--SelectIconForm.es-ES.resx64
-rw-r--r--SelectIconForm.fi-FI.resx64
-rw-r--r--SelectIconForm.fr-FR.resx64
-rw-r--r--SelectIconForm.id-ID.resx64
-rw-r--r--SelectIconForm.it-IT.resx64
-rw-r--r--SelectIconForm.nl.resx64
-rw-r--r--SelectIconForm.pl-PL.resx1194
-rw-r--r--SelectIconForm.pt-PT.resx64
-rw-r--r--SelectIconForm.resx10
-rw-r--r--SelectIconForm.ru-RU.resx1194
-rw-r--r--SelectIconForm.sk-SK.resx64
-rw-r--r--SelectIconForm.sv-SE.resx64
-rw-r--r--SelectIconForm.uk-UA.resx64
-rw-r--r--SelectIconForm.zh-CHS.resx64
-rw-r--r--SelectIconForm.zh-CHT.resx64
-rw-r--r--SelectIconForm.zh-TW.resx64
-rw-r--r--SelectModsForm.Designer.cs3
-rw-r--r--SelectModsForm.cs102
-rw-r--r--TarStream.cs305
-rw-r--r--TaskbarProgress.cs19
-rw-r--r--TrackableFileStream.cs39
-rw-r--r--TreeContructorForm.de-De.resx2151
-rw-r--r--TreeContructorForm.pl-PL.resx1313
-rw-r--r--TreeContructorForm.ru-RU.resx1316
-rw-r--r--WaitingClovershellForm.Designer.cs103
-rw-r--r--WaitingClovershellForm.bg-BG.resx79
-rw-r--r--WaitingClovershellForm.ca-ES.resx79
-rw-r--r--WaitingClovershellForm.cs79
-rw-r--r--WaitingClovershellForm.da-DK.resx79
-rw-r--r--WaitingClovershellForm.de-DE.resx79
-rw-r--r--WaitingClovershellForm.el-GR.resx79
-rw-r--r--WaitingClovershellForm.en-GB.resx79
-rw-r--r--WaitingClovershellForm.es-AR.resx79
-rw-r--r--WaitingClovershellForm.es-ES.resx79
-rw-r--r--WaitingClovershellForm.fi-FI.resx79
-rw-r--r--WaitingClovershellForm.fr-FR.resx79
-rw-r--r--WaitingClovershellForm.id-ID.resx79
-rw-r--r--WaitingClovershellForm.it-IT.resx79
-rw-r--r--WaitingClovershellForm.nl.resx79
-rw-r--r--WaitingClovershellForm.pl-PL.resx79
-rw-r--r--WaitingClovershellForm.pt-PT.resx79
-rw-r--r--WaitingClovershellForm.resx (renamed from WaitingForm.de-DE.resx)371
-rw-r--r--WaitingClovershellForm.ru-RU.resx79
-rw-r--r--WaitingClovershellForm.sk-SK.resx79
-rw-r--r--WaitingClovershellForm.sv-SE.resx79
-rw-r--r--WaitingClovershellForm.uk-UA.resx79
-rw-r--r--WaitingClovershellForm.zh-CHS.resx79
-rw-r--r--WaitingClovershellForm.zh-CHT.resx79
-rw-r--r--WaitingClovershellForm.zh-TW.resx79
-rw-r--r--WaitingFelForm.Designer.cs (renamed from WaitingForm.Designer.cs)8
-rw-r--r--WaitingFelForm.bg-BG.resx85
-rw-r--r--WaitingFelForm.ca-ES.resx85
-rw-r--r--WaitingFelForm.cs94
-rw-r--r--WaitingFelForm.da-DK.resx85
-rw-r--r--WaitingFelForm.de-DE.resx85
-rw-r--r--WaitingFelForm.el-GR.resx85
-rw-r--r--WaitingFelForm.en-GB.resx85
-rw-r--r--WaitingFelForm.es-AR.resx85
-rw-r--r--WaitingFelForm.es-ES.resx85
-rw-r--r--WaitingFelForm.fi-FI.resx85
-rw-r--r--WaitingFelForm.fr-FR.resx85
-rw-r--r--WaitingFelForm.id-ID.resx85
-rw-r--r--WaitingFelForm.it-IT.resx85
-rw-r--r--WaitingFelForm.nl.resx85
-rw-r--r--WaitingFelForm.pl-PL.resx85
-rw-r--r--WaitingFelForm.pt-PT.resx85
-rw-r--r--WaitingFelForm.resx (renamed from WaitingForm.resx)421
-rw-r--r--WaitingFelForm.ru-RU.resx85
-rw-r--r--WaitingFelForm.sk-SK.resx85
-rw-r--r--WaitingFelForm.sv-SE.resx85
-rw-r--r--WaitingFelForm.uk-UA.resx85
-rw-r--r--WaitingFelForm.zh-CHS.resx85
-rw-r--r--WaitingFelForm.zh-CHT.resx85
-rw-r--r--WaitingFelForm.zh-TW.resx85
-rw-r--r--WaitingForm.cs135
-rw-r--r--WorkerForm.cs939
-rw-r--r--clovercon/Makefile20
-rw-r--r--clovercon/clovercon.c411
-rw-r--r--clovercon/mod/etc/preinit.d/pc000_clovercon34
-rw-r--r--clovercon/mod/install6
-rw-r--r--clovercon/mod/readme.txt7
-rw-r--r--data/GameGenieDB.xml7
-rw-r--r--data/nescarts.xmlbin3955984 -> 3956932 bytes
-rw-r--r--data/splash.gzbin0 -> 9677 bytes
-rw-r--r--driver/nesmini_driver.exebin5704192 -> 5445120 bytes
-rw-r--r--driver/source/libwdi.suobin0 -> 23040 bytes
-rw-r--r--driver/source/libwdi/.msvc/detect_64build.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/detect_64build.vcxproj.user3
-rw-r--r--driver/source/libwdi/.msvc/embedder.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/embedder.vcxproj.user3
-rw-r--r--driver/source/libwdi/.msvc/installer_x64.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/installer_x64.vcxproj.user3
-rw-r--r--driver/source/libwdi/.msvc/installer_x86.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/installer_x86.vcxproj.user3
-rw-r--r--driver/source/libwdi/.msvc/libwdi_dll.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/libwdi_dll.vcxproj.user3
-rw-r--r--driver/source/libwdi/.msvc/libwdi_static.vcxproj4
-rw-r--r--driver/source/libwdi/.msvc/libwdi_static.vcxproj.user3
-rw-r--r--driver/source/libwdi/build64.h1
-rw-r--r--driver/source/msvc/config.h2
-rw-r--r--driver/source/nesmini_driver/nesmini_driver.vcxproj3
-rw-r--r--folder_images/2600.pngbin1085 -> 1994 bytes
-rw-r--r--folder_images/2600_darth_vader.pngbin1022 -> 1947 bytes
-rw-r--r--folder_images/2600jr.pngbin956 -> 1881 bytes
-rw-r--r--folder_images/32x_genesis2.pngbin1433 -> 2305 bytes
-rw-r--r--folder_images/32x_megadrive2.pngbin1458 -> 2323 bytes
-rw-r--r--folder_images/32x_megadrive2_jp.pngbin1482 -> 2339 bytes
-rw-r--r--folder_images/arcade.pngbin1035 -> 1972 bytes
-rw-r--r--folder_images/folder.pngbin834 -> 801 bytes
-rw-r--r--folder_images/folder_a.pngbin882 -> 848 bytes
-rw-r--r--folder_images/folder_b.pngbin891 -> 860 bytes
-rw-r--r--folder_images/folder_back.pngbin922 -> 893 bytes
-rw-r--r--folder_images/folder_c.pngbin896 -> 865 bytes
-rw-r--r--folder_images/folder_d.pngbin878 -> 846 bytes
-rw-r--r--folder_images/folder_e.pngbin881 -> 850 bytes
-rw-r--r--folder_images/folder_f.pngbin877 -> 843 bytes
-rw-r--r--folder_images/folder_g.pngbin902 -> 871 bytes
-rw-r--r--folder_images/folder_h.pngbin877 -> 842 bytes
-rw-r--r--folder_images/folder_i.pngbin879 -> 846 bytes
-rw-r--r--folder_images/folder_j.pngbin893 -> 856 bytes
-rw-r--r--folder_images/folder_k.pngbin908 -> 875 bytes
-rw-r--r--folder_images/folder_l.pngbin860 -> 827 bytes
-rw-r--r--folder_images/folder_m.pngbin897 -> 862 bytes
-rw-r--r--folder_images/folder_n.pngbin899 -> 865 bytes
-rw-r--r--folder_images/folder_number.pngbin896 -> 864 bytes
-rw-r--r--folder_images/folder_o.pngbin884 -> 851 bytes
-rw-r--r--folder_images/folder_p.pngbin887 -> 852 bytes
-rw-r--r--folder_images/folder_q.pngbin909 -> 874 bytes
-rw-r--r--folder_images/folder_r.pngbin899 -> 868 bytes
-rw-r--r--folder_images/folder_s.pngbin903 -> 873 bytes
-rw-r--r--folder_images/folder_system_2600.pngbin1015 -> 1975 bytes
-rw-r--r--folder_images/folder_system_32x.pngbin1053 -> 1989 bytes
-rw-r--r--folder_images/folder_system_arcade.pngbin1047 -> 1995 bytes
-rw-r--r--folder_images/folder_system_famicom.pngbin977 -> 1938 bytes
-rw-r--r--folder_images/folder_system_fds.pngbin1021 -> 2006 bytes
-rw-r--r--folder_images/folder_system_gb.pngbin975 -> 920 bytes
-rw-r--r--folder_images/folder_system_gba.pngbin947 -> 892 bytes
-rw-r--r--folder_images/folder_system_gbc.pngbin973 -> 918 bytes
-rw-r--r--folder_images/folder_system_genesis.pngbin1134 -> 2025 bytes
-rw-r--r--folder_images/folder_system_gg.pngbin1152 -> 2057 bytes
-rw-r--r--folder_images/folder_system_n64.pngbin1166 -> 2054 bytes
-rw-r--r--folder_images/folder_system_neogeo.pngbin1040 -> 1982 bytes
-rw-r--r--folder_images/folder_system_nes.pngbin971 -> 921 bytes
-rw-r--r--folder_images/folder_system_nes_org.pngbin1172 -> 2081 bytes
-rw-r--r--folder_images/folder_system_pce.pngbin965 -> 1942 bytes
-rw-r--r--folder_images/folder_system_sms.pngbin964 -> 1920 bytes
-rw-r--r--folder_images/folder_system_snes_eu_jp.pngbin1017 -> 1971 bytes
-rw-r--r--folder_images/folder_system_snes_usa.pngbin1092 -> 2016 bytes
-rw-r--r--folder_images/folder_t.pngbin872 -> 836 bytes
-rw-r--r--folder_images/folder_u.pngbin885 -> 851 bytes
-rw-r--r--folder_images/folder_v.pngbin896 -> 861 bytes
-rw-r--r--folder_images/folder_w.pngbin892 -> 858 bytes
-rw-r--r--folder_images/folder_x.pngbin929 -> 892 bytes
-rw-r--r--folder_images/folder_y.pngbin892 -> 857 bytes
-rw-r--r--folder_images/folder_z.pngbin901 -> 868 bytes
-rw-r--r--folder_images/gamegear.pngbin1243 -> 2170 bytes
-rw-r--r--folder_images/gb_dmg.pngbin986 -> 1925 bytes
-rw-r--r--folder_images/gb_play_it_loud_black.pngbin899 -> 863 bytes
-rw-r--r--folder_images/gb_play_it_loud_blue.pngbin899 -> 863 bytes
-rw-r--r--folder_images/gb_play_it_loud_green.pngbin900 -> 863 bytes
-rw-r--r--folder_images/gb_play_it_loud_red.pngbin902 -> 865 bytes
-rw-r--r--folder_images/gb_play_it_loud_white.pngbin879 -> 832 bytes
-rw-r--r--folder_images/gb_play_it_loud_yellow.pngbin901 -> 864 bytes
-rw-r--r--folder_images/gba.pngbin1213 -> 2133 bytes
-rw-r--r--folder_images/gbc_green.pngbin1039 -> 1974 bytes
-rw-r--r--folder_images/gbc_purple.pngbin1039 -> 1974 bytes
-rw-r--r--folder_images/gbc_red.pngbin1039 -> 1974 bytes
-rw-r--r--folder_images/gbc_turquoise.pngbin1039 -> 1974 bytes
-rw-r--r--folder_images/gbc_yellow.pngbin1039 -> 1974 bytes
-rw-r--r--folder_images/genesis2.pngbin1243 -> 2148 bytes
-rw-r--r--folder_images/megadrive2.pngbin1252 -> 2154 bytes
-rw-r--r--folder_images/megadrive2_jp.pngbin1268 -> 2159 bytes
-rw-r--r--folder_images/n64.pngbin1345 -> 2237 bytes
-rw-r--r--folder_images/neogeo.pngbin1194 -> 2086 bytes
-rw-r--r--folder_images/nes.pngbin890 -> 862 bytes
-rw-r--r--folder_images/pce.pngbin1270 -> 2152 bytes
-rw-r--r--folder_images/sms.pngbin1149 -> 2075 bytes
-rw-r--r--folder_images/snes_eu_jp.pngbin1075 -> 2006 bytes
-rw-r--r--folder_images/snes_usa.pngbin955 -> 1912 bytes
-rw-r--r--hakchi_gui.csproj1654
-rw-r--r--images/flags/ar.pngbin0 -> 506 bytes
-rw-r--r--images/flags/bg.pngbin0 -> 462 bytes
-rw-r--r--images/flags/cn.pngbin0 -> 472 bytes
-rw-r--r--images/flags/de.pngbin0 -> 545 bytes
-rw-r--r--images/flags/dk.pngbin0 -> 495 bytes
-rw-r--r--images/flags/es.pngbin0 -> 469 bytes
-rw-r--r--images/flags/fi.pngbin0 -> 489 bytes
-rw-r--r--images/flags/fr.pngbin0 -> 545 bytes
-rw-r--r--images/flags/gb.pngbin0 -> 599 bytes
-rw-r--r--images/flags/gr.pngbin0 -> 487 bytes
-rw-r--r--images/flags/id.pngbin0 -> 430 bytes
-rw-r--r--images/flags/it.pngbin0 -> 420 bytes
-rw-r--r--images/flags/nl.pngbin0 -> 453 bytes
-rw-r--r--images/flags/pl.pngbin0 -> 374 bytes
-rw-r--r--images/flags/pt.pngbin0 -> 554 bytes
-rw-r--r--images/flags/ru.pngbin0 -> 420 bytes
-rw-r--r--images/flags/se.pngbin0 -> 542 bytes
-rw-r--r--images/flags/sk.pngbin0 -> 562 bytes
-rw-r--r--images/flags/tw.pngbin0 -> 465 bytes
-rw-r--r--images/flags/ua.pngbin0 -> 446 bytes
-rw-r--r--images/flags/us.pngbin0 -> 609 bytes
-rw-r--r--images/globe.pngbin0 -> 906 bytes
-rw-r--r--images/green.pngbin0 -> 591 bytes
-rw-r--r--images/red.pngbin0 -> 909 bytes
-rw-r--r--mods/hmods/clovercon.hmodbin6214 -> 7494 bytes
-rw-r--r--mods/hmods/clovershell.hmodbin0 -> 9890 bytes
-rw-r--r--mods/hmods/copyleft.hmodbin0 -> 502 bytes
-rw-r--r--mods/hmods/fontfix.hmodbin269876 -> 269945 bytes
-rw-r--r--mods/mod_hakchi/hakchi/config2
-rw-r--r--mods/mod_hakchi/hakchi/init20
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/bin/chmenu19
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/init.d/S78clvcon47
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/inittab2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines36
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions54
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit11
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit8
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games6
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock1
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config2
-rw-r--r--mods/mod_hakchi/hakchi/script/base12
-rw-r--r--mods/mod_hakchi/hakchi/script/games1
-rw-r--r--mods/mod_hakchi/hakchi/script/install12
-rw-r--r--mods/mod_hakchi/hakchi/script/package2
-rw-r--r--mods/mod_hakchi/hakchi/script/removed2
-rw-r--r--mods/mod_hakchi/hakchi/script/transfer7
-rw-r--r--tools/upx.exebin1818624 -> 0 bytes
-rw-r--r--user_mods/password.hmod/S810password50
-rw-r--r--user_mods/password.hmod/install7
-rw-r--r--user_mods/password.hmod/password.raw.gzbin0 -> 9577 bytes
-rw-r--r--user_mods/password.hmod/password_fail.raw.gzbin0 -> 7866 bytes
-rw-r--r--user_mods/password.hmod/password_ok.raw.gzbin0 -> 5174 bytes
-rw-r--r--user_mods/password.hmod/readme.txt3
-rw-r--r--user_mods/password.hmod/uninstall5
-rw-r--r--user_mods/remove_thumbnails.hmod/install22
-rw-r--r--user_mods/remove_thumbnails.hmod/readme.txt3
-rw-r--r--user_mods/remove_thumbnails.hmod/uninstall7
697 files changed, 65701 insertions, 37041 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..4e836f7a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/bin/
+driver/source/nesmini_driver/Release/
+driver/usb_driver/
+obj/
+*.csproj.user
+*.pfx
diff --git a/Apps/AppTypeCollection.cs b/Apps/AppTypeCollection.cs
index 0464aee1..79061fa3 100644
--- a/Apps/AppTypeCollection.cs
+++ b/Apps/AppTypeCollection.cs
@@ -15,7 +15,7 @@ namespace com.clusterrr.hakchi_gui
{
public Type Class;
public string[] Extensions;
- public string DefaultApp;
+ public string[] DefaultApps;
public char Prefix;
public Image DefaultCover;
}
@@ -26,7 +26,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(FdsGame),
Extensions = new string[] {".fds"},
- DefaultApp = null,
+ DefaultApps = new string[] {},
Prefix = 'D',
DefaultCover = Resources.blank_fds
},
@@ -34,7 +34,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(NesUGame),
Extensions = new string[] {".nes", ".unf", ".unif"},
- DefaultApp = "/bin/nes",
+ DefaultApps = new string[] {"/bin/nes"},
Prefix = 'I',
DefaultCover = Resources.blank_jp
},
@@ -42,7 +42,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(SnesGame),
Extensions = new string[] { ".sfc", ".smc" },
- DefaultApp = "/bin/snes",
+ DefaultApps = new string[] {"/bin/snes"},
Prefix = 'U',
DefaultCover = Resources.blank_snes_us
},
@@ -50,7 +50,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(N64Game),
Extensions = new string[] { ".n64", ".z64", ".v64" },
- DefaultApp = "/bin/n64",
+ DefaultApps = new string[] {"/bin/n64"},
Prefix = '6',
DefaultCover = Resources.blank_n64
},
@@ -58,15 +58,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(SmsGame),
Extensions = new string[] { ".sms" },
- DefaultApp = "/bin/sms",
- Prefix = 'M',
- DefaultCover = Resources.blank_sms
- },
- new AppInfo
- {
- Class = typeof(SmsGame),
- Extensions = new string[] { ".sms" },
- DefaultApp = "/bin/sms",
+ DefaultApps = new string[] {"/bin/sms"},
Prefix = 'M',
DefaultCover = Resources.blank_sms
},
@@ -74,7 +66,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(GenesisGame),
Extensions = new string[] { ".gen", ".md", ".smd" },
- DefaultApp = "/bin/md",
+ DefaultApps = new string[] {"/bin/md"},
Prefix = 'G',
DefaultCover = Resources.blank_genesis
},
@@ -82,15 +74,15 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(Sega32XGame),
Extensions = new string[] { ".32x" },
- DefaultApp = "/bin/32x",
+ DefaultApps = new string[] {"/bin/32x"},
Prefix = '3',
- DefaultCover = Resources.blank_genesis // TODO: icon for 32X
+ DefaultCover = Resources.blank_32x
},
new AppInfo
{
Class = typeof(GbGame),
Extensions = new string[] { ".gb" },
- DefaultApp = "/bin/gb",
+ DefaultApps = new string[] {"/bin/gb"},
Prefix = 'B',
DefaultCover = Resources.blank_gb
},
@@ -98,7 +90,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(GbcGame),
Extensions = new string[] {".gbc"},
- DefaultApp = "/bin/gbc",
+ DefaultApps = new string[] {"/bin/gbc"},
Prefix = 'C',
DefaultCover = Resources.blank_gbc
},
@@ -106,7 +98,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(GbaGame),
Extensions = new string[] {".gba"},
- DefaultApp = "/bin/gba",
+ DefaultApps = new string[] {"/bin/gba"},
Prefix = 'A',
DefaultCover = Resources.blank_gba
},
@@ -114,7 +106,7 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(PceGame),
Extensions = new string[] {".pce"},
- DefaultApp = "/bin/pce",
+ DefaultApps = new string[] {"/bin/pce"},
Prefix = 'E',
DefaultCover = Resources.blank_pce
},
@@ -122,10 +114,26 @@ namespace com.clusterrr.hakchi_gui
{
Class = typeof(GameGearGame),
Extensions = new string[] {".gg"},
- DefaultApp = "/bin/gg",
+ DefaultApps = new string[] {"/bin/gg"},
Prefix = 'R',
- DefaultCover = Resources.blank_sms // TODO: icon for GameGear
- }
+ DefaultCover = Resources.blank_gg
+ },
+ new AppInfo
+ {
+ Class = typeof(GameGearGame),
+ Extensions = new string[] {".a26"},
+ DefaultApps = new string[] {"/bin/a26"},
+ Prefix = 'T',
+ DefaultCover = Resources.blank_2600
+ },
+ new AppInfo
+ {
+ Class = typeof(GameGearGame),
+ Extensions = new string[] {},
+ DefaultApps = new string[] {"/bin/fba", "/bin/mame", "/bin/cps2", "/bin/neogeo" },
+ Prefix = 'X',
+ DefaultCover = Resources.blank_arcade
+ },
};
public static AppInfo GetAppByExtension(string extension)
@@ -139,8 +147,9 @@ namespace com.clusterrr.hakchi_gui
public static AppInfo GetAppByExec(string exec)
{
foreach (var app in ApplicationTypes)
- if (exec.StartsWith(app.DefaultApp + " "))
- return app;
+ foreach (var cmd in app.DefaultApps)
+ if (exec.StartsWith(cmd + " "))
+ return app;
return null;
}
}
diff --git a/Apps/ArcadeGame.cs b/Apps/ArcadeGame.cs
new file mode 100644
index 00000000..f9306912
--- /dev/null
+++ b/Apps/ArcadeGame.cs
@@ -0,0 +1,23 @@
+#pragma warning disable 0108
+using com.clusterrr.hakchi_gui.Properties;
+using System.Drawing;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public class ArcadeGame : NesMiniApplication
+ {
+ public override string GoogleSuffix
+ {
+ get
+ {
+ return "arcade";
+ }
+ }
+
+ public ArcadeGame(string path, bool ignoreEmptyConfig = false)
+ : base(path, ignoreEmptyConfig)
+ {
+ }
+ }
+}
+
diff --git a/Apps/Atari2600Game.cs b/Apps/Atari2600Game.cs
new file mode 100644
index 00000000..2a468e48
--- /dev/null
+++ b/Apps/Atari2600Game.cs
@@ -0,0 +1,23 @@
+#pragma warning disable 0108
+using com.clusterrr.hakchi_gui.Properties;
+using System.Drawing;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public class Atari2600Game : NesMiniApplication
+ {
+ public override string GoogleSuffix
+ {
+ get
+ {
+ return "atari 2600";
+ }
+ }
+
+ public Atari2600Game(string path, bool ignoreEmptyConfig = false)
+ : base(path, ignoreEmptyConfig)
+ {
+ }
+ }
+}
+
diff --git a/Apps/FdsGame.cs b/Apps/FdsGame.cs
index 1a32ed39..acb656c1 100644
--- a/Apps/FdsGame.cs
+++ b/Apps/FdsGame.cs
@@ -41,7 +41,7 @@ namespace com.clusterrr.hakchi_gui
Args = Args; // To update exec path if need
}
- public static FdsGame Import(string fdsFileName, byte[] rawRomData = null)
+ public static FdsGame Import(string fdsFileName, string sourceFileName, byte[] rawRomData = null)
{
if (rawRomData == null)
rawRomData = File.ReadAllBytes(fdsFileName);
@@ -63,7 +63,7 @@ namespace com.clusterrr.hakchi_gui
game.Name = Regex.Replace(game.Name, @" ?\(.*?\)", string.Empty).Trim();
game.Name = Regex.Replace(game.Name, @" ?\[.*?\]", string.Empty).Trim();
game.Name = game.Name.Replace("_", " ").Replace(" ", " ").Trim();
- game.FindCover(fdsFileName, Resources.blank_fds, crc32);
+ game.FindCover(fdsFileName, sourceFileName, Resources.blank_fds, crc32);
game.Args = DefaultArgs;
game.Save();
return game;
diff --git a/Apps/NesGame.cs b/Apps/NesGame.cs
index 187cc89c..35a814d5 100644
--- a/Apps/NesGame.cs
+++ b/Apps/NesGame.cs
@@ -76,7 +76,7 @@ namespace com.clusterrr.hakchi_gui
Args = Args; // To update exec path if need
}
- public static NesMiniApplication Import(string nesFileName, bool? ignoreMapper, ref bool? needPatch, NeedPatchDelegate needPatchCallback = null, Form parentForm = null, byte[] rawRomData = null)
+ public static NesMiniApplication Import(string nesFileName, string sourceFileName, bool? ignoreMapper, ref bool? needPatch, NeedPatchDelegate needPatchCallback = null, Form parentForm = null, byte[] rawRomData = null)
{
NesFile nesFile;
try
@@ -88,14 +88,14 @@ namespace com.clusterrr.hakchi_gui
}
catch
{
- return NesMiniApplication.Import(nesFileName, rawRomData);
+ return NesMiniApplication.Import(nesFileName, sourceFileName, rawRomData);
}
nesFile.CorrectRom();
var crc32 = nesFile.CRC32;
var code = GenerateCode(crc32, Prefix);
var gamePath = Path.Combine(GamesDirectory, code);
var nesPath = Path.Combine(gamePath, code + ".nes");
- var patchesDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "patches");
+ var patchesDirectory = Path.Combine(Program.BaseDirectoryExternal, "patches");
Directory.CreateDirectory(patchesDirectory);
Directory.CreateDirectory(gamePath);
var patches = Directory.GetFiles(patchesDirectory, string.Format("{0:X8}*.ips", crc32), SearchOption.AllDirectories);
@@ -151,7 +151,7 @@ namespace com.clusterrr.hakchi_gui
game.Name = Regex.Replace(game.Name, @" ?\(.*?\)", string.Empty).Trim();
game.Name = Regex.Replace(game.Name, @" ?\[.*?\]", string.Empty).Trim();
game.Name = game.Name.Replace("_", " ").Replace(" ", " ");
- game.FindCover(nesFileName, (game.region == "Japan") ? Resources.blank_jp : Resources.blank_nes, crc32);
+ game.FindCover(nesFileName, sourceFileName, (game.region == "Japan") ? Resources.blank_jp : Resources.blank_nes, crc32);
game.Args = DefaultArgs;
game.Save();
return game;
@@ -176,13 +176,16 @@ namespace com.clusterrr.hakchi_gui
return false;
}
- public override void Save()
+ public override bool Save()
{
- if (!string.IsNullOrEmpty(gameGenie))
- File.WriteAllText(GameGeniePath, gameGenie);
- else
- File.Delete(GameGeniePath);
- base.Save();
+ if (this.hasUnsavedChanges)
+ {
+ if (!string.IsNullOrEmpty(gameGenie))
+ File.WriteAllText(GameGeniePath, gameGenie);
+ else
+ File.Delete(GameGeniePath);
+ }
+ return base.Save() || this.hasUnsavedChanges;
}
public void ApplyGameGenie()
@@ -212,7 +215,7 @@ namespace com.clusterrr.hakchi_gui
{
try
{
- var xmlDataBasePath = Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "data"), "nescarts.xml");
+ var xmlDataBasePath = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "data"), "nescarts.xml");
Debug.WriteLine("Loading " + xmlDataBasePath);
if (File.Exists(xmlDataBasePath))
diff --git a/Apps/NesMiniApplication.cs b/Apps/NesMiniApplication.cs
index 2f2f9c8f..3b0ab9bf 100644
--- a/Apps/NesMiniApplication.cs
+++ b/Apps/NesMiniApplication.cs
@@ -1,6 +1,8 @@
using com.clusterrr.hakchi_gui.Properties;
using SevenZip;
using System;
+using System.Collections;
+using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
@@ -12,7 +14,39 @@ namespace com.clusterrr.hakchi_gui
{
public class NesMiniApplication : INesMenuElement
{
- public readonly static string GamesDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "games");
+ public static string GamesDirectory
+ {
+ get
+ {
+ switch (ConfigIni.ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ return Path.Combine(Program.BaseDirectoryExternal, "games");
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ return Path.Combine(Program.BaseDirectoryExternal, "games_snes");
+ }
+ }
+ }
+ public static string GamesCloverPath
+ {
+ get
+ {
+ switch (ConfigIni.ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ return "/usr/share/games/nes/kachikachi";
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ return "/usr/share/games";
+ }
+ }
+ }
+
const string DefaultReleaseDate = "1900-01-01";
const string DefaultPublisher = "UNKNOWN";
@@ -126,7 +160,7 @@ namespace com.clusterrr.hakchi_gui
return new NesMiniApplication(path, ignoreEmptyConfig);
}
- public static NesMiniApplication Import(string fileName, byte[] rawRomData = null)
+ public static NesMiniApplication Import(string fileName, string sourceFile = null, byte[] rawRomData = null)
{
var extension = Path.GetExtension(fileName).ToLower();
if (extension == ".desktop")
@@ -136,17 +170,19 @@ namespace com.clusterrr.hakchi_gui
var appinfo = AppTypeCollection.GetAppByExtension(extension);
if (appinfo != null)
{
- var import = appinfo.Class.GetMethod("Import", new Type[] { typeof(string), typeof(byte[]) });
+ var import = appinfo.Class.GetMethod("Import", new Type[] { typeof(string), typeof(string), typeof(byte[]) });
if (import != null)
- return (NesMiniApplication)import.Invoke(null, new object[] { fileName, rawRomData });
+ return (NesMiniApplication)import.Invoke(null, new object[] { fileName, sourceFile, rawRomData });
else
- return Import(fileName, rawRomData, appinfo.Prefix, appinfo.DefaultApp, appinfo.DefaultCover, ConfigIni.Compress);
+ return Import(fileName, sourceFile, rawRomData, appinfo.Prefix,
+ appinfo.DefaultApps.Length > 0 ? appinfo.DefaultApps[0] : DefaultApp,
+ appinfo.DefaultCover, ConfigIni.Compress);
}
string application = extension.Length > 2 ? ("/bin/" + extension.Substring(1)) : DefaultApp;
- return Import(fileName, rawRomData, DefaultPrefix, application, DefaultCover);
+ return Import(fileName, sourceFile, rawRomData, DefaultPrefix, application, DefaultCover);
}
- private static NesMiniApplication Import(string fileName, byte[] rawRomData, char prefixCode, string application, Image defaultCover, bool compress = false)
+ private static NesMiniApplication Import(string fileName, string sourceFile, byte[] rawRomData, char prefixCode, string application, Image defaultCover, bool compress = false)
{
var crc32 = CRC32(rawRomData);
var code = GenerateCode(crc32, prefixCode);
@@ -191,7 +227,7 @@ namespace com.clusterrr.hakchi_gui
game.Name = Regex.Replace(game.Name, @" ?\(.*?\)", string.Empty).Trim();
game.Name = Regex.Replace(game.Name, @" ?\[.*?\]", string.Empty).Trim();
game.Name = game.Name.Replace("_", " ").Replace(" ", " ").Trim();
- game.FindCover(fileName, defaultCover, crc32);
+ game.FindCover(fileName, sourceFile, defaultCover, crc32);
game.Command = string.Format("{0} /usr/share/games/nes/kachikachi/{1}/{2}", application, code, romName);
game.Save();
return NesMiniApplication.FromDirectory(gamePath);
@@ -269,9 +305,9 @@ namespace com.clusterrr.hakchi_gui
hasUnsavedChanges = false;
}
- public virtual void Save()
+ public virtual bool Save()
{
- if (!hasUnsavedChanges) return;
+ if (!hasUnsavedChanges) return false;
Debug.WriteLine(string.Format("Saving application \"{0}\" as {1}", Name, Code));
Name = Regex.Replace(Name, @"'(\d)", @"`$1"); // Apostrophe + any number in game name crashes whole system. What. The. Fuck?
File.WriteAllText(ConfigPath, string.Format(
@@ -296,6 +332,7 @@ namespace com.clusterrr.hakchi_gui
(Name ?? Code).ToLower(), (Publisher ?? DefaultPublisher).ToUpper(),
Simultaneous ? 1 : 0));
hasUnsavedChanges = false;
+ return true;
}
public override string ToString()
@@ -353,19 +390,28 @@ namespace com.clusterrr.hakchi_gui
outImageSmall.Save(SmallIconPath, ImageFormat.Png);
}
- internal bool FindCover(string romFileName, Image defaultCover, uint crc32 = 0)
+ internal bool FindCover(string romFileName, string sourceFileName, Image defaultCover, uint crc32 = 0)
{
// Trying to find cover file
Image cover = null;
if (!string.IsNullOrEmpty(romFileName))
{
+ if (!string.IsNullOrEmpty(sourceFileName) && sourceFileName != romFileName)
+ {
+ var archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
+ if (File.Exists(archImagePath))
+ cover = LoadBitmap(archImagePath);
+ archImagePath = Path.Combine(Path.GetDirectoryName(sourceFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
+ if (File.Exists(archImagePath))
+ cover = LoadBitmap(archImagePath);
+ }
var imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".png");
if (File.Exists(imagePath))
cover = LoadBitmap(imagePath);
imagePath = Path.Combine(Path.GetDirectoryName(romFileName), Path.GetFileNameWithoutExtension(romFileName) + ".jpg");
if (File.Exists(imagePath))
cover = LoadBitmap(imagePath);
- var artDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "art");
+ var artDirectory = Path.Combine(Program.BaseDirectoryExternal, "art");
Directory.CreateDirectory(artDirectory);
imagePath = Path.Combine(artDirectory, Path.GetFileNameWithoutExtension(romFileName) + ".png");
if (File.Exists(imagePath))
@@ -521,7 +567,7 @@ namespace com.clusterrr.hakchi_gui
private static byte[] Compress(string filename)
{
- SevenZipExtractor.SetLibraryPath(Path.Combine(MainForm.BaseDirectory, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
var arch = new MemoryStream();
var compressor = new SevenZipCompressor();
compressor.CompressionLevel = CompressionLevel.High;
@@ -531,6 +577,19 @@ namespace com.clusterrr.hakchi_gui
arch.Read(result, 0, result.Length);
return result;
}
+
+ public class NesMiniAppEqualityComparer : IEqualityComparer<NesMiniApplication>
+ {
+ public bool Equals(NesMiniApplication x, NesMiniApplication y)
+ {
+ return x.Code == y.Code;
+ }
+
+ public int GetHashCode(NesMiniApplication obj)
+ {
+ return obj.Code.GetHashCode();
+ }
+ }
}
}
diff --git a/Apps/SnesGame.cs b/Apps/SnesGame.cs
index c5048786..2ff7cb99 100644
--- a/Apps/SnesGame.cs
+++ b/Apps/SnesGame.cs
@@ -10,7 +10,7 @@ namespace com.clusterrr.hakchi_gui
{
get
{
- return "(snes | super famicom)";
+ return "(snes | super nintendo)";
}
}
diff --git a/Clovershell/ClovershellConnection.cs b/Clovershell/ClovershellConnection.cs
new file mode 100644
index 00000000..1ca67883
--- /dev/null
+++ b/Clovershell/ClovershellConnection.cs
@@ -0,0 +1,676 @@
+using LibUsbDotNet;
+using LibUsbDotNet.Main;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+
+namespace com.clusterrr.clovershell
+{
+ public class ClovershellConnection : IDisposable
+ {
+ const UInt16 vid = 0x1F3A;
+ const UInt16 pid = 0xEFE8;
+ UsbDevice device = null;
+ UsbEndpointReader epReader = null;
+ UsbEndpointWriter epWriter = null;
+ Thread mainThread = null;
+ Thread shellListenerThread = null;
+ bool online = false;
+ ushort shellPort = 1023;
+ Queue<ShellConnection> pendingShellConnections = new Queue<ShellConnection>();
+ List<ExecConnection> pendingExecConnections = new List<ExecConnection>();
+ internal ShellConnection[] shellConnections = new ShellConnection[256];
+ internal ExecConnection[] execConnections = new ExecConnection[256];
+ bool enabled = false;
+ bool autoreconnect = false;
+ byte[] lastPingResponse = null;
+ DateTime lastAliveTime;
+ public delegate void OnClovershellConnected();
+ public event OnClovershellConnected OnConnected = delegate { };
+
+ internal enum ClovershellCommand
+ {
+ CMD_PING = 0,
+ CMD_PONG = 1,
+ CMD_SHELL_NEW_REQ = 2,
+ CMD_SHELL_NEW_RESP = 3,
+ CMD_SHELL_IN = 4,
+ CMD_SHELL_OUT = 5,
+ CMD_SHELL_CLOSED = 6,
+ CMD_SHELL_KILL = 7,
+ CMD_SHELL_KILL_ALL = 8,
+ CMD_EXEC_NEW_REQ = 9,
+ CMD_EXEC_NEW_RESP = 10,
+ CMD_EXEC_PID = 11,
+ CMD_EXEC_STDIN = 12,
+ CMD_EXEC_STDOUT = 13,
+ CMD_EXEC_STDERR = 14,
+ CMD_EXEC_RESULT = 15,
+ CMD_EXEC_KILL = 16,
+ CMD_EXEC_KILL_ALL = 17,
+ CMD_EXEC_STDIN_FLOW_STAT = 18,
+ CMD_EXEC_STDIN_FLOW_STAT_REQ = 19
+ }
+
+ public bool Enabled
+ {
+ get { return enabled; }
+ set
+ {
+ if (enabled == value) return;
+ enabled = value;
+ if (value)
+ {
+ mainThread = new Thread(mainThreadLoop);
+ mainThread.Start();
+ }
+ else
+ {
+ if (mainThread != null)
+ mainThread.Abort();
+ mainThread = null;
+ online = false;
+ if (device != null)
+ device.Close();
+ device = null;
+ if (epReader != null)
+ epReader.Dispose();
+ epReader = null;
+ if (epWriter != null)
+ epWriter.Dispose();
+ epWriter = null;
+ }
+ }
+ }
+
+ public bool AutoReconnect
+ {
+ get { return autoreconnect; }
+ set { autoreconnect = value; }
+ }
+
+ public ushort ShellPort
+ {
+ get { return shellPort; }
+ set
+ {
+ shellPort = value;
+ if (ShellEnabled)
+ {
+ ShellEnabled = false;
+ ShellEnabled = true;
+ }
+ }
+ }
+ bool shellEnabled = false;
+ public bool ShellEnabled
+ {
+ get { return shellEnabled; }
+ set
+ {
+ if (shellEnabled == value) return;
+ if (value)
+ {
+ var server = new TcpListener(IPAddress.Any, shellPort);
+ Debug.WriteLine(string.Format("Listening port {0}", shellPort));
+ server.Start();
+ shellListenerThread = new Thread(shellListenerThreadLoop);
+ shellListenerThread.Start(server);
+ }
+ else
+ {
+ shellListenerThread.Abort();
+ shellListenerThread = null;
+ }
+ for (var i = 0; i < shellConnections.Length; i++)
+ if (shellConnections[i] != null)
+ {
+ shellConnections[i].Dispose();
+ shellConnections[i] = null;
+ }
+ foreach (var pending in pendingShellConnections)
+ pending.Dispose();
+ pendingShellConnections.Clear();
+ shellEnabled = value;
+ }
+ }
+
+ public bool IsOnline
+ {
+ get { return online; }
+ }
+
+ void dropAll()
+ {
+ writeUsb(ClovershellCommand.CMD_SHELL_KILL_ALL, 0);
+ writeUsb(ClovershellCommand.CMD_EXEC_KILL_ALL, 0);
+ for (var i = 0; i < shellConnections.Length; i++)
+ if (shellConnections[i] != null)
+ {
+ shellConnections[i].Dispose();
+ shellConnections[i] = null;
+ }
+ foreach (var pending in pendingShellConnections)
+ pending.Dispose();
+ pendingShellConnections.Clear();
+ for (int i = 0; i < execConnections.Length; i++)
+ {
+ if (execConnections[i] != null)
+ {
+ execConnections[i].Dispose();
+ execConnections[i] = null;
+ }
+ }
+ pendingExecConnections.Clear();
+ }
+
+ void mainThreadLoop()
+ {
+ try
+ {
+ while (enabled)
+ {
+ online = false;
+ //Debug.WriteLine("Waiting for clovershell");
+ while (enabled)
+ {
+ try
+ {
+ var devices = UsbDevice.AllDevices;
+ device = null;
+ foreach (UsbRegistry regDevice in devices)
+ {
+ if (regDevice.Vid == vid && regDevice.Pid == pid)
+ {
+ regDevice.Open(out device);
+ break;
+ }
+ }
+ //device = USBDevice.GetSingleDevice(vid, pid);
+ if (device == null) break;
+ IUsbDevice wholeUsbDevice = device as IUsbDevice;
+ if (!ReferenceEquals(wholeUsbDevice, null))
+ {
+ // This is a "whole" USB device. Before it can be used,
+ // the desired configuration and interface must be selected.
+
+ // Select config #1
+ wholeUsbDevice.SetConfiguration(1);
+
+ // Claim interface #0.
+ wholeUsbDevice.ClaimInterface(0);
+ }
+
+ int inEndp = -1;
+ int outEndp = -1;
+ int inMax = 0;
+ int outMax = 0;
+ foreach (var config in device.Configs)
+ foreach (var @interface in config.InterfaceInfoList)
+ foreach (var endp in @interface.EndpointInfoList)
+ {
+
+ if ((endp.Descriptor.EndpointID & 0x80) != 0)
+ {
+ inEndp = endp.Descriptor.EndpointID;
+ inMax = endp.Descriptor.MaxPacketSize;
+ //Debug.WriteLine("IN endpoint found: " + inEndp);
+ //Debug.WriteLine("IN endpoint maxsize: " + inMax);
+ }
+ else
+ {
+ outEndp = endp.Descriptor.EndpointID;
+ outMax = endp.Descriptor.MaxPacketSize;
+ //Debug.WriteLine("OUT endpoint found: " + outEndp);
+ //Debug.WriteLine("OUT endpoint maxsize: " + outMax);
+ }
+ }
+ if (inEndp != 0x81 || outEndp != 0x01)
+ break;
+ epReader = device.OpenEndpointReader((ReadEndpointID)inEndp, 65536);
+ epWriter = device.OpenEndpointWriter((WriteEndpointID)outEndp);
+ Debug.WriteLine("clovershell connected");
+ // Kill all other sessions and drop all output
+ killAll();
+ var body = new byte[65536];
+ int len;
+ while (epReader.Read(body, 50, out len) == ErrorCode.Ok) ;
+ epReader.ReadBufferSize = 65536;
+ epReader.DataReceived += epReader_DataReceived;
+ epReader.ReadThreadPriority = ThreadPriority.AboveNormal;
+ epReader.DataReceivedEnabled = true;
+ lastAliveTime = DateTime.Now;
+ online = true;
+ OnConnected();
+ while (device.mUsbRegistry.IsAlive)
+ {
+ Thread.Sleep(100);
+ if ((IdleTime.TotalSeconds >= 10) && (Ping() < 0))
+ throw new ClovershellException("no answer from device");
+ }
+ break;
+ }
+ catch (ThreadAbortException)
+ {
+ return;
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ break;
+ }
+ }
+ if (online) Debug.WriteLine("clovershell disconnected");
+ online = false;
+ if (device != null)
+ device.Close();
+ device = null;
+ if (epReader != null)
+ epReader.Dispose();
+ epReader = null;
+ if (epWriter != null)
+ epWriter.Dispose();
+ epWriter = null;
+ if (!autoreconnect) Enabled = false;
+ Thread.Sleep(1000);
+ }
+ }
+ catch (ThreadAbortException)
+ {
+ return;
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine("Critical error: " + ex.Message + ex.StackTrace);
+ }
+ }
+
+ public void Connect()
+ {
+ if (Enabled) return;
+ Enabled = true;
+ while (Enabled && !online)
+ {
+ Thread.Sleep(50);
+ }
+ if (!online) throw new ClovershellException("no clovershell connection, make sure your NES Mini connected, turned on and clovershell mod installed");
+ }
+
+ public void Disconnect()
+ {
+ try
+ {
+ if (device != null)
+ device.Close();
+ }
+ catch { }
+ }
+
+ void epReader_DataReceived(object sender, EndpointDataEventArgs e)
+ {
+#if VERY_DEBUG
+ Debug.WriteLine("<-[CLV] " + BitConverter.ToString(e.Buffer, 0, e.Count));
+#endif
+ int pos = 0;
+ int count = e.Count;
+ while (count > 0)
+ {
+ var cmd = (ClovershellCommand)e.Buffer[pos];
+ var arg = e.Buffer[pos + 1];
+ var len = e.Buffer[pos + 2] | (e.Buffer[pos + 3] * 0x100);
+ proceedPacket(cmd, arg, e.Buffer, pos + 4, len);
+ count -= len + 4;
+ pos += len + 4;
+ }
+ }
+
+ void proceedPacket(ClovershellCommand cmd, byte arg, byte[] data, int pos, int len)
+ {
+ if (len < 0)
+ len = data.Length;
+#if VERY_DEBUG
+ Debug.WriteLine(string.Format("<-[CLV] cmd={0}, arg={1:X2}, len={2}, data={3}", cmd, arg, len, BitConverter.ToString(data, pos, len)));
+#endif
+ lastAliveTime = DateTime.Now;
+ switch (cmd)
+ {
+ case ClovershellCommand.CMD_PONG:
+ lastPingResponse = new byte[len];
+ Array.Copy(data, pos, lastPingResponse, 0, len);
+ break;
+ case ClovershellCommand.CMD_SHELL_NEW_RESP:
+ acceptShellConnection(arg);
+ break;
+ case ClovershellCommand.CMD_SHELL_OUT:
+ shellOut(arg, data, pos, len);
+ break;
+ case ClovershellCommand.CMD_SHELL_CLOSED:
+ shellClosed(arg);
+ break;
+ case ClovershellCommand.CMD_EXEC_NEW_RESP:
+ newExecConnection(arg, Encoding.UTF8.GetString(data, pos, len));
+ break;
+ case ClovershellCommand.CMD_EXEC_STDOUT:
+ execOut(arg, data, pos, len);
+ break;
+ case ClovershellCommand.CMD_EXEC_STDERR:
+ execErr(arg, data, pos, len);
+ break;
+ case ClovershellCommand.CMD_EXEC_RESULT:
+ execResult(arg, data, pos, len);
+ break;
+ case ClovershellCommand.CMD_EXEC_STDIN_FLOW_STAT:
+ execStdinStat(arg, data, pos, len);
+ break;
+ }
+ }
+
+ void killAll()
+ {
+ int tLen;
+ var buff = new byte[4];
+ buff[0] = (byte)ClovershellCommand.CMD_SHELL_KILL_ALL;
+ buff[1] = 0;
+ buff[2] = 0;
+ buff[3] = 0;
+ var r = epWriter.Write(buff, 0, buff.Length, 1000, out tLen);
+ if (tLen != buff.Length)
+ throw new ClovershellException("kill all shell: write error - " + r.ToString());
+ buff[0] = (byte)ClovershellCommand.CMD_EXEC_KILL_ALL;
+ buff[1] = 0;
+ buff[2] = 0;
+ buff[3] = 0;
+ r= epWriter.Write(buff, 0, buff.Length, 1000, out tLen);
+ if (tLen != buff.Length)
+ throw new ClovershellException("kill all exec: write error - "+r.ToString());
+ }
+
+ internal void writeUsb(ClovershellCommand cmd, byte arg, byte[] data = null, int pos = 0, int l = -1)
+ {
+ if (!IsOnline) throw new ClovershellException("NES Mini is offline");
+ if (epWriter == null) return;
+ lock (epWriter)
+ {
+ var len = (l >= 0) ? l : ((data != null) ? (data.Length - pos) : 0);
+#if VERY_DEBUG
+ Debug.WriteLine(string.Format("->[CLV] cmd={0}, arg={1:X2}, len={2}, data={3}", cmd, arg, len, data != null ? BitConverter.ToString(data, pos, len) : ""));
+#endif
+ var buff = new byte[len + 4];
+ buff[0] = (byte)cmd;
+ buff[1] = arg;
+ buff[2] = (byte)(len & 0xFF);
+ buff[3] = (byte)((len >> 8) & 0xFF);
+ if (data != null)
+ Array.Copy(data, pos, buff, 4, len);
+ int tLen = 0;
+ pos = 0;
+ len += 4;
+ int repeats = 0;
+ while (pos < len)
+ {
+ var res = epWriter.Write(buff, pos, len, 1000, out tLen);
+#if VERY_DEBUG
+ Debug.WriteLine("->[CLV] " + BitConverter.ToString(buff, pos, len));
+#endif
+ pos += tLen;
+ len -= tLen;
+ if (res != ErrorCode.Ok)
+ {
+ if (repeats >= 10) break;
+ Debug.WriteLine("write error: " + res);
+ repeats++;
+ Thread.Sleep(100);
+ }
+ }
+ if (len > 0)
+ throw new ClovershellException("write error");
+ }
+ }
+
+ void shellListenerThreadLoop(object o)
+ {
+ var server = o as TcpListener;
+ try
+ {
+ while (true)
+ {
+ while (!server.Pending()) Thread.Sleep(100);
+ var connection = new ShellConnection(this, server.AcceptSocket());
+ Debug.WriteLine("Shell client connected");
+ try
+ {
+ if (!online) throw new ClovershellException("NES Mini is offline");
+ pendingShellConnections.Enqueue(connection);
+ writeUsb(ClovershellCommand.CMD_SHELL_NEW_REQ, 0);
+ int t = 0;
+ while (connection.id < 0)
+ {
+ Thread.Sleep(50);
+ t++;
+ if (t >= 50)
+ throw new ClovershellException("shell request timeout");
+ }
+ }
+ catch (ThreadAbortException)
+ {
+ return;
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ if (connection.socket.Connected)
+ connection.socket.Send(Encoding.ASCII.GetBytes("Error: " + ex.Message));
+ connection.Dispose();
+ }
+ }
+ }
+ catch (ThreadAbortException)
+ {
+ return;
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ }
+ finally
+ {
+ server.Stop();
+ }
+ shellEnabled = false;
+ }
+
+ void acceptShellConnection(byte arg)
+ {
+ try
+ {
+ var connection = pendingShellConnections.Dequeue();
+ if (connection == null) return;
+ connection.id = arg;
+ shellConnections[connection.id] = connection;
+ //Debug.WriteLine(string.Format("Shell started, id={0}", connection.id));
+ connection.shellConnectionThread = new Thread(connection.shellConnectionLoop);
+ connection.shellConnectionThread.Start();
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine("shell error: " + ex.Message + ex.StackTrace);
+ }
+ }
+
+ void newExecConnection(byte arg, string command)
+ {
+ try
+ {
+ var connection = (from c in pendingExecConnections where c.command == command select c).Last();
+ pendingExecConnections.Remove(connection);
+ //Debug.WriteLine("Executing: " + command);
+ connection.id = arg;
+ execConnections[arg] = connection;
+ if (connection.stdin != null)
+ {
+ connection.stdinThread = new Thread(connection.stdinLoop);
+ connection.stdinThread.Start();
+ }
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine("exec error: " + ex.Message);
+ }
+ }
+
+ void execOut(byte arg, byte[] data, int pos, int len)
+ {
+ var c = execConnections[arg];
+ if (c == null) return;
+ if (c.stdout != null)
+ c.stdout.Write(data, pos, len);
+ c.LastDataTime = DateTime.Now;
+ //Debug.WriteLine("stdout: " + Encoding.UTF8.GetString(data, pos, len));
+ if (len == 0)
+ c.stdoutFinished = true;
+ }
+
+ void execErr(byte arg, byte[] data, int pos, int len)
+ {
+ var c = execConnections[arg];
+ if (c == null) return;
+ if (c.stderr != null)
+ c.stderr.Write(data, pos, len);
+#if DEBUG
+ //Debug.WriteLine("stderr: " + Encoding.UTF8.GetString(data, pos, len));
+#endif
+ c.LastDataTime = DateTime.Now;
+ if (len == 0)
+ c.stderrFinished = true;
+ }
+
+ void execResult(byte arg, byte[] data, int pos, int len)
+ {
+ var c = execConnections[arg];
+ if (c == null) return;
+ c.result = data[pos];
+ Debug.WriteLine(string.Format("{0} # exit code: {1}", c.command, c.result));
+ c.finished = true;
+ }
+
+ void execStdinStat(byte arg, byte[] data, int pos, int len)
+ {
+ var c = execConnections[arg];
+ if (c == null) return;
+ c.stdinQueue = data[pos] | data[pos + 1] * 0x100 | data[pos + 2] * 0x10000 | data[pos + 3] * 0x1000000;
+ c.stdinPipeSize = data[pos + 4] | data[pos + 5] * 0x100 | data[pos + 6] * 0x10000 | data[pos + 7] * 0x1000000;
+ }
+
+
+ void shellOut(byte id, byte[] data, int pos, int len)
+ {
+ try
+ {
+ if (shellConnections[id] == null) return;
+ shellConnections[id].Send(data, pos, len);
+ }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine("Socket write error: " + ex.Message + ex.StackTrace);
+ }
+ }
+
+ void shellClosed(byte id)
+ {
+ if (shellConnections[id] == null) return;
+ shellConnections[id].Dispose();
+ shellConnections[id] = null;
+ }
+
+ public void Dispose()
+ {
+ Enabled = false;
+ ShellEnabled = false;
+ }
+
+ public TimeSpan IdleTime
+ {
+ get { return DateTime.Now - lastAliveTime; }
+ }
+ public int Ping()
+ {
+ if (!IsOnline) throw new ClovershellException("NES Mini is offline");
+ var rnd = new Random();
+ var data = new byte[4];
+ rnd.NextBytes(data);
+ lastPingResponse = null;
+ var start = DateTime.Now;
+ writeUsb(ClovershellCommand.CMD_PING, 0, data);
+ int t = 100;
+ while ((lastPingResponse == null || !lastPingResponse.SequenceEqual(data)) && (t > 0))
+ {
+ Thread.Sleep(10);
+ t--;
+ }
+ if (t <= 0) return -1;
+ return (int)(DateTime.Now - start).TotalMilliseconds;
+ }
+
+ public string ExecuteSimple(string command, int timeout = 1500, bool throwOnNonZero = false)
+ {
+ var stdOut = new MemoryStream();
+ Execute(command, null, stdOut, null, timeout, throwOnNonZero);
+ var buff = stdOut.ToArray();
+ return Encoding.UTF8.GetString(buff).Trim();
+ }
+
+ public int Execute(string command, Stream stdin = null, Stream stdout = null, Stream stderr = null, int timeout = 0, bool throwOnNonZero = false)
+ {
+ if (!IsOnline) throw new ClovershellException("NES Mini is offline");
+ if (throwOnNonZero && stderr == null)
+ stderr = new MemoryStream();
+ using (var c = new ExecConnection(this, command, stdin, stdout, stderr))
+ {
+ try
+ {
+ pendingExecConnections.Add(c);
+ writeUsb(ClovershellCommand.CMD_EXEC_NEW_REQ, 0, Encoding.UTF8.GetBytes(command));
+ int t = 0;
+ while (c.id < 0)
+ {
+ Thread.Sleep(50);
+ t++;
+ if (t >= 50)
+ throw new ClovershellException("exec request timeout");
+ }
+ while (!c.finished)
+ {
+ Thread.Sleep(50);
+ if (!IsOnline)
+ throw new ClovershellException("device goes offline");
+ if (!c.finished && timeout > 0 && (DateTime.Now - c.LastDataTime).TotalMilliseconds > timeout)
+ throw new ClovershellException("clovershell read timeout");
+ }
+ if (throwOnNonZero && c.result != 0)
+ {
+ string errText = "";
+ if (stderr is MemoryStream)
+ {
+ stderr.Seek(0, SeekOrigin.Begin);
+ errText = ": " + new StreamReader(stderr).ReadToEnd();
+ }
+ throw new ClovershellException(string.Format("shell command \"{0}\" returned exit code {1}{2}", command, c.result, errText));
+ }
+ return c.result;
+ }
+ finally
+ {
+ if (c.id >= 0)
+ execConnections[c.id] = null;
+ }
+ }
+ }
+ }
+}
+
diff --git a/Clovershell/ClovershellException.cs b/Clovershell/ClovershellException.cs
new file mode 100644
index 00000000..e6213b88
--- /dev/null
+++ b/Clovershell/ClovershellException.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace com.clusterrr.clovershell
+{
+ public class ClovershellException : Exception
+ {
+ public ClovershellException(string message) : base(message) { }
+ }
+}
diff --git a/Clovershell/ExecConnection.cs b/Clovershell/ExecConnection.cs
new file mode 100644
index 00000000..2e682812
--- /dev/null
+++ b/Clovershell/ExecConnection.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading;
+
+namespace com.clusterrr.clovershell
+{
+ internal class ExecConnection : IDisposable
+ {
+ internal readonly ClovershellConnection connection;
+ internal readonly string command;
+ internal Stream stdin;
+ internal Int32 stdinPipeSize;
+ internal Int32 stdinQueue;
+ internal Stream stdout;
+ internal Stream stderr;
+ internal int id;
+ internal bool finished;
+ internal int result;
+ internal bool stdinFinished;
+ internal bool stdoutFinished;
+ internal bool stderrFinished;
+ internal Thread stdinThread;
+ internal DateTime LastDataTime;
+
+ public ExecConnection(ClovershellConnection connection, string command, Stream stdin, Stream stdout, Stream stderr)
+ {
+ this.connection = connection;
+ this.command = command;
+ id = -1;
+ stdinPipeSize = 0;
+ stdinQueue = 0;
+ this.stdin = stdin;
+ this.stdout = stdout;
+ this.stderr = stderr;
+ finished = false;
+ stdinFinished = false;
+ stdoutFinished = false;
+ stderrFinished = false;
+ LastDataTime = DateTime.Now;
+ }
+
+ public void stdinLoop()
+ {
+ try
+ {
+ if (stdin == null) return;
+ if (stdin.CanSeek)
+ stdin.Seek(0, SeekOrigin.Begin);
+ var buffer = new byte[8 * 1024];
+ int l;
+ while (connection.IsOnline)
+ {
+ l = stdin.Read(buffer, 0, buffer.Length);
+ if (l > 0)
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_EXEC_STDIN, (byte)id, buffer, 0, l);
+ else
+ break;
+ LastDataTime = DateTime.Now;
+ if (stdinQueue > 32 * 1024 && connection.IsOnline)
+ {
+ Debug.WriteLine(string.Format("queue: {0} / {1}, {2}MB / {3}MB ({4}%)",
+ stdinQueue, stdinPipeSize, stdin.Position / 1024 / 1024, stdin.Length / 1024 / 1024, 100 * stdin.Position / stdin.Length));
+ while (stdinQueue > 16 * 1024)
+ {
+ Thread.Sleep(50);
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_EXEC_STDIN_FLOW_STAT_REQ, (byte)id);
+ }
+ }
+ }
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_EXEC_STDIN, (byte)id); // eof
+ if (stdinQueue > 0 && connection.IsOnline)
+ {
+ Thread.Sleep(50);
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_EXEC_STDIN_FLOW_STAT_REQ, (byte)id);
+ }
+ stdinFinished = true;
+ }
+ catch (ThreadAbortException) { }
+ catch (ClovershellException ex)
+ {
+ Debug.WriteLine("stdin error: " + ex.Message + ex.StackTrace);
+ }
+ finally
+ {
+ stdinThread = null;
+ }
+ }
+
+ public void Dispose()
+ {
+ if (stdinThread != null)
+ stdinThread.Abort();
+ }
+ }
+
+}
diff --git a/Clovershell/ShellConnection.cs b/Clovershell/ShellConnection.cs
new file mode 100644
index 00000000..f3833412
--- /dev/null
+++ b/Clovershell/ShellConnection.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+
+namespace com.clusterrr.clovershell
+{
+ internal class ShellConnection : IDisposable
+ {
+ public readonly ClovershellConnection connection;
+ internal Socket socket;
+ internal int id;
+ internal Thread shellConnectionThread;
+
+ public ShellConnection(ClovershellConnection connection, Socket socket)
+ {
+ this.connection = connection;
+ this.socket = socket;
+ id = -1;
+ socket.Send(new byte[] { 0xFF, 0xFD, 0x03 }); // Do Suppress Go Ahead
+ socket.Send(new byte[] { 0xFF, 0xFB, 0x03 }); // Will Suppress Go Ahead
+ socket.Send(new byte[] { 0xFF, 0xFB, 0x01 }); // Will Echo
+ }
+
+ internal void shellConnectionLoop()
+ {
+ try
+ {
+ var buff = new byte[1024];
+ while (socket.Connected)
+ {
+ var l = socket.Receive(buff);
+ if (l > 0)
+ {
+ int start = 0;
+ int pos = 0;
+ do
+ {
+ if ((pos + 1 < l) && (buff[pos] == '\r') && (buff[pos + 1] == '\n')) // New line?
+ {
+ // Hey, dot not send \r\n! I'll cut it to \n
+ buff[pos] = (byte)'\n';
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_SHELL_IN, (byte)id, buff, start, pos - start + 1);
+ pos += 2;
+ start = pos;
+ }
+ else if ((pos + 1 < l) && (buff[pos] == 0xFF)) // Telnet command?
+ {
+ if (buff[pos + 1] == 0xFF) // Or just 0xFF...
+ {
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_SHELL_IN, (byte)id, buff, start, pos - start + 1);
+ pos += 2;
+ start = pos;
+ }
+ else if (pos + 2 < l)
+ {
+ if (pos - start > 0)
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_SHELL_IN, (byte)id, buff, start, pos - start);
+ var cmd = buff[pos + 1]; // Telnet command code
+ var opt = buff[pos + 2]; // Telnet option code
+#if VERY_DEBUG
+ Debug.WriteLine(string.Format("Telnet command: CMD={0:X2} ARG={1:X2}", cmd, opt));
+#endif
+ pos += 3;
+ start = pos;
+ }
+ }
+ else pos++; // No, moving to next character
+ if ((pos == l) && (l - start > 0)) // End of packet
+ {
+ connection.writeUsb(ClovershellConnection.ClovershellCommand.CMD_SHELL_IN, (byte)id, buff, start, l - start);
+ }
+ } while (pos < l);
+ }
+ else
+ break;
+ }
+ }
+ catch (ThreadAbortException)
+ {
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ if (socket.Connected)
+ socket.Send(Encoding.ASCII.GetBytes("Error: " + ex.Message));
+ }
+ finally
+ {
+ shellConnectionThread = null;
+ }
+ Debug.WriteLine(string.Format("Shell client {0} disconnected", id));
+ socket.Close();
+ connection.shellConnections[id] = null;
+ }
+
+ public void Dispose()
+ {
+ if (shellConnectionThread != null)
+ shellConnectionThread.Abort();
+ if (socket != null)
+ socket.Close();
+ socket = null;
+ if (id > 0)
+ connection.shellConnections[id] = null;
+ }
+
+ internal void Send(byte[] data, int pos, int len)
+ {
+ socket.Send(data, pos, len, SocketFlags.None);
+ }
+ }
+
+}
diff --git a/ConfigIni.cs b/ConfigIni.cs
index eebb064f..0f5a5778 100644
--- a/ConfigIni.cs
+++ b/ConfigIni.cs
@@ -8,30 +8,148 @@ namespace com.clusterrr.hakchi_gui
public class ConfigIni
{
public static bool FirstRun = true;
- public static string SelectedGames = "default";
- public static string HiddenGames = "";
- public static bool CustomFlashed = false;
+ public static string SelectedGamesNes = "default";
+ public static string SelectedGamesSnes = "default";
+ public static string HiddenGamesNes = "";
+ public static string HiddenGamesFamicom = "";
+ public static string HiddenGamesSnes = "";
+ public static string HiddenGamesSuperFamicom = "";
+ public static bool CustomFlashedNes = false;
+ public static bool CustomFlashedFamicom = false;
+ public static bool CustomFlashedSnes = false;
+ public static bool CustomFlashedSuperFamicom = false;
public static bool UseFont = true;
public static bool ResetHack = true;
public static bool AutofireHack = false;
public static bool AutofireXYHack = false;
public static bool FcStart = false;
public static byte AntiArmetLevel = 0;
- public static byte ConsoleType = 0;
+ public static MainForm.ConsoleType ConsoleType = MainForm.ConsoleType.NES;
public static byte MaxGamesPerFolder = 30;
- public static NesMenuCollection.SplitStyle FoldersMode = NesMenuCollection.SplitStyle.Auto;
+ public static NesMenuCollection.SplitStyle FoldersMode = NesMenuCollection.SplitStyle.Original_Auto;
public static SelectButtonsForm.NesButtons ResetCombination = SelectButtonsForm.NesButtons.Down | SelectButtonsForm.NesButtons.Select;
public static Dictionary<string, string> Presets = new Dictionary<string, string>();
public static string ExtraCommandLineArguments = "";
public static bool Compress = true;
public const string ConfigDir = "config";
public const string ConfigFile = "config.ini";
+ public static bool FtpServer = false;
+ public static bool TelnetServer = false;
+ public static string Language = "";
+
+ public static bool CustomFlashed
+ {
+ get
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ return CustomFlashedNes;
+ case MainForm.ConsoleType.Famicom:
+ return CustomFlashedFamicom;
+ case MainForm.ConsoleType.SNES:
+ return CustomFlashedSnes;
+ case MainForm.ConsoleType.SuperFamicom:
+ return CustomFlashedSuperFamicom;
+ }
+ }
+ set
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ CustomFlashedNes = value;
+ break;
+ case MainForm.ConsoleType.Famicom:
+ CustomFlashedFamicom = value;
+ break;
+ case MainForm.ConsoleType.SNES:
+ CustomFlashedSnes = value;
+ break;
+ case MainForm.ConsoleType.SuperFamicom:
+ CustomFlashedSuperFamicom = value;
+ break;
+ }
+ }
+ }
+
+ public static string SelectedGames
+ {
+ get
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ return SelectedGamesNes;
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ return SelectedGamesSnes;
+ }
+ }
+ set
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ ConfigIni.SelectedGamesNes = value;
+ break;
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ ConfigIni.SelectedGamesSnes = value;
+ break;
+ }
+ }
+ }
+
+ public static string HiddenGames
+ {
+ get
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ return ConfigIni.HiddenGamesNes;
+ case MainForm.ConsoleType.Famicom:
+ return ConfigIni.HiddenGamesFamicom;
+ case MainForm.ConsoleType.SNES:
+ return ConfigIni.HiddenGamesSnes;
+ case MainForm.ConsoleType.SuperFamicom:
+ return ConfigIni.HiddenGamesSuperFamicom;
+ }
+ }
+ set
+ {
+ switch (ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ ConfigIni.HiddenGamesNes = value;
+ break;
+ case MainForm.ConsoleType.Famicom:
+ ConfigIni.HiddenGamesFamicom = value;
+ break;
+ case MainForm.ConsoleType.SNES:
+ ConfigIni.HiddenGamesSnes = value;
+ break;
+ case MainForm.ConsoleType.SuperFamicom:
+ ConfigIni.HiddenGamesSuperFamicom = value;
+ break;
+ }
+ }
+ }
public static void Load()
{
Debug.WriteLine("Loading config");
- var fileNameOld = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigFile);
- var configFullDir = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigDir);
+ var fileNameOld = Path.Combine(Program.BaseDirectoryExternal, ConfigFile);
+ var configFullDir = Path.Combine(Program.BaseDirectoryExternal, ConfigDir);
var fileName = Path.Combine(configFullDir, ConfigFile);
if (File.Exists(fileNameOld)) // Moving old config to new directory
{
@@ -58,15 +176,38 @@ namespace com.clusterrr.hakchi_gui
param = param.ToLower();
switch (param)
{
+ case "language":
+ Language = value;
+ break;
case "selectedgames":
- SelectedGames = value;
+ SelectedGamesNes = value;
+ break;
+ case "selectedgamessnes":
+ SelectedGamesSnes = value;
break;
case "hiddengames":
- HiddenGames = value;
+ HiddenGamesNes = value;
break;
- case "customflashed":
- CustomFlashed = !value.ToLower().Equals("false");
- FirstRun = false;
+ case "hiddengamesfamicom":
+ HiddenGamesFamicom = value;
+ break;
+ case "hiddengamessnes":
+ HiddenGamesSnes = value;
+ break;
+ case "hiddengamessuperfamicom":
+ HiddenGamesSuperFamicom = value;
+ break;
+ case "customflashednes":
+ CustomFlashedNes = !value.ToLower().Equals("false");
+ break;
+ case "customflashedfamicom":
+ CustomFlashedFamicom = !value.ToLower().Equals("false");
+ break;
+ case "customflashedsnes":
+ CustomFlashedSnes = !value.ToLower().Equals("false");
+ break;
+ case "customflashedsuperfamicom":
+ CustomFlashedSuperFamicom = !value.ToLower().Equals("false");
break;
case "usefont":
UseFont = !value.ToLower().Equals("false");
@@ -91,7 +232,7 @@ namespace com.clusterrr.hakchi_gui
ResetCombination = (SelectButtonsForm.NesButtons)byte.Parse(value);
break;
case "consoletype":
- ConsoleType = byte.Parse(value);
+ ConsoleType = (MainForm.ConsoleType)byte.Parse(value);
break;
case "extracommandlinearguments":
ExtraCommandLineArguments = value;
@@ -108,6 +249,12 @@ namespace com.clusterrr.hakchi_gui
case "compress":
Compress = !value.ToLower().Equals("false");
break;
+ case "ftpserver":
+ FtpServer = !value.ToLower().Equals("false");
+ break;
+ case "telnetserver":
+ TelnetServer = !value.ToLower().Equals("false");
+ break;
}
break;
case "presets":
@@ -123,9 +270,17 @@ namespace com.clusterrr.hakchi_gui
Debug.WriteLine("Saving config");
var configLines = new List<string>();
configLines.Add("[Config]");
- configLines.Add(string.Format("SelectedGames={0}", SelectedGames));
- configLines.Add(string.Format("HiddenGames={0}", HiddenGames));
- configLines.Add(string.Format("CustomFlashed={0}", CustomFlashed));
+ configLines.Add(string.Format("Language={0}", Language));
+ configLines.Add(string.Format("SelectedGames={0}", SelectedGamesNes));
+ configLines.Add(string.Format("SelectedGamesSnes={0}", SelectedGamesSnes));
+ configLines.Add(string.Format("HiddenGames={0}", HiddenGamesNes));
+ configLines.Add(string.Format("HiddenGamesFamicom={0}", HiddenGamesFamicom));
+ configLines.Add(string.Format("HiddenGamesSnes={0}", HiddenGamesSnes));
+ configLines.Add(string.Format("HiddenGamesSuperFamicom={0}", HiddenGamesSuperFamicom));
+ configLines.Add(string.Format("CustomFlashedNes={0}", CustomFlashedNes));
+ configLines.Add(string.Format("CustomFlashedFamicom={0}", CustomFlashedFamicom));
+ configLines.Add(string.Format("CustomFlashedSnes={0}", CustomFlashedSnes));
+ configLines.Add(string.Format("CustomFlashedSuperFamicom={0}", CustomFlashedSuperFamicom));
configLines.Add(string.Format("UseFont={0}", UseFont));
configLines.Add(string.Format("ResetHack={0}", ResetHack));
configLines.Add(string.Format("AutofireHack={0}", AutofireHack));
@@ -133,12 +288,14 @@ namespace com.clusterrr.hakchi_gui
configLines.Add(string.Format("FirstRun={0}", FirstRun));
configLines.Add(string.Format("AntiArmetLevel={0}", AntiArmetLevel));
configLines.Add(string.Format("ResetCombination={0}", (byte)ResetCombination));
- configLines.Add(string.Format("ConsoleType={0}", ConsoleType));
+ configLines.Add(string.Format("ConsoleType={0}", (byte)ConsoleType));
configLines.Add(string.Format("ExtraCommandLineArguments={0}", ExtraCommandLineArguments));
configLines.Add(string.Format("FcStart={0}", FcStart));
configLines.Add(string.Format("FoldersMode={0}", (byte)FoldersMode));
configLines.Add(string.Format("MaxGamesPerFolder={0}", MaxGamesPerFolder));
configLines.Add(string.Format("Compress={0}", Compress));
+ configLines.Add(string.Format("FtpServer={0}", FtpServer));
+ configLines.Add(string.Format("TelnetServer={0}", TelnetServer));
configLines.Add("");
configLines.Add("[Presets]");
@@ -147,10 +304,23 @@ namespace com.clusterrr.hakchi_gui
configLines.Add(string.Format("{0}={1}", preset, Presets[preset]));
}
- var configFullDir = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigDir);
+ var configFullDir = Path.Combine(Program.BaseDirectoryExternal, ConfigDir);
var fileName = Path.Combine(configFullDir, ConfigFile);
Directory.CreateDirectory(configFullDir);
File.WriteAllLines(fileName, configLines.ToArray());
}
+
+ public static Dictionary<string, string> GetConfigDictionary()
+ {
+ var config = new Dictionary<string, string>();
+ config["clovercon_home_combination"] = ConfigIni.ResetHack ? string.Format("0x{0:X2}", (byte)ConfigIni.ResetCombination) : "0xFFFF";
+ config["clovercon_autofire"] = ConfigIni.AutofireHack ? "1" : "0";
+ config["clovercon_autofire_xy"] = ConfigIni.AutofireXYHack ? "1" : "0";
+ config["clovercon_fc_start"] = ConfigIni.FcStart ? "1" : "0";
+ config["fontfix_enabled"] = ConfigIni.UseFont ? "y" : "n";
+ config["disable_armet"] = (ConfigIni.AntiArmetLevel > 0) ? "y" : "n";
+ config["nes_extra_args"] = ConfigIni.ExtraCommandLineArguments;
+ return config;
+ }
}
}
diff --git a/FelLib/Fel.cs b/FelLib/Fel.cs
index 7c195d4d..ca44c35a 100644
--- a/FelLib/Fel.cs
+++ b/FelLib/Fel.cs
@@ -1,4 +1,5 @@
-using MadWizard.WinUSBNet;
+using LibUsbDotNet;
+using LibUsbDotNet.Main;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -8,7 +9,7 @@ using System.Threading;
namespace com.clusterrr.FelLib
{
- public class Fel
+ public class Fel : IDisposable
{
public byte[] Fes1Bin;
byte[] uBootBin;
@@ -16,9 +17,9 @@ namespace com.clusterrr.FelLib
public enum CurrentAction { RunningCommand, ReadingMemory, WritingMemory }
public delegate void OnFelProgress(CurrentAction action, string command);
- USBDevice device = null;
- byte inEndp = 0;
- byte outEndp = 0;
+ UsbDevice device = null;
+ UsbEndpointReader epReader = null;
+ UsbEndpointWriter epWriter = null;
const int ReadTimeout = 1000;
const int WriteTimeout = 1000;
public const int MaxBulkSize = 0x10000;
@@ -28,16 +29,15 @@ namespace com.clusterrr.FelLib
int cmdOffset = -1;
public const UInt32 fes1_base_m = 0x2000;
public const UInt32 dram_base = 0x40000000;
- public const UInt32 flash_mem_base = 0x43800000;
- public const UInt32 flash_mem_size = 0x20;
- public const UInt32 uboot_base_m = 0x47000000u;
- public const UInt32 sector_size = 0x20000;
- public const UInt32 uboot_base_f = 0x100000;
- public const UInt32 kernel_base_f = (sector_size * 0x30);
- public const UInt32 kernel_base_m = flash_mem_base;
- public const UInt32 kernel_max_size = (uboot_base_m - flash_mem_base);
- public const UInt32 kernel_max_flash_size = (sector_size * 0x20);
- const string fastboot = "fastboot_test";
+ public const UInt32 uboot_base_m = dram_base + 0x7000000u;
+ public const UInt32 uboot_base_f = 0x100000u;
+ public const UInt32 sector_size = 0x20000u;
+ public const UInt32 uboot_maxsize_f = (sector_size * 0x10);
+ public const UInt32 kernel_base_f = sector_size * 0x30;
+ public const UInt32 kernel_max_size = sector_size * 0x20;
+ public const UInt32 transfer_base_m = dram_base + 0x7400000u;
+ public const UInt32 transfer_max_size = sector_size * 0x100;
+ const string fastboot = "efex_test";
public byte[] UBootBin
{
@@ -85,65 +85,105 @@ namespace com.clusterrr.FelLib
this.pid = pid;
Close();
Debug.WriteLine("Trying to open device...");
- device = USBDevice.GetSingleDevice(vid, pid);
- if (device == null) throw new FelException("Device with such VID and PID not found");
- Debug.WriteLine("Checking USB endpoints...");
- foreach (var pipe in device.Pipes)
+ var devices = UsbDevice.AllDevices;
+ device = null;
+ foreach (UsbRegistry regDevice in devices)
{
- if (pipe.IsIn)
- {
- inEndp = pipe.Address;
- Debug.WriteLine("IN endpoint found: " + inEndp);
- }
- else
+ if (regDevice.Vid == vid && regDevice.Pid == pid)
{
- outEndp = pipe.Address;
- Debug.WriteLine("Out endpoint found: " + outEndp);
+ regDevice.Open(out device);
+ break;
}
}
- device.Pipes[inEndp].Policy.PipeTransferTimeout = ReadTimeout;
- device.Pipes[outEndp].Policy.PipeTransferTimeout = WriteTimeout;
+ if (device == null) throw new FelException("Device with such VID and PID not found");
+
+ IUsbDevice wholeUsbDevice = device as IUsbDevice;
+ if (!ReferenceEquals(wholeUsbDevice, null))
+ {
+ // This is a "whole" USB device. Before it can be used,
+ // the desired configuration and interface must be selected.
+
+ // Select config #1
+ wholeUsbDevice.SetConfiguration(1);
+
+ // Claim interface #0.
+ wholeUsbDevice.ClaimInterface(0);
+ }
+
+ int inEndp = -1;
+ int outEndp = -1;
+ int inMax = 0;
+ int outMax = 0;
+ Debug.WriteLine("Checking USB endpoints...");
+ foreach (var config in device.Configs)
+ foreach (var @interface in config.InterfaceInfoList)
+ foreach (var endp in @interface.EndpointInfoList)
+ {
+ if ((endp.Descriptor.EndpointID & 0x80) != 0)
+ {
+ inEndp = endp.Descriptor.EndpointID;
+ inMax = endp.Descriptor.MaxPacketSize;
+ Debug.WriteLine("IN endpoint found: " + inEndp);
+ Debug.WriteLine("IN endpoint maxsize: " + inMax);
+ }
+ else
+ {
+ outEndp = endp.Descriptor.EndpointID;
+ outMax = endp.Descriptor.MaxPacketSize;
+ Debug.WriteLine("OUT endpoint found: " + outEndp);
+ Debug.WriteLine("OUT endpoint maxsize: " + outMax);
+ }
+ }
+ if (inEndp != 0x82 || outEndp != 0x01)
+ throw new Exception("Uncorrect FEL device");
+ epReader = device.OpenEndpointReader((ReadEndpointID)inEndp, 65536);
+ epWriter = device.OpenEndpointWriter((WriteEndpointID)outEndp);
+
Debug.WriteLine("Trying to verify device");
if (VerifyDevice().Board != 0x00166700) throw new FelException("Invalid board ID: " + VerifyDevice().Board);
}
public void Close()
{
if (device != null)
- {
- try
- {
- device.Pipes[inEndp].Abort();
- }
- catch { }
- try
- {
- device.Pipes[outEndp].Abort();
- }
- catch
- {
- }
- device.Dispose();
- device = null;
- }
+ device.Close();
+ device = null;
+ if (epReader != null)
+ epReader.Dispose();
+ epReader = null;
+ if (epWriter != null)
+ epWriter.Dispose();
+ epWriter = null;
}
private void WriteToUSB(byte[] buffer)
{
-//#if DEBUG
-// Debug.WriteLine("-> " + BitConverter.ToString(buffer));
-//#endif
- Debug.WriteLine(string.Format("-> {0} bytes" , buffer.Length));
- device.Pipes[outEndp].Write(buffer);
+#if VERY_DEBUG
+ Debug.WriteLine("->[FEL] " + BitConverter.ToString(buffer));
+#endif
+ Debug.WriteLine(string.Format("-> {0} bytes", buffer.Length));
+ int pos = 0;
+ int l;
+ while (pos < buffer.Length)
+ {
+ epWriter.Write(buffer, pos, buffer.Length - pos, WriteTimeout, out l);
+ if (l > 0)
+ pos += l;
+ else
+ throw new Exception("Can't write to USB");
+ }
}
private int ReadFromUSB(byte[] buffer, int offset, int length)
{
- var data = device.Pipes[inEndp].Read(buffer, offset, length);
-//#if DEBUG
-// Debug.WriteLine("<- " + BitConverter.ToString(buffer));
-//#endif
+ int l;
+ var result = epReader.Read(buffer, offset, length, ReadTimeout, out l);
+ if (result != ErrorCode.Ok)
+ throw new Exception("USB read error: " + result.ToString());
+#if VERY_DEBUG
+ Debug.WriteLine("<-[FEL] " + BitConverter.ToString(buffer));
+#endif
Debug.WriteLine(string.Format("<- {0} bytes", length));
- return data;
+ return l;
}
private byte[] ReadFromUSB(UInt32 length)
{
@@ -229,7 +269,7 @@ namespace com.clusterrr.FelLib
int pos = 0;
while (pos < buffer.Length)
{
- if (callback != null) callback(CurrentAction.WritingMemory, null);
+ callback?.Invoke(CurrentAction.WritingMemory, null);
var buf = new byte[Math.Min(buffer.Length - pos, MaxBulkSize)];
Array.Copy(buffer, pos, buf, 0, buf.Length);
FelRequest(AWFELStandardRequest.RequestType.FEL_DOWNLOAD, (UInt32)(address + pos), (uint)buf.Length);
@@ -250,7 +290,7 @@ namespace com.clusterrr.FelLib
var result = new List<byte>();
while (length > 0)
{
- if (callback != null) callback(CurrentAction.ReadingMemory, null);
+ callback?.Invoke(CurrentAction.ReadingMemory, null);
var l = Math.Min(length, MaxBulkSize);
FelRequest(AWFELStandardRequest.RequestType.FEL_UPLOAD, address, l);
var r = FelRead((UInt32)l);
@@ -286,45 +326,44 @@ namespace com.clusterrr.FelLib
public byte[] ReadFlash(UInt32 address, UInt32 length, OnFelProgress callback = null)
{
var result = new List<byte>();
- while (((length + address % sector_size + sector_size - 1) / sector_size) > flash_mem_size)
+ string command;
+ if ((address % sector_size) != 0)
+ throw new FelException(string.Format("Invalid flash address : 0x{0:X8}", address));
+ if ((length % sector_size) != 0)
+ throw new FelException(string.Format("Invalid flash length: 0x{0:X8}", length));
+ while (length > 0)
{
- var sectors = (length + address % sector_size + sector_size - 1) / sector_size - flash_mem_size;
- var buf = ReadFlash(address, sectors * sector_size - address % sector_size, callback);
+ var reqLen = Math.Min(length, transfer_max_size);
+ command = string.Format("sunxi_flash phy_read {0:x} {1:x} {2:x};{3}", transfer_base_m, address / sector_size, (int)Math.Floor((double)reqLen / (double)sector_size), fastboot);
+ RunUbootCmd(command, false, callback);
+ var buf = ReadMemory(transfer_base_m + address % sector_size, reqLen, callback);
+ result.AddRange(buf);
address += (uint)buf.Length;
length -= (uint)buf.Length;
- result.AddRange(buf);
}
- if (result.Count > 0) return result.ToArray();
- var command = string.Format("sunxi_flash phy_read {0:x} {1:x} {2:x};{3}", flash_mem_base, address / sector_size, (length + address % sector_size + sector_size - 1) / sector_size, fastboot);
- RunUbootCmd(command, false, callback);
- result.AddRange(ReadMemory(flash_mem_base + address % sector_size, length, callback));
return result.ToArray();
}
public void WriteFlash(UInt32 address, byte[] buffer, OnFelProgress callback = null)
{
- int length = buffer.Length;
- int pos = 0;
+ var length = (uint)buffer.Length;
+ uint pos = 0;
if ((address % sector_size) != 0)
- throw new FelException(string.Format("Invalid address to flash: 0x{0:X8}", address));
+ throw new FelException(string.Format("Invalid flash address : 0x{0:X8}", address));
if ((length % sector_size) != 0)
- throw new FelException(string.Format("Invalid length to flash: 0x{0:X8}", length));
- byte[] newBuf;
- while ((length / sector_size) > flash_mem_size)
+ throw new FelException(string.Format("Invalid flash length: 0x{0:X8}", length));
+ while (length > 0)
{
- var sectors = (length / sector_size) - flash_mem_size;
- newBuf = new byte[sectors * sector_size];
- Array.Copy(buffer, pos, newBuf, 0, newBuf.Length);
- WriteFlash(address, newBuf, callback);
- address += (UInt32)newBuf.Length;
- length -= newBuf.Length;
- pos += newBuf.Length;
+ var wrLength = Math.Min(length, transfer_max_size / 8);
+ var newBuf = new byte[wrLength];
+ Array.Copy(buffer, pos, newBuf, 0, wrLength);
+ WriteMemory(transfer_base_m, newBuf, callback);
+ var command = string.Format("sunxi_flash phy_write {0:x} {1:x} {2:x};{3}", transfer_base_m, address / sector_size, (int)Math.Floor((double)wrLength / (double)sector_size), fastboot);
+ RunUbootCmd(command, false, callback);
+ pos += (uint)wrLength;
+ address += (uint)wrLength;
+ length -= (uint)wrLength;
}
- newBuf = new byte[length - pos];
- Array.Copy(buffer, pos, newBuf, 0, newBuf.Length);
- WriteMemory(flash_mem_base, newBuf, callback);
- var command = string.Format("sunxi_flash phy_write {0:x} {1:x} {2:x};{3}", flash_mem_base, address / sector_size, length / sector_size, fastboot);
- RunUbootCmd(command, false, callback);
}
public void Exec(UInt32 address)
@@ -336,7 +375,7 @@ namespace com.clusterrr.FelLib
public void RunUbootCmd(string command, bool noreturn = false, OnFelProgress callback = null)
{
- if (callback != null) callback(CurrentAction.RunningCommand, command);
+ callback?.Invoke(CurrentAction.RunningCommand, command);
if (cmdOffset < 0) throw new Exception("Invalid Unoot binary, command variable not found");
const UInt32 testSize = 0x20;
if (UBootBin == null || UBootBin.Length < testSize)
@@ -353,8 +392,8 @@ namespace com.clusterrr.FelLib
Close();
for (int i = 0; i < 10; i++)
{
- Thread.Sleep(1000);
- if (callback != null) callback(CurrentAction.RunningCommand, command);
+ Thread.Sleep(500);
+ callback?.Invoke(CurrentAction.RunningCommand, command);
}
int errorCount = 0;
while (true)
@@ -376,5 +415,10 @@ namespace com.clusterrr.FelLib
}
}
}
+
+ public void Dispose()
+ {
+ Close();
+ }
}
}
diff --git a/FelLib/WinUSBNet/API/APIException.cs b/FelLib/WinUSBNet/API/APIException.cs
deleted file mode 100644
index 8c9987a6..00000000
--- a/FelLib/WinUSBNet/API/APIException.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Runtime;
-using System.Runtime.InteropServices;
-using System.ComponentModel;
-
-
-namespace MadWizard.WinUSBNet.API
-{
- /// <summary>
- /// Exception used internally to catch Win32 API errors. This exception should
- /// not be thrown to the library's caller.
- /// </summary>
- internal class APIException : Exception
- {
- public APIException(string message) :
- base(message)
- {
-
- }
- public APIException(string message, Exception innerException) : base(message, innerException)
- {
- }
-
- public static APIException Win32(string message)
- {
- return APIException.Win32(message, Marshal.GetLastWin32Error());
- }
-
- public static APIException Win32(string message, int errorCode)
- {
- return new APIException(message, new Win32Exception(errorCode));
-
- }
-
- }
-}
diff --git a/FelLib/WinUSBNet/API/DeviceDetails.cs b/FelLib/WinUSBNet/API/DeviceDetails.cs
deleted file mode 100644
index ada560c3..00000000
--- a/FelLib/WinUSBNet/API/DeviceDetails.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace MadWizard.WinUSBNet.API
-{
- internal struct DeviceDetails
- {
- public string DevicePath;
- public string Manufacturer;
- public string DeviceDescription;
- public ushort VID;
- public ushort PID;
- }
-}
diff --git a/FelLib/WinUSBNet/API/DeviceManagement.cs b/FelLib/WinUSBNet/API/DeviceManagement.cs
deleted file mode 100644
index f14eea14..00000000
--- a/FelLib/WinUSBNet/API/DeviceManagement.cs
+++ /dev/null
@@ -1,315 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-/* NOTE: Parts of the code in this file are based on the work of Jan Axelson
- * See http://www.lvr.com/winusb.htm for more information
- */
-
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
-using System.Windows.Forms;
-using System.Text.RegularExpressions;
-using System.Diagnostics;
-
-namespace MadWizard.WinUSBNet.API
-{
- /// <summary>
- /// Routines for detecting devices and receiving device notifications.
- /// </summary>
- internal static partial class DeviceManagement
- {
-
- // Get device name from notification message.
- // Also checks checkGuid with the GUID from the message to check the notification
- // is for a relevant device. Other messages might be received.
- public static string GetNotifyMessageDeviceName(Message m, Guid checkGuid)
- {
- int stringSize;
-
-
- DEV_BROADCAST_DEVICEINTERFACE_1 devBroadcastDeviceInterface = new DEV_BROADCAST_DEVICEINTERFACE_1();
- DEV_BROADCAST_HDR devBroadcastHeader = new DEV_BROADCAST_HDR();
-
- // The LParam parameter of Message is a pointer to a DEV_BROADCAST_HDR structure.
-
- Marshal.PtrToStructure(m.LParam, devBroadcastHeader);
-
- if ((devBroadcastHeader.dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE))
- {
- // The dbch_devicetype parameter indicates that the event applies to a device interface.
- // So the structure in LParam is actually a DEV_BROADCAST_INTERFACE structure,
- // which begins with a DEV_BROADCAST_HDR.
-
- // Obtain the number of characters in dbch_name by subtracting the 32 bytes
- // in the strucutre that are not part of dbch_name and dividing by 2 because there are
- // 2 bytes per character.
-
- stringSize = System.Convert.ToInt32((devBroadcastHeader.dbch_size - 32) / 2);
-
- // The dbcc_name parameter of devBroadcastDeviceInterface contains the device name.
- // Trim dbcc_name to match the size of the String.
-
- devBroadcastDeviceInterface.dbcc_name = new char[stringSize + 1];
-
- // Marshal data from the unmanaged block pointed to by m.LParam
- // to the managed object devBroadcastDeviceInterface.
-
- Marshal.PtrToStructure(m.LParam, devBroadcastDeviceInterface);
-
- // Check if message is for the GUID
- if (devBroadcastDeviceInterface.dbcc_classguid != checkGuid)
- return null;
-
- // Store the device name in a String.
- string deviceNameString = new String(devBroadcastDeviceInterface.dbcc_name, 0, stringSize);
-
- return deviceNameString;
-
- }
- return null;
- }
-
- private static byte[] GetProperty(IntPtr deviceInfoSet, SP_DEVINFO_DATA deviceInfoData, SPDRP property, out int regType)
- {
- uint requiredSize;
-
- if (!SetupDiGetDeviceRegistryProperty(deviceInfoSet, ref deviceInfoData, property, IntPtr.Zero, IntPtr.Zero, 0, out requiredSize))
- {
- if (Marshal.GetLastWin32Error() != ERROR_INSUFFICIENT_BUFFER)
- throw APIException.Win32("Failed to get buffer size for device registry property.");
- }
-
- byte[] buffer = new byte[requiredSize];
-
- if (!SetupDiGetDeviceRegistryProperty(deviceInfoSet, ref deviceInfoData, property, out regType, buffer, (uint)buffer.Length, out requiredSize))
- throw APIException.Win32("Failed to get device registry property.");
-
- return buffer;
- }
-
- // todo: is the queried data always available, or should we check ERROR_INVALID_DATA?
- private static string GetStringProperty(IntPtr deviceInfoSet, SP_DEVINFO_DATA deviceInfoData, SPDRP property)
- {
- int regType;
- byte[] buffer = GetProperty(deviceInfoSet, deviceInfoData, property, out regType);
- if (regType != (int)RegTypes.REG_SZ)
- throw new APIException("Invalid registry type returned for device property.");
-
- // sizof(char), 2 bytes, are removed to leave out the string terminator
- return System.Text.Encoding.Unicode.GetString(buffer, 0, buffer.Length - sizeof(char));
- }
-
- private static string[] GetMultiStringProperty(IntPtr deviceInfoSet, SP_DEVINFO_DATA deviceInfoData, SPDRP property)
- {
- int regType;
- byte[] buffer = GetProperty(deviceInfoSet, deviceInfoData, property, out regType);
- if (regType != (int)RegTypes.REG_MULTI_SZ)
- throw new APIException("Invalid registry type returned for device property.");
-
- string fullString = System.Text.Encoding.Unicode.GetString(buffer);
-
- return fullString.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
-
- }
- private static DeviceDetails GetDeviceDetails(string devicePath, IntPtr deviceInfoSet, SP_DEVINFO_DATA deviceInfoData)
- {
- DeviceDetails details = new DeviceDetails();
- details.DevicePath = devicePath;
- details.DeviceDescription = GetStringProperty(deviceInfoSet, deviceInfoData, SPDRP.SPDRP_DEVICEDESC);
- details.Manufacturer = GetStringProperty(deviceInfoSet, deviceInfoData, SPDRP.SPDRP_MFG);
- string[] hardwareIDs = GetMultiStringProperty(deviceInfoSet, deviceInfoData, SPDRP.SPDRP_HARDWAREID);
-
- Regex regex = new Regex("^USB\\\\VID_([0-9A-F]{4})&PID_([0-9A-F]{4})", RegexOptions.IgnoreCase);
- bool foundVidPid = false;
- foreach (string hardwareID in hardwareIDs)
- {
- Match match = regex.Match(hardwareID);
- if (match.Success)
- {
- details.VID = ushort.Parse(match.Groups[1].Value, System.Globalization.NumberStyles.AllowHexSpecifier);
- details.PID = ushort.Parse(match.Groups[2].Value, System.Globalization.NumberStyles.AllowHexSpecifier);
- foundVidPid = true;
- break;
- }
- }
-
- if (!foundVidPid)
- throw new APIException("Failed to find VID and PID for USB device. No hardware ID could be parsed.");
-
- return details;
- }
-
-
- public static DeviceDetails[] FindDevices(UInt16 vid, UInt16 pid)
- {
- IntPtr deviceInfoSet = IntPtr.Zero;
- List<DeviceDetails> deviceList = new List<DeviceDetails>();
- var guid = new Guid("{A5DCBF10-6530-11D2-901F-00C04FB951ED}"); // USB device
- try
- {
- deviceInfoSet = SetupDiGetClassDevs(IntPtr.Zero, IntPtr.Zero, IntPtr.Zero,
- DIGCF_PRESENT | DIGCF_DEVICEINTERFACE | DIGCF_ALLCLASSES);
- if (deviceInfoSet == FileIO.INVALID_HANDLE_VALUE)
- throw APIException.Win32("Failed to enumerate devices.");
- int memberIndex = 0;
- while (true)
- {
- // Begin with 0 and increment through the device information set until
- // no more devices are available.
- SP_DEVICE_INTERFACE_DATA deviceInterfaceData = new SP_DEVICE_INTERFACE_DATA();
-
- // The cbSize element of the deviceInterfaceData structure must be set to
- // the structure's size in bytes.
- // The size is 28 bytes for 32-bit code and 32 bytes for 64-bit code.
- deviceInterfaceData.cbSize = Marshal.SizeOf(deviceInterfaceData);
-
- bool success;
-
- success = SetupDiEnumDeviceInterfaces(deviceInfoSet, IntPtr.Zero, ref guid, memberIndex, ref deviceInterfaceData);
-
- // Find out if a device information set was retrieved.
- if (!success)
- {
- int lastError = Marshal.GetLastWin32Error();
- if (lastError == ERROR_NO_MORE_ITEMS)
- break;
-
- throw APIException.Win32("Failed to get device interface.");
- }
- // A device is present.
-
- int bufferSize = 0;
-
- success = SetupDiGetDeviceInterfaceDetail
- (deviceInfoSet,
- ref deviceInterfaceData,
- IntPtr.Zero,
- 0,
- ref bufferSize,
- IntPtr.Zero);
-
- if (!success)
- {
- if (Marshal.GetLastWin32Error() != ERROR_INSUFFICIENT_BUFFER)
- throw APIException.Win32("Failed to get interface details buffer size.");
- }
-
- IntPtr detailDataBuffer = IntPtr.Zero;
- try
- {
-
- // Allocate memory for the SP_DEVICE_INTERFACE_DETAIL_DATA structure using the returned buffer size.
- detailDataBuffer = Marshal.AllocHGlobal(bufferSize);
-
- // Store cbSize in the first bytes of the array. The number of bytes varies with 32- and 64-bit systems.
-
- Marshal.WriteInt32(detailDataBuffer, (IntPtr.Size == 4) ? (4 + Marshal.SystemDefaultCharSize) : 8);
-
- // Call SetupDiGetDeviceInterfaceDetail again.
- // This time, pass a pointer to DetailDataBuffer
- // and the returned required buffer size.
-
- // build a DevInfo Data structure
- SP_DEVINFO_DATA da = new SP_DEVINFO_DATA();
- da.cbSize = Marshal.SizeOf(da);
-
-
- success = SetupDiGetDeviceInterfaceDetail
- (deviceInfoSet,
- ref deviceInterfaceData,
- detailDataBuffer,
- bufferSize,
- ref bufferSize,
- ref da);
-
- if (!success)
- throw APIException.Win32("Failed to get device interface details.");
-
-
- // Skip over cbsize (4 bytes) to get the address of the devicePathName.
-
- IntPtr pDevicePathName = new IntPtr(detailDataBuffer.ToInt64() + 4);
- string pathName = Marshal.PtrToStringUni(pDevicePathName);
-
- // Get the String containing the devicePathName.
- try
- {
- Debug.WriteLine("Trying to parse device: " + pathName);
- DeviceDetails details = GetDeviceDetails(pathName, deviceInfoSet, da);
- if (details.VID == vid && details.PID == pid)
- deviceList.Add(details);
- }
- catch (APIException ex)
- {
- Debug.WriteLine("Can't parse this device: " + ex.Message + ex.StackTrace);
- }
- }
- finally
- {
- if (detailDataBuffer != IntPtr.Zero)
- {
- Marshal.FreeHGlobal(detailDataBuffer);
- detailDataBuffer = IntPtr.Zero;
- }
- }
- memberIndex++;
- }
- }
- finally
- {
- if (deviceInfoSet != IntPtr.Zero && deviceInfoSet != FileIO.INVALID_HANDLE_VALUE)
- {
- SetupDiDestroyDeviceInfoList(deviceInfoSet);
- }
- }
- return deviceList.ToArray();
- }
-
-
- public static void RegisterForDeviceNotifications(IntPtr controlHandle, Guid classGuid, ref IntPtr deviceNotificationHandle)
- {
-
- DEV_BROADCAST_DEVICEINTERFACE devBroadcastDeviceInterface = new DEV_BROADCAST_DEVICEINTERFACE();
- IntPtr devBroadcastDeviceInterfaceBuffer = IntPtr.Zero;
- try
- {
- int size = Marshal.SizeOf(devBroadcastDeviceInterface);
- devBroadcastDeviceInterface.dbcc_size = size;
-
- devBroadcastDeviceInterface.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
- devBroadcastDeviceInterface.dbcc_reserved = 0;
- devBroadcastDeviceInterface.dbcc_classguid = classGuid;
- devBroadcastDeviceInterfaceBuffer = Marshal.AllocHGlobal(size);
-
- // Copy the DEV_BROADCAST_DEVICEINTERFACE structure to the buffer.
- // Set fDeleteOld True to prevent memory leaks.
- Marshal.StructureToPtr(devBroadcastDeviceInterface, devBroadcastDeviceInterfaceBuffer, true);
-
- deviceNotificationHandle = RegisterDeviceNotification(controlHandle, devBroadcastDeviceInterfaceBuffer, DEVICE_NOTIFY_WINDOW_HANDLE);
- if (deviceNotificationHandle == IntPtr.Zero)
- throw APIException.Win32("Failed to register device notification");
-
- // Marshal data from the unmanaged block devBroadcastDeviceInterfaceBuffer to
- // the managed object devBroadcastDeviceInterface
- Marshal.PtrToStructure(devBroadcastDeviceInterfaceBuffer, devBroadcastDeviceInterface);
- }
- finally
- {
- // Free the memory allocated previously by AllocHGlobal.
- if (devBroadcastDeviceInterfaceBuffer != IntPtr.Zero)
- Marshal.FreeHGlobal(devBroadcastDeviceInterfaceBuffer);
- }
- }
-
- public static void StopDeviceDeviceNotifications(IntPtr deviceNotificationHandle)
- {
- if (!DeviceManagement.UnregisterDeviceNotification(deviceNotificationHandle))
- throw APIException.Win32("Failed to unregister device notification");
- }
- }
-}
diff --git a/FelLib/WinUSBNet/API/DeviceManagementAPI.cs b/FelLib/WinUSBNet/API/DeviceManagementAPI.cs
deleted file mode 100644
index 00ebfc69..00000000
--- a/FelLib/WinUSBNet/API/DeviceManagementAPI.cs
+++ /dev/null
@@ -1,159 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-/* NOTE: Parts of the code in this file are based on the work of Jan Axelson
- * See http://www.lvr.com/winusb.htm for more information
- */
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace MadWizard.WinUSBNet.API
-{
- /// <summary>
- /// API declarations relating to device management (SetupDixxx and
- /// RegisterDeviceNotification functions).
- /// </summary>
-
- internal static partial class DeviceManagement
- {
- // from dbt.h
-
- internal const Int32 DBT_DEVICEARRIVAL = 0X8000;
- internal const Int32 DBT_DEVICEREMOVECOMPLETE = 0X8004;
- private const Int32 DBT_DEVTYP_DEVICEINTERFACE = 5;
- private const Int32 DBT_DEVTYP_HANDLE = 6;
- private const Int32 DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 4;
- private const Int32 DEVICE_NOTIFY_SERVICE_HANDLE = 1;
- private const Int32 DEVICE_NOTIFY_WINDOW_HANDLE = 0;
- internal const Int32 WM_DEVICECHANGE = 0X219;
-
- // from setupapi.h
-
- private const Int32 DIGCF_PRESENT = 2;
- private const Int32 DIGCF_DEVICEINTERFACE = 0X10;
- private const Int32 DIGCF_ALLCLASSES = 0X04;
-
- // Two declarations for the DEV_BROADCAST_DEVICEINTERFACE structure.
-
- // Use this one in the call to RegisterDeviceNotification() and
- // in checking dbch_devicetype in a DEV_BROADCAST_HDR structure:
-
- [StructLayout(LayoutKind.Sequential)]
- private class DEV_BROADCAST_DEVICEINTERFACE
- {
- internal Int32 dbcc_size;
- internal Int32 dbcc_devicetype;
- internal Int32 dbcc_reserved;
- internal Guid dbcc_classguid;
- internal Int16 dbcc_name;
- }
-
- [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
- private class DEV_BROADCAST_DEVICEINTERFACE_1
- {
- internal Int32 dbcc_size;
- internal Int32 dbcc_devicetype;
- internal Int32 dbcc_reserved;
- internal Guid dbcc_classguid;
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)]
- internal Char[] dbcc_name;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- private class DEV_BROADCAST_HDR
- {
- internal Int32 dbch_size;
- internal Int32 dbch_devicetype;
- internal Int32 dbch_reserved;
- }
-
- private struct SP_DEVICE_INTERFACE_DATA
- {
- internal Int32 cbSize;
- internal System.Guid InterfaceClassGuid;
- internal Int32 Flags;
- internal IntPtr Reserved;
- }
- private struct SP_DEVINFO_DATA
- {
- internal Int32 cbSize;
- internal System.Guid ClassGuid;
- internal Int32 DevInst;
- internal IntPtr Reserved;
- }
-
- // from pinvoke.net
- private enum SPDRP : uint
- {
- SPDRP_DEVICEDESC = 0x00000000,
- SPDRP_HARDWAREID = 0x00000001,
- SPDRP_COMPATIBLEIDS = 0x00000002,
- SPDRP_NTDEVICEPATHS = 0x00000003,
- SPDRP_SERVICE = 0x00000004,
- SPDRP_CONFIGURATION = 0x00000005,
- SPDRP_CONFIGURATIONVECTOR = 0x00000006,
- SPDRP_CLASS = 0x00000007,
- SPDRP_CLASSGUID = 0x00000008,
- SPDRP_DRIVER = 0x00000009,
- SPDRP_CONFIGFLAGS = 0x0000000A,
- SPDRP_MFG = 0x0000000B,
- SPDRP_FRIENDLYNAME = 0x0000000C,
- SPDRP_LOCATION_INFORMATION = 0x0000000D,
- SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = 0x0000000E,
- SPDRP_CAPABILITIES = 0x0000000F,
- SPDRP_UI_NUMBER = 0x00000010,
- SPDRP_UPPERFILTERS = 0x00000011,
- SPDRP_LOWERFILTERS = 0x00000012,
- SPDRP_MAXIMUM_PROPERTY = 0x00000013,
-
- SPDRP_ENUMERATOR_NAME = 0x16,
- };
-
-
- private enum RegTypes : int
- {
- // incomplete list, these are just the ones used.
- REG_SZ = 1,
- REG_MULTI_SZ = 7
- }
-
-
- [DllImport("user32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
- private static extern IntPtr RegisterDeviceNotification(IntPtr hRecipient, IntPtr NotificationFilter, Int32 Flags);
-
- //[DllImport("setupapi.dll", SetLastError = true)]
- //internal static extern Int32 SetupDiCreateDeviceInfoList(ref System.Guid ClassGuid, Int32 hwndParent);
-
- [DllImport("setupapi.dll", SetLastError = true)]
- private static extern Int32 SetupDiDestroyDeviceInfoList(IntPtr DeviceInfoSet);
-
- [DllImport("setupapi.dll", SetLastError = true)]
- private static extern bool SetupDiEnumDeviceInterfaces(IntPtr DeviceInfoSet, IntPtr DeviceInfoData, ref System.Guid InterfaceClassGuid, Int32 MemberIndex, ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData);
-
- [DllImport("setupapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
- private static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, SPDRP Property, out int PropertyRegDataType, byte[] PropertyBuffer, uint PropertyBufferSize, out UInt32 RequiredSize);
-
- [DllImport("setupapi.dll", CharSet = CharSet.Unicode, SetLastError = true)]
- private static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, SPDRP Property, IntPtr PropertyRegDataType, IntPtr PropertyBuffer, uint PropertyBufferSize, out UInt32 RequiredSize);
-
- [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]
- private static extern IntPtr SetupDiGetClassDevs(IntPtr ClassGuid, IntPtr Enumerator, IntPtr hwndParent, Int32 Flags);
-
- [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]
- private static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr DeviceInfoSet, ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData, IntPtr DeviceInterfaceDetailData, Int32 DeviceInterfaceDetailDataSize, ref Int32 RequiredSize, ref SP_DEVINFO_DATA DeviceInfoData);
-
- [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Unicode)]
- private static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr DeviceInfoSet, ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData, IntPtr DeviceInterfaceDetailData, Int32 DeviceInterfaceDetailDataSize, ref Int32 RequiredSize, IntPtr DeviceInfoData);
-
- [DllImport("user32.dll", SetLastError = true)]
- private static extern bool UnregisterDeviceNotification(IntPtr Handle);
-
- private const int ERROR_NO_MORE_ITEMS = 259;
- private const int ERROR_INSUFFICIENT_BUFFER = 122;
- }
-}
diff --git a/FelLib/WinUSBNet/API/FileAPI.cs b/FelLib/WinUSBNet/API/FileAPI.cs
deleted file mode 100644
index f785c9c4..00000000
--- a/FelLib/WinUSBNet/API/FileAPI.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-/* NOTE: Parts of the code in this file are based on the work of Jan Axelson
- * See http://www.lvr.com/winusb.htm for more information
- */
-
-using System;
-using Microsoft.Win32.SafeHandles;
-using System.Runtime.InteropServices;
-
-namespace MadWizard.WinUSBNet.API
-{
- /// <summary>
- /// API declarations relating to file I/O (and used by WinUsb).
- /// </summary>
-
- sealed internal class FileIO
- {
- public const Int32 FILE_ATTRIBUTE_NORMAL = 0X80;
- public const Int32 FILE_FLAG_OVERLAPPED = 0X40000000;
- public const Int32 FILE_SHARE_READ = 1;
- public const Int32 FILE_SHARE_WRITE = 2;
- public const UInt32 GENERIC_READ = 0X80000000;
- public const UInt32 GENERIC_WRITE = 0X40000000;
- public static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
- public const Int32 OPEN_EXISTING = 3;
-
- public const Int32 ERROR_IO_PENDING = 997;
-
- [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
- public static extern SafeFileHandle CreateFile(String lpFileName, UInt32 dwDesiredAccess, Int32 dwShareMode, IntPtr lpSecurityAttributes, Int32 dwCreationDisposition, Int32 dwFlagsAndAttributes, Int32 hTemplateFile);
- }
-
-}
diff --git a/FelLib/WinUSBNet/API/WinUSBDevice.cs b/FelLib/WinUSBNet/API/WinUSBDevice.cs
deleted file mode 100644
index 93a9ad9c..00000000
--- a/FelLib/WinUSBNet/API/WinUSBDevice.cs
+++ /dev/null
@@ -1,477 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-/* NOTE: Parts of the code in this file are based on the work of Jan Axelson
- * See http://www.lvr.com/winusb.htm for more information
- */
-
-using System;
-using Microsoft.Win32.SafeHandles;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
-using System.Threading;
-using System.ComponentModel;
-
-namespace MadWizard.WinUSBNet.API
-{
- /// <summary>
- /// Wrapper for a WinUSB device dealing with the WinUSB and additional interface handles
- /// </summary>
- partial class WinUSBDevice : IDisposable
- {
- private bool _disposed = false;
- private SafeFileHandle _deviceHandle;
- private IntPtr _winUsbHandle = IntPtr.Zero;
- private IntPtr[] _addInterfaces = null;
- public WinUSBDevice()
- {
- }
-
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- ~WinUSBDevice()
- {
- Dispose(false);
- }
-
- private void CheckNotDisposed()
- {
- if (_disposed)
- throw new ObjectDisposedException("USB device object has been disposed.");
- }
-
- // TODO: check if not disposed on methods (although this is already checked by USBDevice)
-
- protected virtual void Dispose(bool disposing)
- {
- if (_disposed)
- return;
-
- if (disposing)
- {
- // Dispose managed resources
- if (_deviceHandle != null && !_deviceHandle.IsInvalid)
- _deviceHandle.Dispose();
- _deviceHandle = null;
- }
-
- // Dispose unmanaged resources
- FreeWinUSB();
- _disposed = true;
- }
- private void FreeWinUSB()
- {
- if (_addInterfaces != null)
- {
- for (int i = 0; i < _addInterfaces.Length; i++)
- {
- WinUsb_Free(_addInterfaces[i]);
- }
- _addInterfaces = null;
- }
- if (_winUsbHandle != IntPtr.Zero)
- WinUsb_Free(_winUsbHandle);
- _winUsbHandle = IntPtr.Zero;
- }
-
- public USB_DEVICE_DESCRIPTOR GetDeviceDescriptor()
- {
- USB_DEVICE_DESCRIPTOR deviceDesc;
- uint transfered;
- uint size = (uint)Marshal.SizeOf(typeof(USB_DEVICE_DESCRIPTOR));
- bool success = WinUsb_GetDescriptor(_winUsbHandle, USB_DEVICE_DESCRIPTOR_TYPE,
- 0, 0, out deviceDesc, size, out transfered);
- if (!success)
- throw APIException.Win32("Failed to get USB device descriptor.");
-
- if (transfered != size)
- throw APIException.Win32("Incomplete USB device descriptor.");
-
- return deviceDesc;
- }
-
- private int ReadStringDescriptor(byte index, ushort languageID, byte[] buffer)
- {
- uint transfered;
- bool success = WinUsb_GetDescriptor(_winUsbHandle, USB_STRING_DESCRIPTOR_TYPE,
- index, languageID, buffer, (uint)buffer.Length, out transfered);
- if (!success)
- throw APIException.Win32("Failed to get USB string descriptor (" + index + ").");
-
- if (transfered == 0)
- throw new APIException("No data returned when reading USB descriptor.");
-
- int length = buffer[0];
- if (length > transfered)
- throw new APIException("Unexpected length when reading USB descriptor.");
- return length;
- }
-
- public ushort[] GetSupportedLanguageIDs()
- {
- byte[] buffer = new byte[256];
- int length = ReadStringDescriptor(0, 0, buffer);
- length -= 2; // Skip length byte and descriptor type
- if (length < 0 || (length % 2) != 0)
- throw new APIException("Unexpected length when reading supported languages.");
-
- ushort[] langIDs = new ushort[length / 2];
- Buffer.BlockCopy(buffer, 2, langIDs, 0, length);
- return langIDs;
- }
-
- public string GetStringDescriptor(byte index, ushort languageID)
- {
- byte[] buffer = new byte[256];
- int length = ReadStringDescriptor(index, languageID, buffer);
- length -= 2; // Skip length byte and descriptor type
- if (length < 0)
- return null;
- char[] chars = System.Text.Encoding.Unicode.GetChars(buffer, 2, length);
- return new string(chars);
- }
-
- public void ControlTransfer(byte requestType, byte request, ushort value, ushort index, ushort length, byte[] data)
- {
- uint bytesReturned = 0;
- WINUSB_SETUP_PACKET setupPacket;
-
- setupPacket.RequestType = requestType;
- setupPacket.Request = request;
- setupPacket.Value = value;
- setupPacket.Index = index;
- setupPacket.Length = length;
-
- bool success = WinUsb_ControlTransfer(_winUsbHandle, setupPacket, data, length, ref bytesReturned, IntPtr.Zero);
- if (!success) // todo check bytes returned?
- throw APIException.Win32("Control transfer on WinUSB device failed.");
- }
-
-
- public void OpenDevice(string devicePathName)
- {
- try
- {
- _deviceHandle = FileIO.CreateFile(devicePathName,
- (FileIO.GENERIC_WRITE | FileIO.GENERIC_READ),
- FileIO.FILE_SHARE_READ | FileIO.FILE_SHARE_WRITE,
- IntPtr.Zero,
- FileIO.OPEN_EXISTING,
- FileIO.FILE_ATTRIBUTE_NORMAL | FileIO.FILE_FLAG_OVERLAPPED,
- 0);
- if (_deviceHandle.IsInvalid)
- throw APIException.Win32("Failed to open WinUSB device handle.");
- InitializeDevice();
-
- }
- catch(Exception)
- {
- if (_deviceHandle != null)
- {
- _deviceHandle.Dispose();
- _deviceHandle = null;
- }
- FreeWinUSB();
- throw;
- }
- }
-
- private IntPtr InterfaceHandle(int index)
- {
- if (index == 0)
- return _winUsbHandle;
- return _addInterfaces[index - 1];
- }
-
- public int InterfaceCount
- {
- get
- {
- return 1 + (_addInterfaces == null ? 0 : _addInterfaces.Length);
- }
- }
-
- public void GetInterfaceInfo(int interfaceIndex, out USB_INTERFACE_DESCRIPTOR descriptor, out WINUSB_PIPE_INFORMATION[] pipes)
- {
- var pipeList = new List<WINUSB_PIPE_INFORMATION>();
- bool success = WinUsb_QueryInterfaceSettings(InterfaceHandle(interfaceIndex), 0, out descriptor);
- if (!success)
- throw APIException.Win32("Failed to get WinUSB device interface descriptor.");
-
- IntPtr interfaceHandle = InterfaceHandle(interfaceIndex);
- for (byte pipeIdx = 0; pipeIdx < descriptor.bNumEndpoints; pipeIdx++)
- {
- WINUSB_PIPE_INFORMATION pipeInfo;
- success = WinUsb_QueryPipe(interfaceHandle, 0, pipeIdx, out pipeInfo);
-
- pipeList.Add(pipeInfo);
- if (!success)
- throw APIException.Win32("Failed to get WinUSB device pipe information.");
- }
- pipes = pipeList.ToArray();
-
- }
- private void InitializeDevice()
- {
- bool success;
-
- success = WinUsb_Initialize(_deviceHandle, ref _winUsbHandle);
-
- if (!success)
- throw APIException.Win32("Failed to initialize WinUSB handle. Device might not be connected.");
-
- List<IntPtr> interfaces = new List<IntPtr>();
- byte numAddInterfaces = 0;
- byte idx = 0;
-
- try
- {
- while (true)
- {
- IntPtr ifaceHandle = IntPtr.Zero;
- success = WinUsb_GetAssociatedInterface(_winUsbHandle, idx, out ifaceHandle);
- if (!success)
- {
- if (Marshal.GetLastWin32Error() == ERROR_NO_MORE_ITEMS)
- break;
-
- throw APIException.Win32("Failed to enumerate interfaces for WinUSB device.");
- }
- interfaces.Add(ifaceHandle);
- idx++;
- numAddInterfaces++;
- }
- }
- finally
- {
- // Save interface handles (will be cleaned by Dispose)
- // also in case of exception (which is why it is in finally block),
- // because some handles might have already been opened and need
- // to be disposed.
- _addInterfaces = interfaces.ToArray();
- }
-
- // Bind handle (needed for overlapped I/O thread pool)
- ThreadPool.BindHandle(_deviceHandle);
- // TODO: bind interface handles as well? doesn't seem to be necessary
- }
-
- public void ReadPipe(int ifaceIndex, byte pipeID, byte[] buffer, int offset, int bytesToRead, out uint bytesRead)
- {
- bool success;
- unsafe
- {
- fixed (byte* pBuffer = buffer)
- {
- success = WinUsb_ReadPipe(InterfaceHandle(ifaceIndex), pipeID, pBuffer + offset, (uint)bytesToRead,
- out bytesRead, IntPtr.Zero);
- }
- }
- if (!success)
- throw APIException.Win32("Failed to read pipe on WinUSB device.");
- }
-
- private unsafe void HandleOverlappedAPI(bool success, string errorMessage, NativeOverlapped* pOverlapped, USBAsyncResult result, int bytesTransfered)
- {
- if (!success)
- {
- if (Marshal.GetLastWin32Error() != FileIO.ERROR_IO_PENDING)
- {
- Overlapped.Unpack(pOverlapped);
- Overlapped.Free(pOverlapped);
- throw APIException.Win32(errorMessage);
- }
- }
- else
- {
- // Immediate success!
- Overlapped.Unpack(pOverlapped);
- Overlapped.Free(pOverlapped);
-
- result.OnCompletion(true, null, bytesTransfered, false);
- // is the callback still called in this case?? todo
- }
-
- }
-
- public void ReadPipeOverlapped(int ifaceIndex, byte pipeID, byte[] buffer, int offset, int bytesToRead, USBAsyncResult result)
- {
- Overlapped overlapped = new Overlapped();
-
- overlapped.AsyncResult = result;
-
- unsafe
- {
- NativeOverlapped* pOverlapped = null;
- uint bytesRead;
-
- pOverlapped = overlapped.Pack(PipeIOCallback, buffer);
- bool success;
- // Buffer is pinned already by overlapped.Pack
- fixed (byte* pBuffer = buffer)
- {
- success = WinUsb_ReadPipe(InterfaceHandle(ifaceIndex), pipeID, pBuffer + offset, (uint)bytesToRead,
- out bytesRead, pOverlapped);
- }
- HandleOverlappedAPI(success, "Failed to asynchronously read pipe on WinUSB device.", pOverlapped, result, (int)bytesRead);
- }
- }
-
- public void WriteOverlapped(int ifaceIndex, byte pipeID, byte[] buffer, int offset, int bytesToWrite, USBAsyncResult result)
- {
- Overlapped overlapped = new Overlapped();
- overlapped.AsyncResult = result;
-
- unsafe
- {
- NativeOverlapped* pOverlapped = null;
-
- uint bytesWritten;
- pOverlapped = overlapped.Pack(PipeIOCallback, buffer);
-
- bool success;
- // Buffer is pinned already by overlapped.Pack
- fixed (byte* pBuffer = buffer)
- {
- success = WinUsb_WritePipe(InterfaceHandle(ifaceIndex), pipeID, pBuffer + offset, (uint)bytesToWrite,
- out bytesWritten, pOverlapped);
- }
- HandleOverlappedAPI(success, "Failed to asynchronously write pipe on WinUSB device.", pOverlapped, result, (int)bytesWritten);
-
- }
- }
-
-
-
- public void ControlTransferOverlapped(byte requestType, byte request, ushort value, ushort index, ushort length, byte[] data, USBAsyncResult result)
- {
- uint bytesReturned = 0;
- WINUSB_SETUP_PACKET setupPacket;
-
- setupPacket.RequestType = requestType;
- setupPacket.Request = request;
- setupPacket.Value = value;
- setupPacket.Index = index;
- setupPacket.Length = length;
-
- Overlapped overlapped = new Overlapped();
- overlapped.AsyncResult = result;
-
- unsafe
- {
- NativeOverlapped* pOverlapped = null;
- pOverlapped = overlapped.Pack(PipeIOCallback, data);
- bool success = WinUsb_ControlTransfer(_winUsbHandle, setupPacket, data, length, ref bytesReturned, pOverlapped);
- HandleOverlappedAPI(success, "Asynchronous control transfer on WinUSB device failed.", pOverlapped, result, (int)bytesReturned);
- }
- }
-
- private unsafe void PipeIOCallback(uint errorCode, uint numBytes, NativeOverlapped* pOverlapped)
- {
- try
- {
- Exception error = null;
- if (errorCode != 0)
- {
- error = APIException.Win32("Asynchronous operation on WinUSB device failed.", (int)errorCode);
- }
- Overlapped overlapped = Overlapped.Unpack(pOverlapped);
- USBAsyncResult result = (USBAsyncResult)overlapped.AsyncResult;
- Overlapped.Free(pOverlapped);
- pOverlapped = null;
-
- result.OnCompletion(false, error, (int)numBytes, true);
- }
- finally
- {
- if (pOverlapped != null)
- {
- Overlapped.Unpack(pOverlapped);
- Overlapped.Free(pOverlapped);
- }
- }
- }
- public void AbortPipe(int ifaceIndex, byte pipeID)
- {
- bool success = WinUsb_AbortPipe(InterfaceHandle(ifaceIndex), pipeID);
- if (!success)
- throw APIException.Win32("Failed to abort pipe on WinUSB device.");
-
- }
-
- public void WritePipe(int ifaceIndex, byte pipeID, byte[] buffer, int offset, int length)
- {
- uint bytesWritten;
- bool success;
- unsafe
- {
- fixed (byte* pBuffer = buffer)
- {
- success = WinUsb_WritePipe(InterfaceHandle(ifaceIndex), pipeID, pBuffer + offset, (uint)length,
- out bytesWritten, IntPtr.Zero);
- }
- }
- if (!success || (bytesWritten != length))
- throw APIException.Win32("Failed to write pipe on WinUSB device.");
-
- }
-
- public void FlushPipe(int ifaceIndex, byte pipeID)
- {
- bool success = WinUsb_FlushPipe(InterfaceHandle(ifaceIndex), pipeID);
- if (!success)
- throw APIException.Win32("Failed to flush pipe on WinUSB device.");
- }
-
- public void SetPipePolicy(int ifaceIndex, byte pipeID, POLICY_TYPE policyType, bool value)
- {
- byte byteVal = (byte)(value ? 1 : 0);
- bool success = WinUsb_SetPipePolicy(InterfaceHandle(ifaceIndex), pipeID, (uint)policyType, 1, ref byteVal);
- if (!success)
- throw APIException.Win32("Failed to set WinUSB pipe policy.");
- }
-
-
- public void SetPipePolicy(int ifaceIndex, byte pipeID, POLICY_TYPE policyType, uint value)
- {
-
- bool success = WinUsb_SetPipePolicy(InterfaceHandle(ifaceIndex), pipeID, (uint)policyType, 4, ref value);
-
- if (!success)
- throw APIException.Win32("Failed to set WinUSB pipe policy.");
- }
-
-
- public bool GetPipePolicyBool(int ifaceIndex, byte pipeID, POLICY_TYPE policyType)
- {
- byte result;
- uint length = 1;
-
- bool success = WinUsb_GetPipePolicy(InterfaceHandle(ifaceIndex), pipeID, (uint)policyType, ref length, out result);
- if (!success || length != 1)
- throw APIException.Win32("Failed to get WinUSB pipe policy.");
- return result != 0;
- }
-
-
- public uint GetPipePolicyUInt(int ifaceIndex, byte pipeID, POLICY_TYPE policyType)
- {
-
- uint result;
- uint length = 4;
- bool success = WinUsb_GetPipePolicy(InterfaceHandle(ifaceIndex), pipeID, (uint)policyType, ref length, out result);
-
- if (!success || length != 4)
- throw APIException.Win32("Failed to get WinUSB pipe policy.");
- return result;
- }
- }
-}
diff --git a/FelLib/WinUSBNet/API/WinUSBDeviceAPI.cs b/FelLib/WinUSBNet/API/WinUSBDeviceAPI.cs
deleted file mode 100644
index 0492b7fd..00000000
--- a/FelLib/WinUSBNet/API/WinUSBDeviceAPI.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-/* NOTE: Parts of the code in this file are based on the work of Jan Axelson
- * See http://www.lvr.com/winusb.htm for more information
- */
-
-using System;
-using Microsoft.Win32.SafeHandles;
-using System.Runtime.InteropServices;
-using System.Threading;
-
-namespace MadWizard.WinUSBNet.API
-{
- [StructLayout(LayoutKind.Sequential)]
- struct USB_DEVICE_DESCRIPTOR
- {
- public byte bLength;
- public byte bDescriptorType;
- public ushort bcdUSB;
- public byte bDeviceClass;
- public byte bDeviceSubClass;
- public byte bDeviceProtocol;
- public byte bMaxPacketSize0;
- public ushort idVendor;
- public ushort idProduct;
- public ushort bcdDevice;
- public byte iManufacturer;
- public byte iProduct;
- public byte iSerialNumber;
- public byte bNumConfigurations;
- };
-
- [StructLayout(LayoutKind.Sequential)]
- struct USB_CONFIGURATION_DESCRIPTOR
- {
- public byte bLength;
- public byte bDescriptorType;
- public ushort wTotalLength;
- public byte bNumInterfaces;
- public byte bConfigurationValue;
- public byte iConfiguration;
- public byte bmAttributes;
- public byte MaxPower;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- struct USB_INTERFACE_DESCRIPTOR
- {
- public byte bLength;
- public byte bDescriptorType;
- public byte bInterfaceNumber;
- public byte bAlternateSetting;
- public byte bNumEndpoints;
- public byte bInterfaceClass;
- public byte bInterfaceSubClass;
- public byte bInterfaceProtocol;
- public byte iInterface;
- };
- enum USBD_PIPE_TYPE : int
- {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt,
- }
- [StructLayout(LayoutKind.Sequential)]
- struct WINUSB_PIPE_INFORMATION
- {
- public USBD_PIPE_TYPE PipeType;
- public byte PipeId;
- public ushort MaximumPacketSize;
- public byte Interval;
- }
-
- enum POLICY_TYPE : int
- {
- SHORT_PACKET_TERMINATE = 1,
- AUTO_CLEAR_STALL,
- PIPE_TRANSFER_TIMEOUT,
- IGNORE_SHORT_PACKETS,
- ALLOW_PARTIAL_READS,
- AUTO_FLUSH,
- RAW_IO,
- }
-
-
- partial class WinUSBDevice
- {
- private const UInt32 DEVICE_SPEED = ((UInt32)(1));
-
- private enum USB_DEVICE_SPEED : int
- {
- UsbLowSpeed = 1,
- UsbFullSpeed,
- UsbHighSpeed,
- }
-
- [StructLayout(LayoutKind.Sequential, Pack = 1)]
- private struct WINUSB_SETUP_PACKET
- {
- public byte RequestType;
- public byte Request;
- public ushort Value;
- public ushort Index;
- public ushort Length;
- }
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_ControlTransfer(IntPtr InterfaceHandle, WINUSB_SETUP_PACKET SetupPacket, Byte[] Buffer, UInt32 BufferLength, ref UInt32 LengthTransferred, IntPtr Overlapped);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static unsafe extern bool WinUsb_ControlTransfer(IntPtr InterfaceHandle, WINUSB_SETUP_PACKET SetupPacket, Byte[] Buffer, UInt32 BufferLength, ref UInt32 LengthTransferred, NativeOverlapped* pOverlapped);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_Free(IntPtr InterfaceHandle);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_Initialize(SafeFileHandle DeviceHandle, ref IntPtr InterfaceHandle);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_QueryDeviceInformation(IntPtr InterfaceHandle, UInt32 InformationType, ref UInt32 BufferLength, out byte Buffer);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_QueryInterfaceSettings(IntPtr InterfaceHandle, Byte AlternateInterfaceNumber, out USB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_QueryPipe(IntPtr InterfaceHandle, Byte AlternateInterfaceNumber, Byte PipeIndex, out WINUSB_PIPE_INFORMATION PipeInformation);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static unsafe extern bool WinUsb_ReadPipe(IntPtr InterfaceHandle, byte PipeID, byte* pBuffer, uint BufferLength, out uint LengthTransferred, IntPtr Overlapped);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static unsafe extern bool WinUsb_ReadPipe(IntPtr InterfaceHandle, byte PipeID, byte* pBuffer, uint BufferLength, out uint LengthTransferred, NativeOverlapped* pOverlapped);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_AbortPipe(IntPtr InterfaceHandle, byte PipeID);
-
- // Two declarations for WinUsb_SetPipePolicy.
- // Use this one when the returned Value is a Byte (all except PIPE_TRANSFER_TIMEOUT):
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_SetPipePolicy(IntPtr InterfaceHandle, Byte PipeID, UInt32 PolicyType, UInt32 ValueLength, ref byte Value);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetPipePolicy(IntPtr InterfaceHandle, Byte PipeID, UInt32 PolicyType, ref UInt32 ValueLength, out byte Value);
-
- // Use this alias when the returned Value is a UInt32 (PIPE_TRANSFER_TIMEOUT only):
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_SetPipePolicy(IntPtr InterfaceHandle, Byte PipeID, UInt32 PolicyType, UInt32 ValueLength, ref UInt32 Value);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetPipePolicy(IntPtr InterfaceHandle, Byte PipeID, UInt32 PolicyType, ref UInt32 ValueLength, out UInt32 Value);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static unsafe extern bool WinUsb_WritePipe(IntPtr InterfaceHandle, byte PipeID, byte* pBuffer, uint BufferLength, out uint LengthTransferred, IntPtr Overlapped);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static unsafe extern bool WinUsb_WritePipe(IntPtr InterfaceHandle, byte PipeID, byte* pBuffer, uint BufferLength, out uint LengthTransferred, NativeOverlapped* pOverlapped);
-
-
- [DllImport("kernel32.dll", SetLastError = true)]
- private static unsafe extern bool CancelIo(IntPtr hFile);
-
- [DllImport("kernel32.dll", SetLastError = true)]
- private static unsafe extern bool CancelIoEx(IntPtr hFile, NativeOverlapped* pOverlapped);
-
-
-
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_FlushPipe(IntPtr InterfaceHandle, byte PipeID);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetDescriptor(IntPtr InterfaceHandle, byte DescriptorType,
- byte Index, UInt16 LanguageID, byte[] Buffer, UInt32 BufferLength, out UInt32 LengthTransfered);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetDescriptor(IntPtr InterfaceHandle, byte DescriptorType,
- byte Index, UInt16 LanguageID, out USB_DEVICE_DESCRIPTOR deviceDesc, UInt32 BufferLength, out UInt32 LengthTransfered);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetDescriptor(IntPtr InterfaceHandle, byte DescriptorType,
- byte Index, UInt16 LanguageID, out USB_CONFIGURATION_DESCRIPTOR deviceDesc, UInt32 BufferLength, out UInt32 LengthTransfered);
-
- [DllImport("winusb.dll", SetLastError = true)]
- private static extern bool WinUsb_GetAssociatedInterface(IntPtr InterfaceHandle, byte AssociatedInterfaceIndex,
- out IntPtr AssociatedInterfaceHandle);
-
- private const int USB_DEVICE_DESCRIPTOR_TYPE = 0x01;
- private const int USB_CONFIGURATION_DESCRIPTOR_TYPE = 0x02;
- private const int USB_STRING_DESCRIPTOR_TYPE = 0x03;
-
- private const int ERROR_NO_MORE_ITEMS = 259;
-
- }
-}
diff --git a/FelLib/WinUSBNet/DeviceNotifyHook.cs b/FelLib/WinUSBNet/DeviceNotifyHook.cs
deleted file mode 100644
index 99d6fb04..00000000
--- a/FelLib/WinUSBNet/DeviceNotifyHook.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace MadWizard.WinUSBNet
-{
- internal class DeviceNotifyHook : NativeWindow, IDisposable
- {
- // http://msdn.microsoft.com/en-us/library/system.windows.forms.nativewindow.aspx
-
- // TODO: disposed exception when disposed
-
- private Control _parent;
- private USBNotifier _notifier;
- private Guid _guid;
- private IntPtr _notifyHandle;
-
- public DeviceNotifyHook(USBNotifier notifier, Control parent, Guid guid)
- {
- _parent = parent;
- _guid = guid;
- _parent.HandleCreated += new EventHandler(this.OnHandleCreated);
- _parent.HandleDestroyed += new EventHandler(this.OnHandleDestroyed);
- _notifier = notifier;
- }
-
- ~DeviceNotifyHook()
- {
- Dispose(false);
- }
-
- // Listen for the control's window creation and then hook into it.
- internal void OnHandleCreated(object sender, EventArgs e)
- {
- try
- {
- // Window is now created, assign handle to NativeWindow.
- IntPtr handle = ((Control)sender).Handle;
- AssignHandle(handle);
-
- if (_notifyHandle != IntPtr.Zero)
- {
- API.DeviceManagement.StopDeviceDeviceNotifications(_notifyHandle);
- _notifyHandle = IntPtr.Zero;
- }
- API.DeviceManagement.RegisterForDeviceNotifications(handle, _guid, ref _notifyHandle);
- }
- catch (API.APIException ex)
- {
- throw new USBException("Failed to register new window handle for device notification.", ex);
- }
- }
-
- internal void OnHandleDestroyed(object sender, EventArgs e)
- {
- try
- {
- // Window was destroyed, release hook.
- ReleaseHandle();
- if (_notifyHandle != IntPtr.Zero)
- {
- API.DeviceManagement.StopDeviceDeviceNotifications(_notifyHandle);
- _notifyHandle = IntPtr.Zero;
- }
- }
- catch (API.APIException ex)
- {
- throw new USBException("Failed to unregister destroyed window handle for device notification.", ex);
- }
- }
-
-
- protected override void WndProc(ref Message m)
- {
- // Listen for operating system messages
-
- switch (m.Msg)
- {
- case API.DeviceManagement.WM_DEVICECHANGE:
- _notifier.HandleDeviceChange(m);
- break;
- }
- base.WndProc(ref m);
- }
-
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- protected virtual void Dispose(bool disposing)
- {
- if (disposing)
- {
- // clean managed resources
-
- // do not clean the notifier here. the notifier owns and will dispose this object.
- }
- if (_notifyHandle != IntPtr.Zero)
- {
- API.DeviceManagement.StopDeviceDeviceNotifications(_notifyHandle);
- _notifyHandle = IntPtr.Zero;
- }
- }
-
- }
-}
diff --git a/FelLib/WinUSBNet/USB.cs b/FelLib/WinUSBNet/USB.cs
deleted file mode 100644
index 0875faf2..00000000
--- a/FelLib/WinUSBNet/USB.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// USB base class code enumeration, as defined in the USB specification
- /// </summary>
- public enum USBBaseClass
- {
- /// <summary>Unknown non-zero class code. Used when the actual class code
- /// does not match any of the ones defined in this enumeration. </summary>
- Unknown = -1,
-
- /// <summary>Base class defined elsewhere (0x00)</summary>
- None = 0x00,
-
- /// <summary>Audio base class (0x01)</summary>
- Audio = 0x01,
-
- /// <summary>Communications and CDC control base class (0x02)</summary>
- CommCDC = 0x02,
-
- /// <summary>HID base class (0x03)</summary>
- HID = 0x03,
-
- /// <summary>Physical base class (0x05)</summary>
- Physical = 0x05,
-
- /// <summary>Image base class (0x06)</summary>
- Image = 0x06,
-
- /// <summary>Printer base class (0x07)</summary>
- Printer = 0x07,
-
- /// <summary>Mass storage base class (0x08)</summary>
- MassStorage = 0x08,
-
- /// <summary>Hub base class (0x09)</summary>
- Hub = 0x09,
-
- /// <summary>CDC data base class (0x0A)</summary>
- CDCData = 0x0A,
-
- /// <summary>Smart card base class (0x0B)</summary>
- SmartCard = 0x0B,
-
- /// <summary>Content security base class (0x0D)</summary>
- ContentSecurity = 0x0D,
-
- /// <summary>Video base class (0x0E)</summary>
- Video = 0x0E,
-
- /// <summary>Personal healthcare base class (0x0F)</summary>
- PersonalHealthcare = 0x0F,
-
- /// <summary>Diagnosticdevice base class (0xDC)</summary>
- DiagnosticDevice = 0xDC,
-
- /// <summary>Wireless controller base class (0xE0)</summary>
- WirelessController = 0xE0,
-
- /// <summary>Miscellaneous base class (0xEF)</summary>
- Miscellaneous = 0xEF,
-
- /// <summary>Application specific base class (0xFE)</summary>
- ApplicationSpecific = 0xFE,
-
- /// <summary>Vendor specific base class (0xFF)</summary>
- VendorSpecific = 0xFF,
- };
-
-} \ No newline at end of file
diff --git a/FelLib/WinUSBNet/USBAsyncResult.cs b/FelLib/WinUSBNet/USBAsyncResult.cs
deleted file mode 100644
index 6cb5dcef..00000000
--- a/FelLib/WinUSBNet/USBAsyncResult.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-namespace MadWizard.WinUSBNet
-{
- internal class USBAsyncResult : IAsyncResult, IDisposable
- {
- private object _stateObject;
- private AsyncCallback _userCallback;
- private bool _completed;
- private bool _completedSynchronously;
- private ManualResetEvent _waitEvent;
- private int _bytesTransfered;
- private Exception _error;
-
- public USBAsyncResult(AsyncCallback userCallback, object stateObject)
- {
- _stateObject = stateObject;
- _userCallback = userCallback;
- _completedSynchronously = false;
- _completed = false;
- _waitEvent = null;
- }
-
- public object AsyncState
- {
- get
- {
- return _stateObject;
- }
- }
-
- public Exception Error
- {
- get
- {
- lock (this)
- {
- return _error;
- }
- }
- }
- public int BytesTransfered
- {
- get { return _bytesTransfered; }
- }
- public WaitHandle AsyncWaitHandle
- {
- get
- {
- lock (this)
- {
- if (_waitEvent == null)
- _waitEvent = new ManualResetEvent(_completed);
- }
- return _waitEvent;
- }
- }
-
- public bool CompletedSynchronously
- {
- get
- {
- lock (this)
- {
- return _completedSynchronously;
- }
- }
- }
-
- public bool IsCompleted
- {
- get
- {
- lock (this)
- {
- return _completed;
- }
- }
- }
-
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- public void OnCompletion(bool completedSynchronously, Exception error, int bytesTransfered, bool synchronousCallback)
- {
- lock (this)
- {
- _completedSynchronously = completedSynchronously;
- _completed = true;
- _error = error;
- _bytesTransfered = bytesTransfered;
- if (_waitEvent != null)
- _waitEvent.Set();
- }
- if (_userCallback != null)
- {
- if (synchronousCallback)
- RunCallback(null);
- else
- ThreadPool.QueueUserWorkItem(RunCallback);
- }
-
- }
- private void RunCallback(object state)
- {
- _userCallback(this);
- }
- protected virtual void Dispose(bool disposing)
- {
- if (disposing)
- {
- // Cleanup managed resources
- lock (this)
- {
- if (_waitEvent != null)
- _waitEvent.Close();
- }
- }
- }
-
-
- }
-}
diff --git a/FelLib/WinUSBNet/USBDevice.cs b/FelLib/WinUSBNet/USBDevice.cs
deleted file mode 100644
index d4ef5668..00000000
--- a/FelLib/WinUSBNet/USBDevice.cs
+++ /dev/null
@@ -1,756 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// The UsbDevice class represents a single WinUSB device.
- /// </summary>
- public class USBDevice : IDisposable
- {
- private API.WinUSBDevice _wuDevice = null;
- private bool _disposed = false;
-
- /// <summary>
- /// Collection of all pipes available on the USB device
- /// </summary>
- public USBPipeCollection Pipes
- {
- get;
- private set;
- }
-
-
-
-
- /// <summary>
- /// Collection of all interfaces available on the USB device
- /// </summary>
- public USBInterfaceCollection Interfaces
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Device descriptor with information about the device
- /// </summary>
- public USBDeviceDescriptor Descriptor
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Constructs a new USB device
- /// </summary>
- /// <param name="deviceInfo">USB device info of the device to create</param>
- public USBDevice(USBDeviceInfo deviceInfo)
- : this(deviceInfo.DevicePath)
- {
- // Handled in other constructor
- }
-
- /// <summary>
- /// Disposes the UsbDevice including all unmanaged WinUSB handles. This function
- /// should be called when the UsbDevice object is no longer in use, otherwise
- /// unmanaged handles will remain open until the garbage collector finalizes the
- /// object.
- /// </summary>
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- /// <summary>
- /// Finalizer for the UsbDevice. Disposes all unmanaged handles.
- /// </summary>
- ~USBDevice()
- {
- Dispose(false);
- }
-
- /// <summary>
- /// Disposes the object
- /// </summary>
- /// <param name="disposing">Indicates wether Dispose was called manually (true) or by
- /// the garbage collector (false) via the destructor.</param>
- protected virtual void Dispose(bool disposing)
- {
- if (_disposed)
- return;
-
- if (disposing)
- {
- if (_wuDevice != null)
- _wuDevice.Dispose();
- }
-
- // Clean unmanaged resources here.
- // (none currently)
-
- _disposed = true;
- }
-
- /// <summary>
- /// Constructs a new USB device
- /// </summary>
- /// <param name="devicePathName">Device path name of the USB device to create</param>
- public USBDevice(string devicePathName)
- {
- try
- {
- Descriptor = GetDeviceDescriptor(devicePathName);
- }
- catch
- {
- Descriptor = null;
- }
- _wuDevice = new API.WinUSBDevice();
- try
- {
- _wuDevice.OpenDevice(devicePathName);
- InitializeInterfaces();
- }
- catch (API.APIException e)
- {
- _wuDevice.Dispose();
- throw new USBException("Failed to open device.", e);
- }
- }
-
- internal API.WinUSBDevice InternalDevice
- {
- get
- {
- return _wuDevice;
- }
- }
-
- private void InitializeInterfaces()
- {
- int numInterfaces = _wuDevice.InterfaceCount;
-
- List<USBPipe> allPipes = new List<USBPipe>();
-
- USBInterface[] interfaces = new USBInterface[numInterfaces];
- // UsbEndpoint
- for (int i = 0; i < numInterfaces; i++)
- {
- API.USB_INTERFACE_DESCRIPTOR descriptor;
- API.WINUSB_PIPE_INFORMATION[] pipesInfo;
- _wuDevice.GetInterfaceInfo(i, out descriptor, out pipesInfo);
- USBPipe[] interfacePipes = new USBPipe[pipesInfo.Length];
- for (int k = 0; k < pipesInfo.Length; k++)
- {
- USBPipe pipe = new USBPipe(this, pipesInfo[k]);
- interfacePipes[k] = pipe;
- allPipes.Add(pipe);
- }
- // TODO:
- //if (descriptor.iInterface != 0)
- // _wuDevice.GetStringDescriptor(descriptor.iInterface);
- USBPipeCollection pipeCollection = new USBPipeCollection(interfacePipes);
- interfaces[i] = new USBInterface(this, i, descriptor, pipeCollection);
- }
- Pipes = new USBPipeCollection(allPipes.ToArray());
- Interfaces = new USBInterfaceCollection(interfaces);
- }
-
- private void CheckControlParams(int value, int index, byte[] buffer, int length)
- {
- if (value < ushort.MinValue || value > ushort.MaxValue)
- throw new ArgumentOutOfRangeException("Value parameter out of range.");
- if (index < ushort.MinValue || index > ushort.MaxValue)
- throw new ArgumentOutOfRangeException("Index parameter out of range.");
- if (length > buffer.Length)
- throw new ArgumentOutOfRangeException("Length parameter is larger than the size of the buffer.");
- if (length > ushort.MaxValue)
- throw new ArgumentOutOfRangeException("Length too large");
- }
-
- /// <summary>
- /// Specifies the timeout in milliseconds for control pipe operations. If a control transfer does not finish within the specified time it will fail.
- /// When set to zero, no timeout is used. Default value is 5000 milliseconds.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public int ControlPipeTimeout
- {
- get
- {
- return (int)_wuDevice.GetPipePolicyUInt(0, 0x00, API.POLICY_TYPE.PIPE_TRANSFER_TIMEOUT);
- }
- set
- {
- if (value < 0)
- throw new ArgumentOutOfRangeException("Control pipe timeout cannot be negative.");
- _wuDevice.SetPipePolicy(0, 0x00, API.POLICY_TYPE.PIPE_TRANSFER_TIMEOUT, (uint)value);
- }
- }
-
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter. Alternatively, <see cref="ControlIn(byte,byte,int,int,byte[],int)"/> and
- /// <see cref="ControlOut(byte,byte,int,int,byte[],int)"/> can be used for control transfers in a specific direction, which is the recommended way because
- /// it prevents using the wrong direction accidentally. Use the ControlTransfer method when the direction is not known at compile time.
- /// </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The data to transfer in the data stage of the control. When the transfer is in the IN direction the data received will be
- /// written to this buffer. For an OUT direction transfer the contents of the buffer are written sent through the pipe.</param>
- /// <param name="length">Length of the data to transfer. Must be equal to or less than the length of <paramref name="buffer"/>.
- /// The setup packet's length member will be set to this length.</param>
- public void ControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer, int length)
- {
- // Parameters are int and not ushort because ushort is not CLS compliant.
- CheckNotDisposed();
- CheckControlParams(value, index, buffer, length);
-
- try
- {
- _wuDevice.ControlTransfer(requestType, request, (ushort)value, (ushort)index, (ushort)length, buffer);
- }
- catch (API.APIException e)
- {
- throw new USBException("Control transfer failed", e);
- }
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter. Alternatively, <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> and
- /// <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> can be used for asynchronous control transfers in a specific direction, which is
- /// the recommended way because it prevents using the wrong direction accidentally. Use the BeginControlTransfer method when the direction is not
- /// known at compile time. </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The data to transfer in the data stage of the control. When the transfer is in the IN direction the data received will be
- /// written to this buffer. For an OUT direction transfer the contents of the buffer are written sent through the pipe. Note: This buffer is not allowed
- /// to change for the duration of the asynchronous operation.</param>
- /// <param name="length">Length of the data to transfer. Must be equal to or less than the length of <paramref name="buffer"/>. The setup packet's length member will be set to this length.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer, int length, AsyncCallback userCallback, object stateObject)
- {
- // Parameters are int and not ushort because ushort is not CLS compliant.
- CheckNotDisposed();
- CheckControlParams(value, index, buffer, length);
-
- USBAsyncResult result = new USBAsyncResult(userCallback, stateObject);
-
- try
- {
- _wuDevice.ControlTransferOverlapped(requestType, request, (ushort)value, (ushort)index, (ushort)length, buffer, result);
- }
- catch (API.APIException e)
- {
- if (result != null)
- result.Dispose();
- throw new USBException("Asynchronous control transfer failed", e);
- }
- catch (Exception)
- {
- if (result != null)
- result.Dispose();
- throw;
- }
- return result;
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter. Alternatively, <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> and
- /// <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> can be used for asynchronous control transfers in a specific direction, which is
- /// the recommended way because it prevents using the wrong direction accidentally. Use the BeginControlTransfer method when the direction is not
- /// known at compile time. </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The data to transfer in the data stage of the control. When the transfer is in the IN direction the data received will be
- /// written to this buffer. For an OUT direction transfer the contents of the buffer are written sent through the pipe. The setup packet's length member will
- /// be set to the length of this buffer. Note: This buffer is not allowed to change for the duration of the asynchronous operation. </param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer, AsyncCallback userCallback, object stateObject)
- {
- return BeginControlTransfer(requestType, request, value, index, buffer, buffer.Length, userCallback, stateObject);
- }
-
-
- /// <summary>
- /// Waits for a pending asynchronous control transfer to complete.
- /// </summary>
- /// <param name="asyncResult">The <see cref="IAsyncResult"/> object representing the asynchonous operation,
- /// as returned by one of the ControlIn, ControlOut or ControlTransfer methods.</param>
- /// <returns>The number of bytes transfered during the operation.</returns>
- /// <remarks>Every asynchronous control transfer must have a matching call to <see cref="EndControlTransfer"/> to dispose
- /// of any resources used and to retrieve the result of the operation. When the operation was successful the method returns the number
- /// of bytes that were transfered. If an error occurred during the operation this method will throw the exceptions that would
- /// otherwise have ocurred during the operation. If the operation is not yet finished EndControlTransfer will wait for the
- /// operation to finish before returning.</remarks>
- public int EndControlTransfer(IAsyncResult asyncResult)
- {
- if (asyncResult == null)
- throw new NullReferenceException("asyncResult cannot be null");
- if (!(asyncResult is USBAsyncResult))
- throw new ArgumentException("AsyncResult object was not created by calling one of the BeginControl* methods on this class.");
-
- // todo: check duplicate end control
- USBAsyncResult result = (USBAsyncResult)asyncResult;
- try
- {
- if (!result.IsCompleted)
- result.AsyncWaitHandle.WaitOne();
-
- if (result.Error != null)
- throw new USBException("Asynchronous control transfer from pipe has failed.", result.Error);
-
- return result.BytesTransfered;
- }
- finally
- {
- result.Dispose();
- }
-
- }
-
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter). Alternatively, <see cref="ControlIn(byte,byte,int,int,byte[])"/> and
- /// <see cref="ControlOut(byte,byte,int,int,byte[])"/> can be used for control transfers in a specific direction, which is the recommended way because
- /// it prevents using the wrong direction accidentally. Use the ControlTransfer method when the direction is not known at compile time.
- /// </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The data to transfer in the data stage of the control. When the transfer is in the IN direction the data received will be
- /// written to this buffer. For an OUT direction transfer the contents of the buffer are written sent through the pipe. The length of this
- /// buffer is used as the number of bytes in the control transfer. The setup packet's length member will be set to this length as well.</param>
- public void ControlTransfer(byte requestType, byte request, int value, int index, byte[] buffer)
- {
- ControlTransfer(requestType, request, value, index, buffer, buffer.Length);
- }
-
- /// <summary>
- /// Initiates a control transfer without a data stage over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter). Alternatively, <see cref="ControlIn(byte,byte,int,int)"/> and
- /// <see cref="ControlOut(byte,byte,int,int)"/> can be used for control transfers in a specific direction, which is the recommended way because
- /// it prevents using the wrong direction accidentally. Use the ControlTransfer method when the direction is not known at compile time.
- /// </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- public void ControlTransfer(byte requestType, byte request, int value, int index)
- {
- // TODO: null instead of empty buffer. But overlapped code would have to be fixed for this (no buffer to pin)
- ControlTransfer(requestType, request, value, index, new byte[0], 0);
- }
-
- private void CheckIn(byte requestType)
- {
- if ((requestType & 0x80) == 0) // Host to device?
- throw new ArgumentException("Request type is not IN.");
- }
-
- private void CheckOut(byte requestType)
- {
- if ((requestType & 0x80) == 0x80) // Device to host?
- throw new ArgumentException("Request type is not OUT.");
- }
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter). A buffer to receive the data is automatically created by this method.
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="length">Length of the data to transfer. A buffer will be created with this length and the length member of the setup packet
- /// will be set to this length.</param>
- /// <returns>A buffer containing the data transfered.</returns>
- public byte[] ControlIn(byte requestType, byte request, int value, int index, int length)
- {
- CheckIn(requestType);
- byte[] buffer = new byte[length];
- ControlTransfer(requestType, request, value, index, buffer, buffer.Length);
- return buffer;
- }
-
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that will receive the data transfered.</param>
- /// <param name="length">Length of the data to transfer. The length member of the setup packet will be set to this length. The buffer specified
- /// by the <paramref name="buffer"/> parameter should have at least this length.</param>
- public void ControlIn(byte requestType, byte request, int value, int index, byte[] buffer, int length)
- {
- CheckIn(requestType);
- ControlTransfer(requestType, request, value, index, buffer, length);
- }
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter). The length of buffer given by the <paramref name="buffer"/> parameter will dictate
- /// the number of bytes that are transfered and the value of the setup packet's length member.
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that will receive the data transfered. The length of this buffer will be the number of bytes transfered.</param>
- public void ControlIn(byte requestType, byte request, int value, int index, byte[] buffer)
- {
- CheckIn(requestType);
- ControlTransfer(requestType, request, value, index, buffer);
- }
-
- /// <summary>
- /// Initiates a control transfer without a data stage over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter). The setup packets' length member will be set to zero.
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- public void ControlIn(byte requestType, byte request, int value, int index)
- {
- CheckIn(requestType);
- // TODO: null instead of empty buffer. But overlapped code would have to be fixed for this (no buffer to pin)
- ControlTransfer(requestType, request, value, index, new byte[0]);
- }
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. The request should have an OUT direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">A buffer containing the data to transfer in the data stage.</param>
- /// <param name="length">Length of the data to transfer. Only the first <paramref name="length"/> bytes of <paramref name="buffer"/> will be transfered.
- /// The setup packet's length parameter is set to this length.</param>
- public void ControlOut(byte requestType, byte request, int value, int index, byte[] buffer, int length)
- {
- CheckOut(requestType);
- ControlTransfer(requestType, request, value, index, buffer, length);
- }
-
- /// <summary>
- /// Initiates a control transfer over the default control endpoint. The request should have an OUT direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">A buffer containing the data to transfer in the data stage. The complete buffer is transfered. The setup packet's length
- /// parameter is set to the length of this buffer.</param>
- public void ControlOut(byte requestType, byte request, int value, int index, byte[] buffer)
- {
- CheckOut(requestType);
- ControlTransfer(requestType, request, value, index, buffer);
- }
-
- /// <summary>
- /// Initiates a control transfer without a data stage over the default control endpoint. The request should have an OUT direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter. The setup packets' length member will be set to zero.
- /// </summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- public void ControlOut(byte requestType, byte request, int value, int index)
- {
- CheckOut(requestType);
- // TODO: null instead of empty buffer. But overlapped code would have to be fixed for this (no buffer to pin)
- ControlTransfer(requestType, request, value, index, new byte[0]);
- }
-
-
-
- /// <summary>
- /// Initiates an asynchronous control transfer without a data stage over the default control endpoint. This method allows both IN and OUT direction transfers, depending
- /// on the highest bit of the <paramref name="requestType"/> parameter. Alternatively, <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> and
- /// <see cref="BeginControlIn(byte,byte,int,int,byte[],int,AsyncCallback,object)"/> can be used for asynchronous control transfers in a specific direction, which is
- /// the recommended way because it prevents using the wrong direction accidentally. Use the BeginControlTransfer method when the direction is not
- /// known at compile time. </summary>
- /// <param name="requestType">The setup packet request type.</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlTransfer(byte requestType, byte request, int value, int index, AsyncCallback userCallback, object stateObject)
- {
- // TODO: null instead of empty buffer. But overlapped code would have to be fixed for this (no buffer to pin)
- return BeginControlTransfer(requestType, request, value, index, new byte[0], 0, userCallback, stateObject);
- }
-
-
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that will receive the data transfered.</param>
- /// <param name="length">Length of the data to transfer. Must be equal to or less than the length of <paramref name="buffer"/>. The setup packet's length member will be set to this length.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlIn(byte requestType, byte request, int value, int index, byte[] buffer, int length, AsyncCallback userCallback, object stateObject)
- {
- CheckIn(requestType);
- return BeginControlTransfer(requestType, request, value, index, buffer, length, userCallback, stateObject);
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. The request should have an IN direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that will receive the data transfered. The setup packet's length member will be set to the length of this buffer.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlIn(byte requestType, byte request, int value, int index, byte[] buffer, AsyncCallback userCallback, object stateObject)
- {
- CheckIn(requestType);
- return BeginControlTransfer(requestType, request, value, index, buffer, userCallback, stateObject);
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer without a data stage over the default control endpoint.
- /// The request should have an IN direction (specified by the highest bit of the <paramref name="requestType"/> parameter).
- /// The setup packets' length member will be set to zero.</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the IN direction (highest bit set).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlIn(byte requestType, byte request, int value, int index, AsyncCallback userCallback, object stateObject)
- {
- CheckIn(requestType);
- return BeginControlTransfer(requestType, request, value, index, userCallback, stateObject);
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. The request should have an OUT direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that contains the data to be transfered.</param>
- /// <param name="length">Length of the data to transfer. Must be equal to or less than the length of <paramref name="buffer"/>. The setup packet's length member will be set to this length.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlOut(byte requestType, byte request, int value, int index, byte[] buffer, int length, AsyncCallback userCallback, object stateObject)
- {
- CheckOut(requestType);
- return BeginControlTransfer(requestType, request, value, index, buffer, length, userCallback, stateObject);
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer over the default control endpoint. The request should have an OUT direction (specified by the highest bit
- /// of the <paramref name="requestType"/> parameter).</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="buffer">The buffer that contains the data to be transfered. The setup packet's length member will be set to the length of this buffer.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlOut(byte requestType, byte request, int value, int index, byte[] buffer, AsyncCallback userCallback, object stateObject)
- {
- CheckOut(requestType);
- return BeginControlTransfer(requestType, request, value, index, buffer, userCallback, stateObject);
- }
-
- /// <summary>
- /// Initiates an asynchronous control transfer without a data stage over the default control endpoint.
- /// The request should have an OUT direction (specified by the highest bit of the <paramref name="requestType"/> parameter).
- /// The setup packets' length member will be set to zero.</summary>
- /// <param name="requestType">The setup packet request type. The request type must specify the OUT direction (highest bit cleared).</param>
- /// <param name="request">The setup packet device request.</param>
- /// <param name="value">The value member in the setup packet. Its meaning depends on the request. Value should be between zero and 65535 (0xFFFF).</param>
- /// <param name="index">The index member in the setup packet. Its meaning depends on the request. Index should be between zero and 65535 (0xFFFF).</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the control transfer is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous control transfer, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndControlTransfer"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndControlTransfer"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginControlOut(byte requestType, byte request, int value, int index, AsyncCallback userCallback, object stateObject)
- {
- CheckOut(requestType);
- // TODO: null instead of empty buffer. But overlapped code would have to be fixed for this (no buffer to pin)
- return BeginControlTransfer(requestType, request, value, index, new byte[0], userCallback, stateObject);
- }
-
-
- private void CheckNotDisposed()
- {
- if (_disposed)
- throw new ObjectDisposedException("USB device object has been disposed.");
- }
-
- /// <summary>
- /// Finds USB devices
- /// </summary>
- public static USBDeviceInfo[] GetDevices(UInt16 vid, UInt16 pid)
- {
- API.DeviceDetails[] detailList = API.DeviceManagement.FindDevices(vid, pid);
-
- USBDeviceInfo[] devices = new USBDeviceInfo[detailList.Length];
-
- for (int i = 0; i < detailList.Length; i++)
- {
- devices[i] = new USBDeviceInfo(detailList[i]);
- }
- return devices;
- }
-
- /// <summary>
- /// Finds the first WinUSB device with a VIA and PID
- /// </summary>
- public static USBDevice GetSingleDevice(UInt16 vid, UInt16 pid)
- {
- API.DeviceDetails[] detailList = API.DeviceManagement.FindDevices(vid, pid);
- if (detailList.Length == 0)
- return null;
-
-
- return new USBDevice(detailList[0].DevicePath);
- }
-
-
- private static USBDeviceDescriptor GetDeviceDescriptor(string devicePath)
- {
- try
- {
- USBDeviceDescriptor descriptor;
- using (API.WinUSBDevice wuDevice = new API.WinUSBDevice())
- {
- wuDevice.OpenDevice(devicePath);
- API.USB_DEVICE_DESCRIPTOR deviceDesc = wuDevice.GetDeviceDescriptor();
-
- // Get first supported language ID
- ushort[] langIDs = wuDevice.GetSupportedLanguageIDs();
- ushort langID = 0;
- if (langIDs.Length > 0)
- langID = langIDs[0];
-
- string manufacturer = null, product = null, serialNumber = null;
- byte idx = 0;
- idx = deviceDesc.iManufacturer;
- if (idx > 0)
- manufacturer = wuDevice.GetStringDescriptor(idx, langID);
-
- idx = deviceDesc.iProduct;
- if (idx > 0)
- product = wuDevice.GetStringDescriptor(idx, langID);
-
- idx = deviceDesc.iSerialNumber;
- if (idx > 0)
- serialNumber = wuDevice.GetStringDescriptor(idx, langID);
- descriptor = new USBDeviceDescriptor(devicePath, deviceDesc, manufacturer, product, serialNumber);
- }
- return descriptor;
- }
- catch (API.APIException e)
- {
- throw new USBException("Failed to retrieve device descriptor.", e);
- }
- }
-
- }
-}
diff --git a/FelLib/WinUSBNet/USBDeviceDescriptor.cs b/FelLib/WinUSBNet/USBDeviceDescriptor.cs
deleted file mode 100644
index 329e6fc4..00000000
--- a/FelLib/WinUSBNet/USBDeviceDescriptor.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// USB device details
- /// </summary>
- public class USBDeviceDescriptor
- {
- /// <summary>
- /// Windows path name for the USB device
- /// </summary>
- public string PathName { get; private set; }
-
- /// <summary>
- /// USB vendor ID (VID) of the device
- /// </summary>
- public int VID { get; private set; }
-
- /// <summary>
- /// USB product ID (PID) of the device
- /// </summary>
- public int PID { get; private set; }
-
- /// <summary>
- /// Manufacturer name, or null if not available
- /// </summary>
- public string Manufacturer { get; private set; }
-
- /// <summary>
- /// Product name, or null if not available
- /// </summary>
- public string Product { get; private set; }
-
- /// <summary>
- /// Device serial number, or null if not available
- /// </summary>
- public string SerialNumber { get; private set; }
-
-
- /// <summary>
- /// Friendly device name, or path name when no
- /// further device information is available
- /// </summary>
- public string FullName
- {
- get
- {
- if (Manufacturer != null && Product != null)
- return Product + " - " + Manufacturer;
- else if (Product != null)
- return Product;
- else if (SerialNumber != null)
- return SerialNumber;
- else
- return PathName;
- }
- }
-
- /// <summary>
- /// Device class code as defined in the interface descriptor
- /// This property can be used if the class type is not defined
- /// int the USBBaseClass enumeraiton
- /// </summary>
- public byte ClassValue
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Device subclass code
- /// </summary>
- public byte SubClass
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Device protocol code
- /// </summary>
- public byte Protocol
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Device class code. If the device class does
- /// not match any of the USBBaseClass enumeration values
- /// the value will be USBBaseClass.Unknown
- /// </summary>
- public USBBaseClass BaseClass
- {
- get;
- private set;
- }
-
- internal USBDeviceDescriptor(string path, API.USB_DEVICE_DESCRIPTOR deviceDesc, string manufacturer, string product, string serialNumber)
- {
- PathName = path;
- VID = deviceDesc.idVendor;
- PID = deviceDesc.idProduct;
- Manufacturer = manufacturer;
- Product = product;
- SerialNumber = serialNumber;
-
-
- ClassValue = deviceDesc.bDeviceClass;
- SubClass = deviceDesc.bDeviceSubClass;
- Protocol = deviceDesc.bDeviceProtocol;
-
- // If interface class is of a known type (USBBaseeClass enum), use this
- // for the InterfaceClass property.
- BaseClass = USBBaseClass.Unknown;
- if (Enum.IsDefined(typeof(USBBaseClass), (int)deviceDesc.bDeviceClass))
- {
- BaseClass = (USBBaseClass)(int)deviceDesc.bDeviceClass;
- }
-
-
-
- }
- }
-}
diff --git a/FelLib/WinUSBNet/USBDeviceInfo.cs b/FelLib/WinUSBNet/USBDeviceInfo.cs
deleted file mode 100644
index 4e10455c..00000000
--- a/FelLib/WinUSBNet/USBDeviceInfo.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Gives information about a device. This information is retrieved using the setup API, not the
- /// actual device descriptor. Device description and manufacturer will be the strings specified
- /// in the .inf file. After a device is opened the actual device descriptor can be read as well.
- /// </summary>
- public class USBDeviceInfo
- {
- private API.DeviceDetails _details;
-
- /// <summary>
- /// Vendor ID (VID) of the USB device
- /// </summary>
- public int VID
- {
- get
- {
- return _details.VID;
- }
- }
-
- /// <summary>
- /// Product ID (VID) of the USB device
- /// </summary>
- public int PID
- {
- get
- {
- return _details.PID;
- }
- }
-
- /// <summary>
- /// Manufacturer of the device, as specified in the INF file (not the device descriptor)
- /// </summary>
- public string Manufacturer
- {
- get
- {
- return _details.Manufacturer;
- }
- }
-
- /// <summary>
- /// Description of the device, as specified in the INF file (not the device descriptor)
- /// </summary>
- public string DeviceDescription
- {
- get
- {
- return _details.DeviceDescription;
- }
- }
-
- /// <summary>
- /// Device pathname
- /// </summary>
- public string DevicePath
- {
- get
- {
- return _details.DevicePath;
- }
- }
-
- internal USBDeviceInfo(API.DeviceDetails details)
- {
- _details = details;
- }
-
- }
-}
diff --git a/FelLib/WinUSBNet/USBException.cs b/FelLib/WinUSBNet/USBException.cs
deleted file mode 100644
index d61d45e9..00000000
--- a/FelLib/WinUSBNet/USBException.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Exception used by WinUSBNet to indicate errors. This is the
- /// main exception to catch when using the library.
- /// </summary>
- public class USBException : Exception
- {
- /// <summary>
- /// Constructs a new USBException with the given message
- /// </summary>
- /// <param name="message">The message describing the exception</param>
- public USBException(string message)
- : base(message)
- {
- }
-
- /// <summary>
- /// Constructs a new USBException with the given message and underlying exception
- /// that caused the USBException.
- /// </summary>
- /// <param name="message">The message describing the exception</param>
- /// <param name="innerException">The underlying exception causing the USBException</param>
- public USBException(string message, Exception innerException)
- : base(message, innerException)
- {
- }
- }
-}
diff --git a/FelLib/WinUSBNet/USBInterface.cs b/FelLib/WinUSBNet/USBInterface.cs
deleted file mode 100644
index 1b13a446..00000000
--- a/FelLib/WinUSBNet/USBInterface.cs
+++ /dev/null
@@ -1,152 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Represents a single USB interface from a USB device
- /// </summary>
- public class USBInterface
- {
- /// <summary>
- /// Collection of pipes associated with this interface
- /// </summary>
- public USBPipeCollection Pipes
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Interface number from the interface descriptor
- /// </summary>
- public int Number
- {
- get;
- private set;
- }
-
- /// <summary>
- /// USB device associated with this interface
- /// </summary>
- public USBDevice Device
- {
- get;
- private set;
- }
-
- /// <summary>
- /// First IN direction pipe on this interface
- /// </summary>
- public USBPipe InPipe
- {
- get;
- private set;
- }
-
- /// <summary>
- /// First OUT direction pipe on this interface
- /// </summary>
- public USBPipe OutPipe
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Interface class code. If the interface class does
- /// not match any of the USBBaseClass enumeration values
- /// the value will be USBBaseClass.Unknown
- /// </summary>
- public USBBaseClass BaseClass
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Interface class code as defined in the interface descriptor
- /// This property can be used if the class type is not defined
- /// int the USBBaseClass enumeraiton
- /// </summary>
- public byte ClassValue
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Interface subclass code
- /// </summary>
- public byte SubClass
- {
- get;
- private set;
- }
-
- /// <summary>
- /// Interface protocol code
- /// </summary>
- public byte Protocol
- {
- get;
- private set;
- }
-
- /// Zero based interface index in WinUSB.
- /// Note that this is not necessarily the same as the interface *number*
- /// from the interface descriptor. There might be interfaces within the
- /// USB device that do not use WinUSB, these are not counted for index.
- internal int InterfaceIndex
- {
- get;
- private set;
- }
-
- internal USBInterface(USBDevice device, int interfaceIndex, API.USB_INTERFACE_DESCRIPTOR rawDesc, USBPipeCollection pipes)
- {
- // Set raw class identifiers
- ClassValue = rawDesc.bInterfaceClass;
- SubClass = rawDesc.bInterfaceSubClass;
- Protocol = rawDesc.bInterfaceProtocol;
-
- Number = rawDesc.bInterfaceNumber;
- InterfaceIndex = interfaceIndex;
-
- // If interface class is of a known type (USBBaseClass enum), use this
- // for the InterfaceClass property.
- BaseClass = USBBaseClass.Unknown;
- if (Enum.IsDefined(typeof(USBBaseClass), (int)rawDesc.bInterfaceClass))
- {
- BaseClass = (USBBaseClass)(int)rawDesc.bInterfaceClass;
- }
-
-
- Device = device;
- Pipes = pipes;
-
- // Handle pipes
- foreach (USBPipe pipe in pipes)
- {
- // Attach pipe to this interface
- pipe.AttachInterface(this);
-
- // If first in or out pipe, set InPipe and OutPipe
- if (pipe.IsIn && InPipe == null)
- InPipe = pipe;
- if (pipe.IsOut && OutPipe == null)
- OutPipe = pipe;
-
- }
-
- }
- }
-}
diff --git a/FelLib/WinUSBNet/USBInterfaceCollection.cs b/FelLib/WinUSBNet/USBInterfaceCollection.cs
deleted file mode 100644
index 4f4a8ee6..00000000
--- a/FelLib/WinUSBNet/USBInterfaceCollection.cs
+++ /dev/null
@@ -1,160 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Text;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Collection of UsbInterface objects
- /// </summary>
- public class USBInterfaceCollection : IEnumerable<USBInterface>
- {
- private USBInterface[] _interfaces;
-
- internal USBInterfaceCollection(USBInterface[] interfaces)
- {
- _interfaces = interfaces;
- }
-
- private class USBInterfaceEnumerator : IEnumerator<USBInterface>
- {
- private int _index;
- private USBInterface[] _interfaces;
-
- public USBInterfaceEnumerator(USBInterface[] interfaces)
- {
- _interfaces = interfaces;
- _index = -1;
- }
-
- public void Dispose()
- {
- // Intentionally empty
- }
- private USBInterface GetCurrent()
- {
- try
- {
- return _interfaces[_index];
- }
-
- catch (IndexOutOfRangeException)
- {
- throw new InvalidOperationException();
- }
- }
-
- public USBInterface Current
- {
- get
- {
- return GetCurrent();
- }
- }
-
-
- object IEnumerator.Current
- {
- get
- {
- return GetCurrent();
- }
- }
-
- public bool MoveNext()
- {
- _index++;
- return _index < _interfaces.Length;
- }
-
- public void Reset()
- {
- _index = -1;
- }
- }
-
- /// <summary>
- /// Finds the first interface with that matches the device class
- /// given by the <paramref name="interfaceClass"/> parameter.
- /// </summary>
- /// <param name="interfaceClass">The device class the interface should match</param>
- /// <returns>The first interface with the given interface class, or null
- /// if no such interface exists.</returns>
- public USBInterface Find(USBBaseClass interfaceClass)
- {
- for (int i = 0; i < _interfaces.Length; i++)
- {
- USBInterface iface = _interfaces[i];
- if (iface.BaseClass == interfaceClass)
- return iface;
- }
- return null;
- }
-
- /// <summary>
- /// Finds all interfaces matching the device class given by the
- /// <paramref name="interfaceClass"/> parameter.
- /// </summary>
- /// <param name="interfaceClass">The device class the interface should match</param>
- /// <returns>An array of USBInterface objects matching the device class, or an empty
- /// array if no interface matches.</returns>
- public USBInterface[] FindAll(USBBaseClass interfaceClass)
- {
- List<USBInterface> matchingInterfaces = new List<USBInterface>();
- for (int i = 0; i < _interfaces.Length; i++)
- {
- USBInterface iface = _interfaces[i];
- if (iface.BaseClass == interfaceClass)
- matchingInterfaces.Add(iface);
- }
- return matchingInterfaces.ToArray();
- }
-
- /// <summary>
- /// Returns a typed enumerator that iterates through a collection.
- /// </summary>
- /// <returns>The enumerator object that can be used to iterate through the collection.</returns>
- public IEnumerator<USBInterface> GetEnumerator()
- {
- return new USBInterfaceEnumerator(_interfaces);
- }
-
- /// <summary>
- /// Get interface by interface number
- /// </summary>
- /// <param name="interfaceNumber">Number of the interface to return. Note: this is the number from the interface descriptor, which
- /// is not necessarily the same as the interface index.</param>
- /// <exception cref="IndexOutOfRangeException">Thrown when the given interface number does not exist in the collection.</exception>
- /// <returns></returns>
- public USBInterface this[ int interfaceNumber ]
- {
- get
- {
- for (int i = 0; i < _interfaces.Length; i++)
- {
- USBInterface iface = _interfaces[i];
- if (iface.Number == interfaceNumber)
- return iface;
- }
- throw new IndexOutOfRangeException(string.Format("No interface with number {0} exists.", interfaceNumber));
- }
- }
-
- /// <summary>
- /// Returns an enumerator that iterates through a collection.
- /// </summary>
- /// <returns>An IEnumerator object that can be used to iterate through the collection.</returns>
- IEnumerator IEnumerable.GetEnumerator()
- {
- return new USBInterfaceEnumerator(_interfaces);
- }
- }
-}
diff --git a/FelLib/WinUSBNet/USBNotifier.cs b/FelLib/WinUSBNet/USBNotifier.cs
deleted file mode 100644
index b97c01d9..00000000
--- a/FelLib/WinUSBNet/USBNotifier.cs
+++ /dev/null
@@ -1,190 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Delegate for event handler methods handing USB events
- /// </summary>
- /// <param name="sender">The source of the event</param>
- /// <param name="e">Details of the event</param>
- public delegate void USBEventHandler(object sender, USBEvent e);
-
- /// <summary>
- /// Event type enumeration for WinUSB events
- /// </summary>
- public enum USBEventType
- {
- /// <summary>
- /// A device has been connected to the system
- /// </summary>
- DeviceArrival,
-
- /// <summary>
- /// A device has been disconnected from the system
- /// </summary>
- DeviceRemoval,
- }
-
- /// <summary>
- /// Contains the details of a USB event
- /// </summary>
- public class USBEvent : EventArgs
- {
- /// <summary>
- /// WinUSB interface GUID of the device as specified in the WinUSBNotifier
- /// </summary>
- public Guid Guid;
-
- /// <summary>
- /// Device pathname that identifies the device
- /// </summary>
- public string DevicePath;
-
- /// <summary>
- /// Type of event that occurred
- /// </summary>
- public USBEventType Type;
-
- internal USBEvent(USBEventType type, Guid guid, string devicePath)
- {
- this.Guid = guid;
- this.DevicePath = devicePath;
- this.Type= type;
- }
- }
-
- /// <summary>
- /// Helper class to receive notifications on USB device changes such as
- /// connecting or removing a device.
- /// </summary>
- public class USBNotifier : IDisposable
- {
- private DeviceNotifyHook _hook;
- private Guid _guid;
-
- /// <summary>
- /// Event triggered when a new USB device that matches the USBNotifier's GUID is connected
- /// </summary>
- public event USBEventHandler Arrival;
-
- /// <summary>
- /// Event triggered when a new USB device that matches the USBNotifier's GUID is disconnected
- /// </summary>
- public event USBEventHandler Removal;
-
- /// <summary>
- /// The interface GUID of devices this USBNotifier will watch
- /// </summary>
- public Guid Guid
- {
- get
- {
- return _guid;
- }
- }
-
- /// <summary>
- /// Constructs a new USBNotifier that will watch for events on
- /// devices matching the given interface GUID. A Windows Forms control
- /// is needed since the notifier relies on window messages.
- /// </summary>
- /// <param name="control">A control that will be used internally for device notification messages.
- /// You can use a Form object for example.</param>
- /// <param name="guidString">The interface GUID string of the devices to watch.</param>
- public USBNotifier(Control control, string guidString) :
- this(control, new Guid(guidString))
- {
- // Handled in other constructor
- }
-
-
- /// <summary>
- /// Constructs a new USBNotifier that will watch for events on
- /// devices matching the given interface GUID. A Windows Forms control
- /// is needed since the notifier relies on window messages.
- /// </summary>
- /// <param name="control">A control that will be used internally for device notification messages.
- /// You can use a Form object for example.</param>
- /// <param name="guid">The interface GUID of the devices to watch.</param>
- public USBNotifier(Control control, Guid guid)
- {
- _guid = guid;
- _hook = new DeviceNotifyHook(this, control, _guid);
- }
-
- /// <summary>
- /// Triggers the arrival event
- /// </summary>
- /// <param name="devicePath">Device pathname of the device that has been connected</param>
- protected void OnArrival(string devicePath)
- {
- if (Arrival != null)
- Arrival(this, new USBEvent(USBEventType.DeviceArrival, _guid, devicePath));
- }
- /// <summary>
- /// Trigggers the removal event
- /// </summary>
- /// <param name="devicePath">Device pathname of the device that has been connected</param>
- protected void OnRemoval(string devicePath)
- {
- if (Removal != null)
- Removal(this, new USBEvent(USBEventType.DeviceRemoval, _guid, devicePath));
- }
-
- internal void HandleDeviceChange(Message m)
- {
- if (m.Msg != API.DeviceManagement.WM_DEVICECHANGE)
- throw new USBException("Invalid device change message."); // should not happen
-
- if ((int)m.WParam == API.DeviceManagement.DBT_DEVICEARRIVAL)
- {
-
- string devName = API.DeviceManagement.GetNotifyMessageDeviceName(m, _guid);
- if (devName != null)
- OnArrival(devName);
- }
-
- if ((int)m.WParam == API.DeviceManagement.DBT_DEVICEREMOVECOMPLETE)
- {
- string devName = API.DeviceManagement.GetNotifyMessageDeviceName(m, _guid);
- if (devName != null)
- OnRemoval(devName);
- }
-
- }
-
- /// <summary>
- /// Disposes the USBNotifier object and frees all resources.
- /// Call this method when the object is no longer needed.
- /// </summary>
- public void Dispose()
- {
- Dispose(true);
- GC.SuppressFinalize(this);
- }
-
- /// <summary>
- /// Disposes the object's resources.
- /// </summary>
- /// <param name="disposing">True when dispose is called manually, false when called by the finalizer.</param>
- protected virtual void Dispose(bool disposing)
- {
- if (disposing)
- {
- _hook.Dispose();
- }
- }
-
- }
-}
diff --git a/FelLib/WinUSBNet/USBPipe.cs b/FelLib/WinUSBNet/USBPipe.cs
deleted file mode 100644
index 9a565633..00000000
--- a/FelLib/WinUSBNet/USBPipe.cs
+++ /dev/null
@@ -1,387 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// UsbPipe represents a single pipe on a WinUSB device. A pipe is connected
- /// to a certain endpoint on the device and has a fixed direction (IN or OUT)
- /// </summary>
- public class USBPipe
- {
- private API.WINUSB_PIPE_INFORMATION _pipeInfo;
- private USBInterface _interface = null;
- private USBDevice _device;
- private USBPipePolicy _policy;
-
- /// <summary>
- /// Endpoint address including the direction in the most significant bit
- /// </summary>
- public byte Address
- {
- get
- {
- return _pipeInfo.PipeId;
- }
- }
-
- /// <summary>
- /// The USBDevice this pipe is associated with
- /// </summary>
- public USBDevice Device
- {
- get
- {
- return _device;
- }
- }
-
- /// <summary>
- /// Maximum packet size for transfers on this endpoint
- /// </summary>
- public int MaximumPacketSize
- {
- get
- {
- return _pipeInfo.MaximumPacketSize;
- }
- }
-
- /// <summary>
- /// The interface associated with this pipe
- /// </summary>
- public USBInterface Interface
- {
- get
- {
- return _interface;
- }
- }
-
- /// <summary>
- /// The pipe policy settings for this pipe
- /// </summary>
- public USBPipePolicy Policy
- {
- get
- {
- return _policy;
- }
- }
-
- /// <summary>
- /// True if the pipe has direction OUT (host to device), false otherwise.
- /// </summary>
- public bool IsOut
- {
- get
- {
- return (_pipeInfo.PipeId & 0x80) == 0;
- }
- }
-
- /// <summary>
- /// True if the pipe has direction IN (device to host), false otherwise.
- /// </summary>
- public bool IsIn
- {
- get
- {
- return (_pipeInfo.PipeId & 0x80) != 0;
- }
- }
-
- /// <summary>
- /// Reads data from the pipe into a buffer.
- /// </summary>
- /// <param name="buffer">The buffer to read data into. The maximum number of bytes that will be read is specified by the length of the buffer.</param>
- /// <returns>The number of bytes read from the pipe.</returns>
- public int Read(byte[] buffer)
- {
- return Read(buffer, 0, buffer.Length);
- }
-
- /// <summary>
- /// Reads data from the pipe into a buffer.
- /// </summary>
- /// <param name="buffer">The buffer to read data into.</param>
- /// <param name="offset">The byte offset in <paramref name="buffer"/> from which to begin writing data read from the pipe.</param>
- /// <param name="length">The maximum number of bytes to read, starting at offset</param>
- /// <returns>The number of bytes read from the pipe.</returns>
- public int Read(byte[] buffer, int offset, int length)
- {
- CheckReadParams(buffer, offset, length);
-
- try
- {
- uint bytesRead;
-
- _device.InternalDevice.ReadPipe(Interface.InterfaceIndex, _pipeInfo.PipeId, buffer, offset, length, out bytesRead);
-
- return (int)bytesRead;
- }
- catch (API.APIException e)
- {
- throw new USBException("Failed to read from pipe.", e);
- }
- }
-
- private void CheckReadParams(byte[] buffer, int offset, int length)
- {
- if (!IsIn)
- throw new NotSupportedException("Cannot read from a pipe with OUT direction.");
-
- int bufferLength = buffer.Length;
- if (offset < 0 || offset >= bufferLength)
- throw new ArgumentOutOfRangeException("Offset of data to read is outside the buffer boundaries.");
- if (length < 0 || (offset + length) > bufferLength)
- throw new ArgumentOutOfRangeException("Length of data to read is outside the buffer boundaries.");
- }
- private void CheckWriteParams(byte[] buffer, int offset, int length)
- {
- if (!IsOut)
- throw new NotSupportedException("Cannot write to a pipe with IN direction.");
-
- int bufferLength = buffer.Length;
- if (offset < 0 || offset >= bufferLength)
- throw new ArgumentOutOfRangeException("Offset of data to write is outside the buffer boundaries.");
- if (length < 0 || (offset + length) > bufferLength)
- throw new ArgumentOutOfRangeException("Length of data to write is outside the buffer boundaries.");
-
- }
-
- /// <summary>Initiates an asynchronous read operation on the pipe. </summary>
- /// <param name="buffer">Buffer that will receive the data read from the pipe.</param>
- /// <param name="offset">Byte offset within the buffer at which to begin writing the data received.</param>
- /// <param name="length">Length of the data to transfer.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the operation is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous operation, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndRead"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndRead"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginRead(byte[] buffer, int offset, int length, AsyncCallback userCallback, object stateObject)
- {
- CheckReadParams(buffer, offset, length);
-
- USBAsyncResult result = new USBAsyncResult(userCallback, stateObject);
- try
- {
- _device.InternalDevice.ReadPipeOverlapped(Interface.InterfaceIndex, _pipeInfo.PipeId, buffer, offset, length, result);
- }
- catch (API.APIException e)
- {
- if (result != null)
- result.Dispose();
- throw new USBException("Failed to read from pipe.", e);
- }
- catch (Exception)
- {
- if (result != null)
- result.Dispose();
- throw;
- }
- return result;
- }
-
- /// <summary>
- /// Waits for a pending asynchronous read operation to complete.
- /// </summary>
- /// <param name="asyncResult">The <see cref="IAsyncResult"/> object representing the asynchonous operation,
- /// as returned by <see cref="BeginRead"/>.</param>
- /// <returns>The number of bytes transfered during the operation.</returns>
- /// <remarks>Every call to <see cref="BeginRead"/> must have a matching call to <see cref="EndRead"/> to dispose
- /// of any resources used and to retrieve the result of the operation. When the operation was successful the method returns the number
- /// of bytes that were transfered. If an error occurred during the operation this method will throw the exceptions that would
- /// otherwise have ocurred during the operation. If the operation is not yet finished EndWrite will wait for the
- /// operation to finish before returning.</remarks>
- public int EndRead(IAsyncResult asyncResult)
- {
- if (asyncResult == null)
- throw new NullReferenceException("asyncResult cannot be null");
- if (!(asyncResult is USBAsyncResult))
- throw new ArgumentException("AsyncResult object was not created by calling BeginRead on this class.");
-
- // todo: check duplicate end reads?
- USBAsyncResult result = (USBAsyncResult)asyncResult;
- try
- {
- if (!result.IsCompleted)
- result.AsyncWaitHandle.WaitOne();
-
- if (result.Error != null)
- throw new USBException("Asynchronous read from pipe has failed.", result.Error);
-
- return result.BytesTransfered;
- }
- finally
- {
- result.Dispose();
- }
-
- }
-
- /// <summary>
- /// Writes data from a buffer to the pipe.
- /// </summary>
- /// <param name="buffer">The buffer to write data from. The complete buffer will be written to the device.</param>
- public void Write(byte[] buffer)
- {
- Write(buffer, 0, buffer.Length);
- }
-
- /// <summary>
- /// Writes data from a buffer to the pipe.
- /// </summary>
- /// <param name="buffer">The buffer to write data from.</param>
- /// <param name="offset">The byte offset in <paramref name="buffer"/> from which to begin writing.</param>
- /// <param name="length">The number of bytes to write, starting at offset</param>
- public void Write(byte[] buffer, int offset, int length)
- {
- CheckWriteParams(buffer, offset, length);
-
- try
- {
- _device.InternalDevice.WritePipe(Interface.InterfaceIndex, _pipeInfo.PipeId, buffer, offset, length);
- }
- catch (API.APIException e)
- {
- throw new USBException("Failed to write to pipe.", e);
- }
- }
-
- /// <summary>Initiates an asynchronous write operation on the pipe. </summary>
- /// <param name="buffer">Buffer that contains the data to write to the pipe.</param>
- /// <param name="offset">Byte offset within the buffer from which to begin writing.</param>
- /// <param name="length">Length of the data to transfer.</param>
- /// <param name="userCallback">An optional asynchronous callback, to be called when the operation is complete. Can be null if no callback is required.</param>
- /// <param name="stateObject">A user-provided object that distinguishes this particular asynchronous operation. Can be null if not required.</param>
- /// <returns>An <see cref="IAsyncResult"/> object repesenting the asynchronous operation, which could still be pending.</returns>
- /// <remarks>This method always completes immediately even if the operation is still pending. The <see cref="IAsyncResult"/> object returned represents the operation
- /// and must be passed to <see cref="EndWrite"/> to retrieve the result of the operation. For every call to this method a matching call to
- /// <see cref="EndWrite"/> must be made. When <paramref name="userCallback"/> specifies a callback function, this function will be called when the operation is completed. The optional
- /// <paramref name="stateObject"/> parameter can be used to pass user-defined information to this callback or the <see cref="IAsyncResult"/>. The <see cref="IAsyncResult"/>
- /// also provides an event handle (<see cref="IAsyncResult.AsyncWaitHandle" />) that will be triggered when the operation is complete as well.
- /// </remarks>
- public IAsyncResult BeginWrite(byte[] buffer, int offset, int length, AsyncCallback userCallback, object stateObject)
- {
- CheckWriteParams(buffer, offset, length);
-
- USBAsyncResult result = new USBAsyncResult(userCallback, stateObject);
- try
- {
- _device.InternalDevice.WriteOverlapped(Interface.InterfaceIndex, _pipeInfo.PipeId, buffer, offset, length, result);
- }
- catch (API.APIException e)
- {
- if (result != null)
- result.Dispose();
- throw new USBException("Failed to write to pipe.", e);
- }
- catch (Exception)
- {
- if (result != null)
- result.Dispose();
- throw;
- }
- return result;
- }
-
- /// <summary>
- /// Waits for a pending asynchronous write operation to complete.
- /// </summary>
- /// <param name="asyncResult">The <see cref="IAsyncResult"/> object representing the asynchonous operation,
- /// as returned by <see cref="BeginWrite"/>.</param>
- /// <returns>The number of bytes transfered during the operation.</returns>
- /// <remarks>Every call to <see cref="BeginWrite"/> must have a matching call to <see cref="EndWrite"/> to dispose
- /// of any resources used and to retrieve the result of the operation. When the operation was successful the method returns the number
- /// of bytes that were transfered. If an error occurred during the operation this method will throw the exceptions that would
- /// otherwise have ocurred during the operation. If the operation is not yet finished EndWrite will wait for the
- /// operation to finish before returning.</remarks>
- public void EndWrite(IAsyncResult asyncResult)
- {
- if (asyncResult == null)
- throw new NullReferenceException("asyncResult cannot be null");
- if (!(asyncResult is USBAsyncResult))
- throw new ArgumentException("AsyncResult object was not created by calling BeginWrite on this class.");
-
- USBAsyncResult result = (USBAsyncResult)asyncResult;
- try
- {
- // todo: check duplicate end writes?
-
- if (!result.IsCompleted)
- result.AsyncWaitHandle.WaitOne();
-
- if (result.Error != null)
- throw new USBException("Asynchronous write to pipe has failed.", result.Error);
- }
- finally
- {
- result.Dispose();
- }
- }
-
- /// <summary>
- /// Aborts all pending transfers for this pipe.
- /// </summary>
- public void Abort()
- {
- try
- {
- _device.InternalDevice.AbortPipe(Interface.InterfaceIndex, _pipeInfo.PipeId);
- }
- catch (API.APIException e)
- {
- throw new USBException("Failed to abort pipe.", e);
- }
- }
-
- /// <summary>
- /// Flushes the pipe, discarding any data that is cached. Only available on IN direction pipes.
- /// </summary>
- public void Flush()
- {
- if (!IsIn)
- throw new NotSupportedException("Flush is only supported on IN direction pipes");
- try
- {
- _device.InternalDevice.FlushPipe(Interface.InterfaceIndex, _pipeInfo.PipeId);
- }
- catch (API.APIException e)
- {
- throw new USBException("Failed to flush pipe.", e);
- }
- }
-
- internal USBPipe(USBDevice device, API.WINUSB_PIPE_INFORMATION pipeInfo)
- {
- _pipeInfo = pipeInfo;
- _device = device;
-
- // Policy is not set until interface is attached
- _policy = null;
- }
-
- internal void AttachInterface(USBInterface usbInterface)
- {
- _interface = usbInterface;
-
- // Initialize policy now that interface is set (policy requires interface)
- _policy = new USBPipePolicy(_device, _interface.InterfaceIndex, _pipeInfo.PipeId);
- }
-
- }
-
-} \ No newline at end of file
diff --git a/FelLib/WinUSBNet/USBPipeCollection.cs b/FelLib/WinUSBNet/USBPipeCollection.cs
deleted file mode 100644
index a91d8d58..00000000
--- a/FelLib/WinUSBNet/USBPipeCollection.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Text;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace MadWizard.WinUSBNet
-{
- /// <summary>
- /// Collection of UsbPipe objects
- /// </summary>
- public class USBPipeCollection : IEnumerable<USBPipe>
- {
- private Dictionary<byte, USBPipe> _pipes;
-
- internal USBPipeCollection(USBPipe[] pipes)
- {
- _pipes = new Dictionary<byte, USBPipe>(pipes.Length);
- foreach (USBPipe pipe in pipes)
- {
- if (_pipes.ContainsKey(pipe.Address))
- throw new USBException("Duplicate pipe address in endpoint.");
- _pipes[pipe.Address] = pipe;
- }
- }
-
- /// <summary>
- /// Returns the pipe from the collection with the given pipe address
- /// </summary>
- /// <param name="pipeAddress">Address of the pipe to return</param>
- /// <returns>The pipe with the given pipe address</returns>
- /// <exception cref="IndexOutOfRangeException">Thrown if no pipe with the specified address
- /// is available in the collection.</exception>
- public USBPipe this [byte pipeAddress]
- {
- get
- {
- USBPipe pipe;
- if (!_pipes.TryGetValue(pipeAddress, out pipe))
- throw new IndexOutOfRangeException();
- return pipe;
- }
- }
-
- private class UsbPipeEnumerator : IEnumerator<USBPipe>
- {
- private int _index;
- private USBPipe[] _pipes;
-
- public UsbPipeEnumerator(USBPipe[] pipes)
- {
- _pipes = pipes;
- _index = -1;
- }
-
- public void Dispose()
- {
- // Empty
- }
- private USBPipe GetCurrent()
- {
- try
- {
- return _pipes[_index];
- }
-
- catch (IndexOutOfRangeException)
- {
- throw new InvalidOperationException();
- }
- }
-
- public USBPipe Current
- {
- get
- {
- return GetCurrent();
- }
- }
-
-
- object IEnumerator.Current
- {
- get
- {
- return GetCurrent();
- }
- }
-
- public bool MoveNext()
- {
- _index++;
- return _index < _pipes.Length;
- }
-
- public void Reset()
- {
- _index = -1;
- }
-
- }
-
- private USBPipe[] GetPipeList()
- {
- var values = _pipes.Values;
- USBPipe[] pipeList = new USBPipe[values.Count];
- values.CopyTo(pipeList, 0);
- return pipeList;
- }
-
- /// <summary>
- /// Returns a typed enumerator that iterates through a collection.
- /// </summary>
- /// <returns>The enumerator object that can be used to iterate through the collection.</returns>
- public IEnumerator<USBPipe> GetEnumerator()
- {
- return new UsbPipeEnumerator(GetPipeList());
- }
-
- /// <summary>
- /// Returns an enumerator that iterates through a collection.
- /// </summary>
- /// <returns>An IEnumerator object that can be used to iterate through the collection.</returns>
- IEnumerator IEnumerable.GetEnumerator()
- {
- return new UsbPipeEnumerator(GetPipeList());
- }
- }
-}
diff --git a/FelLib/WinUSBNet/USBPipePolicy.cs b/FelLib/WinUSBNet/USBPipePolicy.cs
deleted file mode 100644
index 800b748e..00000000
--- a/FelLib/WinUSBNet/USBPipePolicy.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-/* WinUSBNet library
- * (C) 2010 Thomas Bleeker (www.madwizard.org)
- *
- * Licensed under the MIT license, see license.txt or:
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace MadWizard.WinUSBNet
-{
-
- /// <summary>
- /// Describes the policy for a specific USB pipe
- /// </summary>
- public class USBPipePolicy
- {
-
- private byte _pipeID;
- private int _interfaceIndex;
- private USBDevice _device;
-
- internal USBPipePolicy(USBDevice device, int interfaceIndex, byte pipeID)
- {
- _pipeID = pipeID;
- _interfaceIndex = interfaceIndex;
- _device = device;
- }
-
-
-
- private void RequireDirectionOut()
- {
- // Some policy types only apply specifically to OUT direction pipes
- if ((_pipeID & 0x80) != 0)
- throw new NotSupportedException("This policy type is only allowed on OUT direction pipes.");
- }
-
- private void RequireDirectionIn()
- {
- // Some policy types only apply specifically to IN direction pipes
- // This function checks for this.
- if ((_pipeID & 0x80) == 0)
- throw new NotSupportedException("This policy type is only allowed on IN direction pipes.");
- }
-
- /// <summary>
- /// When false, read requests fail when the device returns more data than requested. When true, extra data is
- /// saved and returned on the next read. Default value is true. Only available on IN direction pipes.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool AllowPartialReads
- {
- get
- {
- RequireDirectionIn();
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.ALLOW_PARTIAL_READS);
- }
- set
- {
- RequireDirectionIn();
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.ALLOW_PARTIAL_READS, value);
- }
- }
-
- /// <summary>
- /// When true, the driver fails stalled data transfers, but the driver clears the stall condition automatically. Default
- /// value is false.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool AutoClearStall
- {
- get
- {
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.AUTO_CLEAR_STALL);
- }
- set
- {
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.AUTO_CLEAR_STALL, value);
- }
- }
-
- /// <summary>
- /// If both AllowPartialReads and AutoFlush are true, when the device returns more data than requested by the client it
- /// will discard the remaining data. Default value is false. Only available on IN direction pipes.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool AutoFlush
- {
- get
- {
- RequireDirectionIn();
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.AUTO_FLUSH); ;
- }
- set
- {
- RequireDirectionIn();
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.AUTO_FLUSH, value);
- }
- }
- /// <summary>
- /// When true, read operations are completed only when the number of bytes requested by the client has been received. Default value is false.
- /// Only available on IN direction pipes.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool IgnoreShortPackets
- {
- get
- {
- RequireDirectionIn();
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.IGNORE_SHORT_PACKETS); ;
- }
- set
- {
- RequireDirectionIn();
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.IGNORE_SHORT_PACKETS, value);
- }
- }
-
- /// <summary>
- /// Specifies the timeout in milliseconds for pipe operations. If an operation does not finish within the specified time it will fail.
- /// When set to zero, no timeout is used. Default value is zero.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public int PipeTransferTimeout
- {
- get
- {
- return (int)_device.InternalDevice.GetPipePolicyUInt(_interfaceIndex, _pipeID, API.POLICY_TYPE.PIPE_TRANSFER_TIMEOUT);
- }
- set
- {
- if (value < 0)
- throw new ArgumentOutOfRangeException("Pipe transfer timeout cannot be negative.");
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.PIPE_TRANSFER_TIMEOUT, (uint)value);
- }
- }
-
- /// <summary>
- /// When true, read and write operations to the pipe must have a buffer length that is a multiple of the maximum endpoint packet size,
- /// and the length must be less than the maximum transfer size. With these conditions met, data is sent directly to the USB driver stack,
- /// bypassing the queuing and error handling of WinUSB.
- /// Default value is false.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool RawIO
- {
- get
- {
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.RAW_IO); ;
- }
- set
- {
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.RAW_IO, value);
- }
- }
-
- /// <summary>
- /// When true, every write request that is a multiple of the maximum packet size for the endpoint is terminated with a zero-length packet.
- /// Default value is false. Only available on OUT direction pipes.
- /// </summary>
- /// <seealso href="http://msdn.microsoft.com/en-us/library/aa476439.aspx">WinUSB_GetPipePolicy for a more detailed description</seealso>
- public bool ShortPacketTerminate
- {
- get
- {
- RequireDirectionOut();
- return _device.InternalDevice.GetPipePolicyBool(_interfaceIndex, _pipeID, API.POLICY_TYPE.SHORT_PACKET_TERMINATE); ;
- }
- set
- {
- RequireDirectionOut();
- _device.InternalDevice.SetPipePolicy(_interfaceIndex, _pipeID, API.POLICY_TYPE.SHORT_PACKET_TERMINATE, value);
- }
- }
-
- }
-}
diff --git a/FileBrowserForm.Designer.cs b/FileBrowserForm.Designer.cs
new file mode 100644
index 00000000..a77616e1
--- /dev/null
+++ b/FileBrowserForm.Designer.cs
@@ -0,0 +1,239 @@
+namespace com.clusterrr.hakchi_gui
+{
+ partial class FileBrowserForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FileBrowserForm));
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.groupBoxLocal = new System.Windows.Forms.GroupBox();
+ this.textBoxLocalPath = new System.Windows.Forms.TextBox();
+ this.dataGridViewLocal = new System.Windows.Forms.DataGridView();
+ this.colIcon = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSize = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.groupBoxRemote = new System.Windows.Forms.GroupBox();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.dataGridViewRemote = new System.Windows.Forms.DataGridView();
+ this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.groupBoxLocal.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewLocal)).BeginInit();
+ this.groupBoxRemote.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewRemote)).BeginInit();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.groupBoxLocal);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.groupBoxRemote);
+ this.splitContainer1.Size = new System.Drawing.Size(757, 519);
+ this.splitContainer1.SplitterDistance = 376;
+ this.splitContainer1.TabIndex = 4;
+ //
+ // groupBoxLocal
+ //
+ this.groupBoxLocal.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBoxLocal.Controls.Add(this.textBoxLocalPath);
+ this.groupBoxLocal.Controls.Add(this.dataGridViewLocal);
+ this.groupBoxLocal.Location = new System.Drawing.Point(3, 3);
+ this.groupBoxLocal.Name = "groupBoxLocal";
+ this.groupBoxLocal.Size = new System.Drawing.Size(370, 513);
+ this.groupBoxLocal.TabIndex = 5;
+ this.groupBoxLocal.TabStop = false;
+ this.groupBoxLocal.Text = "Local files";
+ //
+ // textBoxLocalPath
+ //
+ this.textBoxLocalPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.textBoxLocalPath.Location = new System.Drawing.Point(6, 19);
+ this.textBoxLocalPath.Name = "textBoxLocalPath";
+ this.textBoxLocalPath.ReadOnly = true;
+ this.textBoxLocalPath.Size = new System.Drawing.Size(355, 20);
+ this.textBoxLocalPath.TabIndex = 3;
+ //
+ // dataGridViewLocal
+ //
+ this.dataGridViewLocal.AllowUserToAddRows = false;
+ this.dataGridViewLocal.AllowUserToDeleteRows = false;
+ this.dataGridViewLocal.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridViewLocal.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridViewLocal.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colIcon,
+ this.colName,
+ this.colSize});
+ this.dataGridViewLocal.Location = new System.Drawing.Point(6, 45);
+ this.dataGridViewLocal.Name = "dataGridViewLocal";
+ this.dataGridViewLocal.ReadOnly = true;
+ this.dataGridViewLocal.RowHeadersVisible = false;
+ this.dataGridViewLocal.Size = new System.Drawing.Size(355, 462);
+ this.dataGridViewLocal.TabIndex = 2;
+ //
+ // colIcon
+ //
+ this.colIcon.HeaderText = "";
+ this.colIcon.MinimumWidth = 10;
+ this.colIcon.Name = "colIcon";
+ this.colIcon.ReadOnly = true;
+ this.colIcon.Width = 20;
+ //
+ // colName
+ //
+ this.colName.HeaderText = "Name";
+ this.colName.Name = "colName";
+ this.colName.ReadOnly = true;
+ this.colName.Width = 200;
+ //
+ // colSize
+ //
+ this.colSize.HeaderText = "Size";
+ this.colSize.Name = "colSize";
+ this.colSize.ReadOnly = true;
+ //
+ // groupBoxRemote
+ //
+ this.groupBoxRemote.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.groupBoxRemote.Controls.Add(this.textBox1);
+ this.groupBoxRemote.Controls.Add(this.dataGridViewRemote);
+ this.groupBoxRemote.Location = new System.Drawing.Point(3, 3);
+ this.groupBoxRemote.Name = "groupBoxRemote";
+ this.groupBoxRemote.Size = new System.Drawing.Size(371, 513);
+ this.groupBoxRemote.TabIndex = 6;
+ this.groupBoxRemote.TabStop = false;
+ this.groupBoxRemote.Text = "NES Mini\'s files";
+ //
+ // textBox1
+ //
+ this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.textBox1.Location = new System.Drawing.Point(6, 19);
+ this.textBox1.Name = "textBox1";
+ this.textBox1.ReadOnly = true;
+ this.textBox1.Size = new System.Drawing.Size(356, 20);
+ this.textBox1.TabIndex = 3;
+ //
+ // dataGridViewRemote
+ //
+ this.dataGridViewRemote.AllowUserToAddRows = false;
+ this.dataGridViewRemote.AllowUserToDeleteRows = false;
+ this.dataGridViewRemote.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.dataGridViewRemote.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridViewRemote.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.dataGridViewTextBoxColumn1,
+ this.dataGridViewTextBoxColumn2,
+ this.dataGridViewTextBoxColumn3});
+ this.dataGridViewRemote.Location = new System.Drawing.Point(6, 45);
+ this.dataGridViewRemote.Name = "dataGridViewRemote";
+ this.dataGridViewRemote.ReadOnly = true;
+ this.dataGridViewRemote.RowHeadersVisible = false;
+ this.dataGridViewRemote.Size = new System.Drawing.Size(356, 462);
+ this.dataGridViewRemote.TabIndex = 2;
+ //
+ // dataGridViewTextBoxColumn1
+ //
+ this.dataGridViewTextBoxColumn1.HeaderText = "";
+ this.dataGridViewTextBoxColumn1.MinimumWidth = 10;
+ this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
+ this.dataGridViewTextBoxColumn1.ReadOnly = true;
+ this.dataGridViewTextBoxColumn1.Width = 20;
+ //
+ // dataGridViewTextBoxColumn2
+ //
+ this.dataGridViewTextBoxColumn2.HeaderText = "Name";
+ this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
+ this.dataGridViewTextBoxColumn2.ReadOnly = true;
+ this.dataGridViewTextBoxColumn2.Width = 200;
+ //
+ // dataGridViewTextBoxColumn3
+ //
+ this.dataGridViewTextBoxColumn3.HeaderText = "Size";
+ this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
+ this.dataGridViewTextBoxColumn3.ReadOnly = true;
+ //
+ // FileBrowserForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(757, 519);
+ this.Controls.Add(this.splitContainer1);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "FileBrowserForm";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "NES Mini file browser";
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ this.splitContainer1.ResumeLayout(false);
+ this.groupBoxLocal.ResumeLayout(false);
+ this.groupBoxLocal.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewLocal)).EndInit();
+ this.groupBoxRemote.ResumeLayout(false);
+ this.groupBoxRemote.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewRemote)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.GroupBox groupBoxLocal;
+ private System.Windows.Forms.TextBox textBoxLocalPath;
+ private System.Windows.Forms.DataGridView dataGridViewLocal;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colIcon;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSize;
+ private System.Windows.Forms.GroupBox groupBoxRemote;
+ private System.Windows.Forms.TextBox textBox1;
+ private System.Windows.Forms.DataGridView dataGridViewRemote;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
+ private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
+
+ }
+} \ No newline at end of file
diff --git a/FileBrowserForm.cs b/FileBrowserForm.cs
new file mode 100644
index 00000000..ebae73b8
--- /dev/null
+++ b/FileBrowserForm.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class FileBrowserForm : Form
+ {
+ public FileBrowserForm()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/WaitingForm.pl-PL.resx b/FileBrowserForm.resx
index 83568202..a9a837b4 100644
--- a/WaitingForm.pl-PL.resx
+++ b/FileBrowserForm.resx
@@ -117,49 +117,25 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
+ <metadata name="colIcon.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="colName.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="colSize.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="dataGridViewTextBoxColumn2.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="dataGridViewTextBoxColumn3.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>175, 13</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>Proszę wykonać następujące kroki:</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>313, 13</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>1. Upewnij się, że przycisk POWER na NES Mini jest wyłączony.</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>281, 13</value>
- </data>
- <data name="label3.Text" xml:space="preserve">
- <value>2. Odłącz i połącz ponownie NES Mini z PC kablem USB.</value>
- </data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>351, 13</value>
- </data>
- <data name="label4.Text" xml:space="preserve">
- <value>3. PrzytrzymujÄ…c przycisk RESET uruchom konsolÄ™ przyciskiem POWER.</value>
- </data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>398, 13</value>
- </data>
- <data name="label5.Text" xml:space="preserve">
- <value>4. Po kilku sekundach puść przycisk RESET, dioda powinna pozostać wyłączona.</value>
- </data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>302, 13</value>
- </data>
- <data name="label6.Text" xml:space="preserve">
- <value>5. Zainstaluj sterowniki, jeśli jeszcze nie zostały zainstalowane:</value>
- </data>
- <data name="buttonDriver.Text" xml:space="preserve">
- <value>Zainstaluj sterowniki</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>424, 218</value>
- </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
@@ -1292,11 +1268,4 @@
//////////////////////////////////8=
</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>Inherit</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Oczekiwanie na NES Mini...</value>
- </data>
</root> \ No newline at end of file
diff --git a/TreeContructorForm.Designer.cs b/FoldersManagerForm.Designer.cs
index 8b71a1f6..64a24cd1 100644
--- a/TreeContructorForm.Designer.cs
+++ b/FoldersManagerForm.Designer.cs
@@ -1,6 +1,6 @@
namespace com.clusterrr.hakchi_gui
{
- partial class TreeContructorForm
+ partial class FoldersManagerForm
{
/// <summary>
/// Required designer variable.
@@ -29,7 +29,7 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TreeContructorForm));
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FoldersManagerForm));
this.splitContainer = new System.Windows.Forms.SplitContainer();
this.treeView = new System.Windows.Forms.TreeView();
this.imageList = new System.Windows.Forms.ImageList(this.components);
@@ -107,34 +107,44 @@
//
this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream")));
this.imageList.TransparentColor = System.Drawing.Color.Transparent;
- this.imageList.Images.SetKeyName(0, "folder_sm.png");
- this.imageList.Images.SetKeyName(1, "folder_sm_tr.png");
- this.imageList.Images.SetKeyName(2, "original_sm.png");
- this.imageList.Images.SetKeyName(3, "original_sm_tr.png");
+ this.imageList.Images.SetKeyName(0, "32x_sm.png");
+ this.imageList.Images.SetKeyName(1, "32x_sm_tr.png");
+ this.imageList.Images.SetKeyName(2, "2600_sm.png");
+ this.imageList.Images.SetKeyName(3, "2600_sm_tr.png");
this.imageList.Images.SetKeyName(4, "app_sm.png");
this.imageList.Images.SetKeyName(5, "app_sm_tr.png");
- this.imageList.Images.SetKeyName(6, "nes_sm.png");
- this.imageList.Images.SetKeyName(7, "nes_sm_tr.png");
+ this.imageList.Images.SetKeyName(6, "arcade_sm.png");
+ this.imageList.Images.SetKeyName(7, "arcade_sm_tr.png");
this.imageList.Images.SetKeyName(8, "famicom_sm.png");
this.imageList.Images.SetKeyName(9, "famicom_sm_tr.png");
this.imageList.Images.SetKeyName(10, "fds_sm.png");
this.imageList.Images.SetKeyName(11, "fds_sm_tr.png");
- this.imageList.Images.SetKeyName(12, "snes-us_sm.png");
- this.imageList.Images.SetKeyName(13, "snes-us_sm_tr.png");
- this.imageList.Images.SetKeyName(14, "n64_sm.png");
- this.imageList.Images.SetKeyName(15, "n64_sm_tr.png");
- this.imageList.Images.SetKeyName(16, "sms_sm.png");
- this.imageList.Images.SetKeyName(17, "sms_sm_tr.png");
- this.imageList.Images.SetKeyName(18, "genesis_sm.png");
- this.imageList.Images.SetKeyName(19, "genesis_sm_tr.png");
- this.imageList.Images.SetKeyName(20, "pce_sm.png");
- this.imageList.Images.SetKeyName(21, "pce_sm_tr.png");
- this.imageList.Images.SetKeyName(22, "gb_sm.png");
- this.imageList.Images.SetKeyName(23, "gb_sm_tr.png");
- this.imageList.Images.SetKeyName(24, "gbc_sm.png");
- this.imageList.Images.SetKeyName(25, "gbc_sm_tr.png");
- this.imageList.Images.SetKeyName(26, "gba_sm.png");
- this.imageList.Images.SetKeyName(27, "gba_sm_tr.png");
+ this.imageList.Images.SetKeyName(12, "folder_sm.png");
+ this.imageList.Images.SetKeyName(13, "folder_sm_tr.png");
+ this.imageList.Images.SetKeyName(14, "gb_sm.png");
+ this.imageList.Images.SetKeyName(15, "gb_sm_tr.png");
+ this.imageList.Images.SetKeyName(16, "gba_sm.png");
+ this.imageList.Images.SetKeyName(17, "gba_sm_tr.png");
+ this.imageList.Images.SetKeyName(18, "gbc_sm.png");
+ this.imageList.Images.SetKeyName(19, "gbc_sm_tr.png");
+ this.imageList.Images.SetKeyName(20, "genesis_sm.png");
+ this.imageList.Images.SetKeyName(21, "genesis_sm_tr.png");
+ this.imageList.Images.SetKeyName(22, "gg_sm.png");
+ this.imageList.Images.SetKeyName(23, "gg_sm_tr.png");
+ this.imageList.Images.SetKeyName(24, "n64_sm.png");
+ this.imageList.Images.SetKeyName(25, "n64_sm_tr.png");
+ this.imageList.Images.SetKeyName(26, "neogeo_sm.png");
+ this.imageList.Images.SetKeyName(27, "neogeo_sm_tr.png");
+ this.imageList.Images.SetKeyName(28, "nes_sm.png");
+ this.imageList.Images.SetKeyName(29, "nes_sm_tr.png");
+ this.imageList.Images.SetKeyName(30, "original_sm.png");
+ this.imageList.Images.SetKeyName(31, "original_sm_tr.png");
+ this.imageList.Images.SetKeyName(32, "pce_sm.png");
+ this.imageList.Images.SetKeyName(33, "pce_sm_tr.png");
+ this.imageList.Images.SetKeyName(34, "sms_sm.png");
+ this.imageList.Images.SetKeyName(35, "sms_sm_tr.png");
+ this.imageList.Images.SetKeyName(36, "snes-us_sm.png");
+ this.imageList.Images.SetKeyName(37, "snes-us_sm_tr.png");
//
// comboBoxPosition
//
@@ -326,13 +336,13 @@
this.buttonOk.UseVisualStyleBackColor = true;
this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click);
//
- // TreeContructorForm
+ // FoldersManagerForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.panel2);
this.Controls.Add(this.splitContainer);
- this.Name = "TreeContructorForm";
+ this.Name = "FoldersManagerForm";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.TreeContructorForm_FormClosing);
this.splitContainer.Panel1.ResumeLayout(false);
this.splitContainer.Panel2.ResumeLayout(false);
diff --git a/FoldersManagerForm.bg-BG.resx b/FoldersManagerForm.bg-BG.resx
new file mode 100644
index 00000000..3d22b055
--- /dev/null
+++ b/FoldersManagerForm.bg-BG.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Управление на папки</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Ðнулирай</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Раздели еднакво</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Оригинални игри -&gt; еднакво разделÑне</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>РазделÑне по първата буква</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Оригинални игри -&gt; разделÑне по първата буква</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Ðова папка</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Без папки</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Оригинални игри -&gt; други игри</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Срежи</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Изтрий</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Меню на иконата</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Ðвтоматично Ñъздаване на Ñтруктурата на папки</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Приоритет на позициÑта на папката</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Създаване на нова папка</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>ПоÑтави</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Преименуване на папка</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.ca-ES.resx b/FoldersManagerForm.ca-ES.resx
new file mode 100644
index 00000000..517589bb
--- /dev/null
+++ b/FoldersManagerForm.ca-ES.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestió de les carpetes</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel·lar</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Organitzar per igual</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Jocs originals -&gt; Organitzar per igual</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Organitzar per la primera lletra</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Jocs originals -&gt; Organitzar per la primera lletra</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nova carpeta</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Sense carpetes</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Jocs originals -&gt; Altres jocs</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Tallar</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Icona a mostrar en el menú</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Crear automàticament la estructura de les carpetes</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioritat de posició de la carpeta</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Crear nova carpeta</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Enganxar</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Renombrar carpeta</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/TreeContructorForm.cs b/FoldersManagerForm.cs
index 9707b774..629f4ef7 100644
--- a/TreeContructorForm.cs
+++ b/FoldersManagerForm.cs
@@ -12,9 +12,9 @@ using System.Xml;
namespace com.clusterrr.hakchi_gui
{
- public partial class TreeContructorForm : Form
+ public partial class FoldersManagerForm : Form
{
- public static string FoldersXmlPath = Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), ConfigIni.ConfigDir), "folders.xml");
+ public static string FoldersXmlPath = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, ConfigIni.ConfigDir), "folders.xml");
List<TreeNode> cuttedNodes = new List<TreeNode>();
List<INesMenuElement> deletedGames = new List<INesMenuElement>();
NesMenuCollection gamesCollection = new NesMenuCollection();
@@ -41,7 +41,7 @@ namespace com.clusterrr.hakchi_gui
}
}
- public TreeContructorForm(NesMenuCollection nesMenuCollection, MainForm mainForm = null)
+ public FoldersManagerForm(NesMenuCollection nesMenuCollection, MainForm mainForm = null)
{
try
{
@@ -63,6 +63,7 @@ namespace com.clusterrr.hakchi_gui
}
else DrawTree();
splitContainer.Panel2MinSize = 485;
+ comboBoxPosition.Left = labelPosition.Left + labelPosition.Width;
treeView.TreeViewNodeSorter = new NodeSorter();
listViewContent.ListViewItemSorter = new NodeSorter();
}
@@ -81,7 +82,8 @@ namespace com.clusterrr.hakchi_gui
{
cuttedNodes.Clear();
treeView.Nodes.Clear();
- var rootNode = new TreeNode(Resources.MainMenu);
+ var folderImageIndex = getImageIndex(null);
+ var rootNode = new TreeNode(Resources.MainMenu, folderImageIndex, folderImageIndex);
treeView.Nodes.Add(rootNode);
rootNode.Tag = gamesCollection;
AddNodes(rootNode.Nodes, gamesCollection);
@@ -111,32 +113,41 @@ namespace com.clusterrr.hakchi_gui
static int getImageIndex(INesMenuElement nesElement)
{
- if (nesElement is NesMenuFolder || nesElement is NesMenuCollection)
+ if (nesElement == null || nesElement is NesMenuFolder || nesElement is NesMenuCollection)
+ return 12;
+
+ if (nesElement is Sega32XGame)
return 0;
- if (nesElement is NesDefaultGame)
+ if (nesElement is Atari2600Game)
return 2;
- if (nesElement is NesGame)
+ if (nesElement is ArcadeGame)
return 6;
if (nesElement is NesUGame)
return 8;
if (nesElement is FdsGame)
return 10;
- if (nesElement is SnesGame)
- return 12;
- if (nesElement is N64Game)
+ if (nesElement is GbGame)
return 14;
- if (nesElement is SmsGame)
+ if (nesElement is GbaGame)
return 16;
- if (nesElement is GenesisGame)
+ if (nesElement is GbcGame)
return 18;
- if (nesElement is PceGame)
+ if (nesElement is GenesisGame)
return 20;
- if (nesElement is GbGame)
+ if (nesElement is GameGearGame)
return 22;
- if (nesElement is GbcGame)
+ if (nesElement is N64Game)
return 24;
- if (nesElement is GbaGame)
- return 26;
+ if (nesElement is NesGame)
+ return 28;
+ if (nesElement is NesDefaultGame)
+ return 30;
+ if (nesElement is PceGame)
+ return 32;
+ if (nesElement is SmsGame)
+ return 34;
+ if (nesElement is SnesGame)
+ return 36;
return 4;
}
@@ -534,13 +545,13 @@ namespace com.clusterrr.hakchi_gui
ShowFolderStats();
return true;
}
-
-
+
void newFolder(TreeNode parent = null)
{
- var newnode = new TreeNode(Resources.FolderNameNewFolder, 0, 0);
- var newfolder = new NesMenuFolder(newnode.Text);
- newnode.Tag = newfolder;
+ var newFolder = new NesMenuFolder(Resources.FolderNameNewFolder);
+ var folderImageIndex = getImageIndex(newFolder);
+ var newnode = new TreeNode(Resources.FolderNameNewFolder, folderImageIndex, folderImageIndex);
+ newnode.Tag = newFolder;
if (parent != null)
{
parent.Nodes.Add(newnode);
@@ -553,7 +564,7 @@ namespace com.clusterrr.hakchi_gui
parent = treeView.SelectedNode;
parent.Nodes.Add(newnode);
ShowFolderStats();
- var item = new ListViewItem(newnode.Text, 0);
+ var item = new ListViewItem(newnode.Text, folderImageIndex);
item.Tag = newnode;
listViewContent.SelectedItems.Clear();
listViewContent.Items.Add(item);
@@ -562,9 +573,9 @@ namespace com.clusterrr.hakchi_gui
if (parent != null)
{
if (parent.Tag is NesMenuFolder)
- (parent.Tag as NesMenuFolder).ChildMenuCollection.Add(newfolder);
+ (parent.Tag as NesMenuFolder).ChildMenuCollection.Add(newFolder);
else if (parent.Tag is NesMenuCollection)
- (parent.Tag as NesMenuCollection).Add(newfolder);
+ (parent.Tag as NesMenuCollection).Add(newFolder);
}
}
@@ -576,8 +587,9 @@ namespace com.clusterrr.hakchi_gui
if (el.Text == name && el.Tag is NesMenuFolder)
return el;
}
- var newNode = new TreeNode(name, 0, 0);
- var newFolder = new NesMenuFolder(newNode.Text);
+ var newFolder = new NesMenuFolder(name);
+ var folderImageIndex = getImageIndex(newFolder);
+ var newNode = new TreeNode(name, folderImageIndex, folderImageIndex);
newFolder.Position = NesMenuFolder.Priority.Leftmost;
newNode.Tag = newFolder;
(root.Tag as NesMenuCollection).Add(newFolder);
diff --git a/FoldersManagerForm.da-DK.resx b/FoldersManagerForm.da-DK.resx
new file mode 100644
index 00000000..1e2caa7b
--- /dev/null
+++ b/FoldersManagerForm.da-DK.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Mappe styring</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuller</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Del ligeligt</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Originale spil -&gt; Del ligeligt</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Del efter første bogstav</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Originale spil -&gt; Del efter første bogstav</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Ny mappe</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Ingen mapper</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Originale spil -&gt; Andre spil</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Klip</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Slet</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Menu ikon</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Lav mappe-struktur automatisk</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Lav ny mappe</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Indsæt</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Omdøb mappe</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Folder position priority:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.de-De.resx b/FoldersManagerForm.de-De.resx
new file mode 100644
index 00000000..e3045fbd
--- /dev/null
+++ b/FoldersManagerForm.de-De.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Ordner Manager</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Abbrechen</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Gleichmäßig aufteilen</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Originale Spiele -&gt; Splitte gleichmäßig</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Nach dem 1. Buchstaben aufteilen</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Originale Spiele -&gt; Nach dem 1. Buchstaben aufteilen</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Neuer Ordner</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Ohne Ordner</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Originale Spiele -&gt; Andere Spiele</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Ausschneiden</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Löschen</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Menu Icon</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Ordnerstruktur automatisch erstellen</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Ordnerstatistik</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Position des Ordners:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Neuen Ordner erstellen</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Einfügen</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Ordner umbenennen</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.el-GR.resx b/FoldersManagerForm.el-GR.resx
new file mode 100644
index 00000000..1572a844
--- /dev/null
+++ b/FoldersManagerForm.el-GR.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>ΔιαχειÏιστής Φακέλων</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>ΑκÏÏωση</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>ΔιαχωÏισμός εξίσου</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Αυθεντικά παιχνίδια -&gt; ΔιαχωÏισμός εξίσου</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>ΔιαχωÏισμός ανά Ï€Ïώτο γÏάμμα</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Αυθεντικά παιχνίδια -&gt; ΔιαχωÏισμός ανά Ï€Ïώτο γÏάμμα</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Îέος φάκελος</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>ΧωÏίς φακέλους</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Αυθεντικά παιχνίδια -&gt; Άλλα παιχνίδια</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Αποκοπή</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>ΔιαγÏαφή</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Εικονίδιο μενοÏ</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Αυτόματη δημιουÏγία δομής φακέλων</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>ΠÏοτεÏαιότητα θέσης φακέλου</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>ΔημιουÏγία νέου φακέλου</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Επικόλληση</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Μετονομασία φακέλου</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.en-GB.resx b/FoldersManagerForm.en-GB.resx
new file mode 100644
index 00000000..0c44292d
--- /dev/null
+++ b/FoldersManagerForm.en-GB.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Folder manager</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Split equally</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Original games -&gt; Split equally</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Split by first letter</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Original games -&gt; Split by first letter</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>New folder</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>No folders</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Original games -&gt; Other games</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Cut</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Delete</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Menu icon</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Create folder structure automatically</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Folder position priority:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Create new folder</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Paste</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Rename folder</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.es-AR.resx b/FoldersManagerForm.es-AR.resx
new file mode 100644
index 00000000..765ab961
--- /dev/null
+++ b/FoldersManagerForm.es-AR.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Administrador de carpetas</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Separar equitativamente</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Juegos originales -&gt; Separar equitativamente</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Separar alfabéticamente</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Juegos originales -&gt; Separar alfabéticamente</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nueva carpeta</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Sin carpetas</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Juegos originales -&gt; Otros juegos</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Cortar</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Ãcono del menú</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Crear estructura de carpetas automáticamente</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioridad de posición de carpeta:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Crear nueva carpeta</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Pegar</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Renombrar carpeta</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.es-ES.resx b/FoldersManagerForm.es-ES.resx
new file mode 100644
index 00000000..26385ae7
--- /dev/null
+++ b/FoldersManagerForm.es-ES.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestión de las carpetas</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Dividir por igual</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Juegos originales -&gt; Dividir por igual</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Dividir por primera letra</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Juegos originales -&gt; Dividir por primera letra</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nueva carpeta</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Sin carpetas</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Juegos originales -&gt; Otros juegos</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Cortar</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Icono a mostrar en el menú</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Crear automáticamente la estructura de las carpetas</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioridad de posición de carpeta</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Crear nueva carpeta</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Pegar</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Renombrar carpeta</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.fi-FI.resx b/FoldersManagerForm.fi-FI.resx
new file mode 100644
index 00000000..9bd664b6
--- /dev/null
+++ b/FoldersManagerForm.fi-FI.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Kansiohallinta</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Peruuta</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Jaettu tasaisesti</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Alkuperäiset pelit -&gt; Jaettu tasaisesti</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Jaettu alkukirjaimen mukaan</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Alkuperäiset pelit -&gt; Jaettu alkukirjaimen mukaan</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Uusi kansio</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Ei kansioita</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Alkuperäiset pelit -&gt; Muut pelit</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Leikkaa</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Poista</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Valikkokuvake</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Luo kansiorakenne automaattisesti</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Kansion paikka:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Luo uusi kansio</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Liitä</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Nimeä kansio uudelleen</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.fr-FR.resx b/FoldersManagerForm.fr-FR.resx
new file mode 100644
index 00000000..0ec17648
--- /dev/null
+++ b/FoldersManagerForm.fr-FR.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestionnaire de dossiers</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuler</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Scinder également</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Jeux Originaux -&gt; Scinder également</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Scinder à partir de la première lettre</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Jeux Originaux -&gt; Scinder à partir de la première lettre</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nouveau dossier</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Aucun dossier</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Jeux Originaux -&gt; Autres jeux</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Couper</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Supprimer</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Icône du menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Créer la structure des dossiers automatiquement</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Priorité de la position du dossier:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Créer un nouveau dossier</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Coller</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Renommer dossier</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.id-ID.resx b/FoldersManagerForm.id-ID.resx
new file mode 100644
index 00000000..32b94bd7
--- /dev/null
+++ b/FoldersManagerForm.id-ID.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Folders Manager</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Batal</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Bagi secara sama</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Game orisinal -&gt; Bagi secara sama</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Bagi berdasarkan huruf pertama</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Game orisinal -&gt; Bagi berdasarkan huruf pertama</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Folder baru</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Tanpa folder</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Game orisinal -&gt; Game lainnya</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Potong</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Hapus</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Ikon Menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Buat Folder Structure secara otomatis</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioritas posisi folder:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Buat folder baru</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Tempel</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Nama ulang folder</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.it-IT.resx b/FoldersManagerForm.it-IT.resx
new file mode 100644
index 00000000..3fcc5efe
--- /dev/null
+++ b/FoldersManagerForm.it-IT.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Manager Cartelle</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancella</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Dividi in parti uguali</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Giochi originali -&gt; Divisi in parti uguali</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Dividi considerando la prima lettera</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Giochi originali -&gt; Divisi considerando la prima lettera</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nuova cartella</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Nessuna cartella</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Giochi originali -&gt; Altri giochi</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Taglia</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Cancella</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Icona menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Creare una struttura di cartelle automaticamente</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Priorità di posizione della cartella:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Crea una nuova cartella</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Incolla</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Rinomina cartella</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.nl.resx b/FoldersManagerForm.nl.resx
new file mode 100644
index 00000000..5fe830b8
--- /dev/null
+++ b/FoldersManagerForm.nl.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Map Manager</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuleer</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Verdeel gelijkmatig</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Originele spellen -&gt; Verdeel gelijkmatig</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Verdeel op de eerste letter</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Originele spellen -&gt; Verdeel vanaf de eerste letter</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nieuwe map</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Geen mappen</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Originele spellen -&gt; Andere spellen</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Knippen</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Verwijderen</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Menu icoon</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Creëer de mappen structuur automatisch</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioriteit van de mappen positie:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Creëer een nieuwe map</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Plakken</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Hernoem map</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.pl-PL.resx b/FoldersManagerForm.pl-PL.resx
new file mode 100644
index 00000000..9315945c
--- /dev/null
+++ b/FoldersManagerForm.pl-PL.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Menadżer Folderów</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Anuluj</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Podziel po równo</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Oryginalne gry -&gt; Podziel po równo</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Podziel alfabetycznie</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Oryginalne gry -&gt; Podziel alfabetycznie</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>New folder</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Bez folderów</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Oryginalne gry -&gt; Inne gry</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Wytnij</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Usuń</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Ikona menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Utwórz strukturę katalogów automatycznie</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Statystyki folderów</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Pozycja folderów - kolejność:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Utwórz nowy folder</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Wklej</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Zmień nazwę folderu</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.pt-PT.resx b/FoldersManagerForm.pt-PT.resx
new file mode 100644
index 00000000..1462974f
--- /dev/null
+++ b/FoldersManagerForm.pt-PT.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gerenciador de pastas</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Dividir igualmente</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Jogos originais -&gt; Dividir igualmente</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Dividir pela primeira letra</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Jogos originais -&gt; Dividir pela primeira letra</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nova pasta</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Sem pastas</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Jogos originais -&gt; Outros jogos</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Cortar</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Excluir</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Ãcone do menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Criar estrutura de pastas automaticamente</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioridade de posição da pasta:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Criar nova pasta</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Colar</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Renomear pasta</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/TreeContructorForm.resx b/FoldersManagerForm.resx
index 68473c6f..eb8f5940 100644
--- a/TreeContructorForm.resx
+++ b/FoldersManagerForm.resx
@@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="splitContainer.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@@ -132,16 +132,13 @@
<data name="treeView.ImageIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
- <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
<data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+
- HAAAAk1TRnQBSQFMAgEBHAEAAdQBAAHUAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
- AwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD0
+ IwAAAk1TRnQBSQFMAgEBJgEAAeQBAAHkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ AwABQAMAAaADAAEBAQABCAYAASgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
@@ -168,99 +165,132 @@
AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
- AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ARgAOKwIA
- DpkiAAErAZoKMgGaASsCAAGZAcMKmgHDAZkiAAErAZoBMghZATIBmgErAgABmQHDCpoBwwGZAgAOEQIA
- Du0CAAErAZoBMghZATIBmgErAgABmQHDCpoBwwGZAgABEQHsCm0B7AERAgAB7QEHCu8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AptAewBEQIAAe0BBwrvAQcB7QIAASsCMghZAjIBKwIA
- AZkMmgGZAQABEQNtAhEEbQIRA20BEQHtA+8C7QTvAu0D7wHtAQACKwoyAisCAAKZCpoCmQEAAREB7QRt
- BBEEbQHtAREB7QG8BO8E7QTvAbwB7QEAASsBmgIyBpoCMgGaASsCAAGZAcMCmgbDApoBwwGZAQABEQ7t
- AREB7Q68Ae0BAAIrATIBKwYyAZoBMgIrAgACmQGaAZkGmgHDAZoCmQIADhECAA7tAgABKwMyBisCMgGa
- ASsCAAGZA5oGmQKaAcMBmSIAASsLmgIrAgABmQvDApkiAAwrBAAMmWYACe8HAAnwBQAObQIADu8DAALv
- AvQDBwL0Au8FAALwAvYD8QL2AvAEAAFtAbwK7QG8AW0CAAHvAfIKvAHyAe8DAAHvBPQBBwT0Ae8FAAHw
- BPYB8QT2AfAEAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wMAAe8B9AcnAfQB7wUAAfAB9gft
- AfYB8AQAAW0BvAHtCO8B7QG8AW0CAAHvAfIBvAjxAbwB8gHvAwAB7wH0BycB9AHvBQAB8AH2B+0B9gHw
- BAABbQG8Ae0I7wHtAbwBbQIAAe8B8gG8CPEBvAHyAe8DAAHvAfQHJwH0Ae8FAAHwAfYH7QH2AfAEAAFt
- AbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wMAAe8B9AcnAfQB7wUAAfAB9gftAfYB8AQAAW0BvAHt
- CO8B7QG8AW0CAAHvAfIBvAjxAbwB8gHvAwAB7wH0BycB9AHvBQAB8AH2B+0B9gHwBAABbQG8Ae0I7wHt
- AbwBbQIAAe8B8gG8CPEBvAHyAe8DAAHvCfQB7wUAAfAJ9gHwBAABbQLtCO8C7QFtAgAB7wK8CPECvAHv
- AwAB7wL0BQAC9AHvBQAB8AL2BewC9gHwBAACbQrtAm0CAALvCrwC7wMAAe8B9AcAAfQB7wUAAfAB9gfs
- AfYB8AQAAW0BvALtBrwC7QG8AW0CAAHvAfICvAbyArwB8gHvAwAB7wH0BwAB9AHvBQAB8AH2B+wB9gHw
- BAACbQHtAW0G7QG8Ae0CbQIAAu8BvAHvBrwB8gG8Au8DAAHvAfQBAAErAQABKwEAASsBAAH0Ae8FAAHw
- AfYB7AGZAewBmQHsAZkB7AH2AfAEAAFtA+0GbQLtAbwBbQIAAe8DvAbvArwB8gHvAwAB7wn/Ae8FAAHw
- Cf8B8AQAAW0LvAJtAgAB7wvyAu8DAAvvBQAL8AQADG0EAAzvwwAQERDtEBEQ7QERDhMBEQHtDvcB7QER
- ARIMEwESAREB7QHvDPcB7wHtAREOEwERAe0O9wHtAREBEgITCA8CEwESAREB7QHvAvcI7AL3Ae8B7QER
- DhMBEQHtDvcB7QERARIBEwIPAhIBDwESAQ8BEgIPARMBEgERAe0B7wH3AuwC7wHsAe8B7AHvAuwB9wHv
- Ae0BEQ4TAREB7Q73Ae0BEQESARMEwwIPAcMBBwFAAcMBEwESAREB7QHvAfcE9gLsAfYB8QEWAfYB9wHv
- Ae0BEQ4VAREB7Q6SAe0BEQESARMCwwG9BMMBoAF6AcMBEwESAREB7QHvAfcC9gHzBPYBwwEaAfYB9wHv
- Ae0BEQ4SAREB7Q7vAe0BEQESARMEwwG9AsMBoAETAcMBEwESAREB7QHvAfcE9gHzAvYBwwH3AfYB9wHv
- Ae0BEQEgBW8IIAERAe0BFgWUCBYB7QERARIBEwHDAr0DwwHzAa0BpgGtARMBEgERAe0B7wH3AfYC8wP2
- AfQBCQG1AQkB9wHvAe0BEQEgAm8LIAERAe0BFgKUCxYB7QERAusGwwG9ARsBrQHDAusBEQHtAgcG9gH0
- AfYBCQH2AgcB7QERDgEBEQHtDpMB7QMRCpkDEQPtChsD7f8AYQAQ7RC8EG0Q7wHtAfEB7wG8Ae8GvAHv
- AbwB7wHxAe0BvAHzAfEB8gHxBvIB8QHyAfEB8wG8AW0B7QHsAe0I7AHtAewB7QFtAe8BvAEHAbwIBwG8
- AQcBvAHvAe0B8QHvAbwB7wEPAkoBSwEPAQ4B7wG8Ae8B8QHtAbwB8wHxAfIB8QHtAu8BmQHtAewB8QHy
- AfEB8wG8AW0D7QjsA+0BbQHvA7wIBwO8Ae8B7QHvArwB7wEPAQ4BuwGgAWYBDgHvArwB7wHtAbwB8QLy
- AfEC7AEZAcMB9wHsAfEC8gHxAbwDbQHtAewB7QHsAm0B7AHtAewB7QNtA+8BvAEHAbwBBwLvAQcBvAEH
- AbwD7wHtAfECvAHvAQ8CAAF5AUMBDwHvArwB8QHtAbwB8wLyAfED7AEaAZIB7AHxAvIB8wG8AW0D7QHs
- Bu0B7APtAW0B7wO8AQcGvAEHA7wB7wHtAfECvAHvAg8BSgEOAQABDgHvArwB8QHtAbwB8wLyAfEB7AHt
- ARwD7AHxAvIB8wG8A20B7QHsBRUBHwHsAe0DbQPvAbwBBwWSAZMBBwG8A+8B7QHxArwB7wIPAbMB7AG0
- Aa0B7wK8AfEB7QG8AfMC8gHxAuwBCQEHAgkB8QLyAfMBvAFtA+0BFQVSAhUD7QFtAe8DvAGSBZkCkgO8
- Ae8B7QHxArwB7wGLAusC+AEPAe8CvAHxAe0BvAHzAvIB8QG7Au8CBwHsAfEC8gHzAbwDbQHtARUFUgIV
- Ae0DbQPvAbwBkgWZApIBvAPvAe0B8wK8Ae8BvAQPAbwB7wK8AfMB7QG8AfQC8gHxAfIE7AHyAfEC8gH0
- AbwBbQPtARUFUgIVA+0BbQHvA7wBkgWZApIDvAHvAu0C8wHvBrwB7wLzAu0CvAL0AfEG8gHxAvQCvAFt
- A7wBFQVSAhUDvAFtAe8D8gGSBZkCkgPyAe8CAALtCPMC7QQAArwI9AK8AgAEbQERBUsCEQRtBO8B7QUc
- Au0E7wQACO0IAAi85QAOKwIADpkiAAErDDIBKwIAAZkMmgGZAgAOSAIADpgCAAErDDIBKwIAAZkMmgGZ
- AgABSAxUAUgCAA6YAgABKwIyASsHmgIyASsCAAGZApoBmQfDApoBmQEAAkgMVAJIEJgBAAErAjIHKwGa
- AjIBKwIAAZkCmgeZAcMCmgGZAQABSA5UAUgQmAEAASsMMgErAgABmQyaAZkBAAFIAVQH8AEzBPABVAFI
- ApgH8wGYBPMCmAEAASsFMgKaBTIBKwIAAZkFmgLDBZoBmQEAAUgBVAczAfABMwPwAVQBSAmYAfMBmAPz
- ApgBAAErBDIBmgIyAZoEMgErAgABmQSaAcMCmgHDBJoBmQEAAUgBVAnwATMB8AEzAVQBSAKYCfMBmAHz
- A5gBAAErAzIBKwEyAv8BMgErAzIBKwIAAZkDmgGZAZoC/wGaAZkDmgGZAQABSAFUAjMI8AEzAfABVAFI
- BJgI8wGYAfMCmAEAASsDMgErBDIBKwMyASsCAAGZA5oBmQSaAZkDmgGZAQABSA5UAUgQmAEAASsBMgEr
- ATIBKwEyAg8BMgErATIBKwEyASsCAAGZAZoBmQGaAZkBmgLsAZoBmQGaAZkBmgGZAQABSA48AUgBmA6e
- AZgBAAErAzIBKwEyAg8BMgErAzIBKwIAAZkDmgGZAZoC7AGaAZkDmgGZAgAOSAIADpgCAAErATIDmgQy
- A5oBMgErAgABmQGaA8MEmgPDAZoBmSIAASsBmgMrBJoDKwGaASsCAAGZAcMDmQTDA5kBwwGZIgACKwMA
- BCsDAAIrAgACmQMABJkDAAKZQwAMkgQADLwDAA4SAgAO7wIAApIKBwKSAgACvAryArwCAAESAe0CvAnt
- ARICAAHvAbwC8gm8Ae8CAAGSBQcCkgUHAZICAAG8BfICvAXyAbwCAAESAe0CEgntARICAAHvAbwC7wm8
- Ae8CAAGSAgcCkgEHApIBBwKSAgcBkgIAAbwC8gK8AfICvAHyArwC8gG8AQABEgLtArwC7QESB+0BEgHv
- ArwC8gK8Ae8HvAHvAQABkgIHCJICBwGSAgABvALyCLwC8gG8AQABEgLtAhIK7QESAe8CvALvCrwB7wEA
- AZIDBwKSAgcCkgMHAZICAAG8A/ICvALyArwD8gG8AQABEgLtArwB7QdtAu0BEgHvArwC8gG8B+8CvAHv
- AQABkgEHA5IEBwOSAQcBkgIAAbwB8gO8BPIDvAHyAbwBAAESAu0CEgHtB20C7QESAe8CvALvAbwH7wK8
- Ae8BAAGSAQcDkgQHA5IBBwGSAgABvAHyA7wE8gO8AfIBvAEAARIC7QK8Ae0HbQLtARIB7wK8AvIBvAfv
- ArwB7wEAAZIDBwKSAgcCkgMHAZICAAG8A/ICvALyArwD8gG8AQABEgLtAhIB7QdtAu0BEgHvArwC7wG8
- B+8CvAHvAQABkgIHCJICBwGSAgABvALyCLwC8gG8AQABEgLtArwB7QdtAu0BEgHvArwC8gG8B+8CvAHv
- AQABkgIHApIBBwKSAQcBkgPsAZICAAG8AvICvAHyArwB8gG8AwcBvAEAARIC7QISAe0HbQLtARIB7wK8
- Au8BvAfvArwB7wEAAZIFBwKSAQcD7AGSAwABvAXyArwB8gMHAbwCAAESAu0CvAHtB20C7QESAe8CvALy
- AbwH7wK8Ae8BAAGSAfAHBwLsAZIEAAG8AfMH8gIHAbwDAAESAu0CDwHtB20C7QESAe8CvALsAbwH7wK8
- Ae8BAAKSB/AB7AGSBQACvAfzAQcBvAQAARICvAISAbwHbQK8ARIB7wLyAu8B8gfvAvIB7wIACZIHAAm8
- BQADEgIPARIHDwMSA+8C7AHvB+wD72EADhICAA7vAgAOtAIADrwCAAESAe0CvAntARICAAHvAbwC8gm8
- Ae8CAAG0DAkBtAIAAbwM8gG8AgABEgHtAhIJ7QESAgAB7wG8Au8JvAHvAgABtAwJAbQCAAG8DPIBvAEA
- ARIC7QK8Au0BEgftARIB7wK8AvICvAHvB7wB7wEAAbQMCQG0AgABvAzyAbwBAAESAu0CEgrtARIB7wK8
- Au8KvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0HMgLtARIB7wK8AvIBvAeaArwB7wG0DgkBtAG8DvIBvAES
- Au0CEgHtAjIChgGLAjIC7QESAe8CvALvAbwCmgO1ApoCvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0COAGL
- ARIBGgETATgC7QESAe8CvALyAbwCmgG7Ae8BGwH3AZoCvAHvAbQOCQG0AbwO8gG8ARIC7QISAe0COAFu
- AZMBGgEcATgC7QESAe8CvALvAbwCmgEHAbwB8wHwAZoCvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0EOAIX
- ATgC7QESAe8CvALyAbwEoAKUAaACvAHvB7QICQG0B7wI8gG8ARIC7QISAe0FOAGUATgC7QESAe8CvALv
- AbwFoAG9AaACvAHvAQAFrgq0AQAFBwq8ARIC7QK8Ae0B+wHTAfsB0wP7Au0BEgHvArwC8gG8AaAB3AGg
- AdwDoAK8Ae8BAA6uAgAOBwEAARIC7QIPAe0B+wHTAfsD0wH7Au0BEgHvArwC7AG8AaAB3AGgA9wBoAK8
- Ae8CAAWuCwAFBwkAARICvAISAbwH+wK8ARIB7wLyAu8B8gegAvIB7yAAAxICDwESBzADEgPvAuwB7weZ
- A+8BQgFNAT4HAAE+AwABKAMAAUADAAGAAwABAQEAAQEGAAEEFgAD/4EACP8BgAEBAYABAQT/AYABAQGA
- AQEE/wGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
- AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBBAABgAEBAYABAQQA
- AYABAQGAAQEEAAGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQT/AYABAQGAAQEE/wGAAQcBgAEHDP8B4AEP
- AeABDwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEB
- AcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEB
- AYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEH
- AYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABBwGAAQcY/1AA
- LP9QAAHAAQMBwAEDBAAB8AEPAfABDxz/AYABAQGAAQEE/wGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
- AQEBgAEBAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
- AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEE/wGAAQEBgAEB
- BP8BnAE5AZwBOQj/AcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
- AYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQA
- AYABAQGAAQEEAAGAAQEBgAEBBAABgAEDAYABAwQAAYABBwGAAQcEAAGAAQ8BgAEPBAABwAEfAcABHwQA
- DP8BgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEEAAGAAQEBgAEB
- NAABgAEAAYAFAAGAAQEBgAEBBAABwQH/AcEB/wQABP8EAAs=
+ AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/8EAEG0Q7yAAAW0B7QHs
+ Ae0I7AHtAewB7QFtAe8BvAEHAbwIBwG8AQcBvAHvIAABbQPtCOwD7QFtAe8DvAgHA7wB7yAAA20B7QHs
+ Ae0B7AJtAewB7QHsAe0DbQPvAbwBBwG8AQcC7wEHAbwBBwG8A+8gAAFtA+0B7AbtAewD7QFtAe8DvAEH
+ BrwBBwO8Ae8gAANtAe0B7AUVAR8B7AHtA20D7wG8AQcFkgGTAQcBvAPvIAABbQPtARUFUgIVA+0BbQHv
+ A7wBkgWZApIDvAHvIAADbQHtARUFUgIVAe0DbQPvAbwBkgWZApIBvAPvIAABbQPtARUFUgIVA+0BbQHv
+ A7wBkgWZApIDvAHvIAABbQO8ARUFUgIVA7wBbQHvA/IBkgWZApID8gHvIAAEbQERBUsCEQRtBO8B7QUc
+ Au0E7+MACe8HAAnwJgAC7wL0AwcC9ALvBQAC8AL2A/EC9gLwJQAB7wT0AQcE9AHvBQAB8AT2AfEE9gHw
+ AwAQERDtAgAB7wH0BycB9AHvBQAB8AH2B+0B9gHwAwABEQ4TAREB7Q73Ae0CAAHvAfQHJwH0Ae8FAAHw
+ AfYH7QH2AfADAAERDhMBEQHtDvcB7QIAAe8B9AcnAfQB7wUAAfAB9gftAfYB8AMAAREOEwERAe0O9wHt
+ AgAB7wH0BycB9AHvBQAB8AH2B+0B9gHwAwABEQ4TAREB7Q73Ae0CAAHvAfQHJwH0Ae8FAAHwAfYH7QH2
+ AfADAAERDhUBEQHtDpIB7QIAAe8J9AHvBQAB8An2AfADAAERDhIBEQHtDu8B7QIAAe8C9AUAAvQB7wUA
+ AfAC9gXsAvYB8AMAAREBIAVvCCABEQHtARYFlAgWAe0CAAHvAfQHAAH0Ae8FAAHwAfYH7AH2AfADAAER
+ ASACbwsgAREB7QEWApQLFgHtAgAB7wH0BwAB9AHvBQAB8AH2B+wB9gHwAwABEQ4BAREB7Q6TAe0CAAHv
+ AfQBAAErAQABKwEAASsBAAH0Ae8FAAHwAfYB7AGZAewBmQHsAZkB7AH2AfAlAAHvCf8B7wUAAfAJ/wHw
+ JQAL7wUAC/BkAA4SAgAO7wIADhICAA7vAgABEgHtArwJ7QESAgAB7wG8AvIJvAHvAgABEgHtArwJ7QES
+ AgAB7wG8AvIJvAHvAgABEgHtAhIJ7QESAgAB7wG8Au8JvAHvAgABEgHtAhIJ7QESAgAB7wG8Au8JvAHv
+ AQABEgLtArwC7QESB+0BEgHvArwC8gK8Ae8HvAHvARIC7QK8Au0BEgftARIB7wK8AvICvAHvB7wB7wES
+ Au0CEgrtARIB7wK8Au8KvAHvARIC7QISCu0BEgHvArwC7wq8Ae8BEgLtArwB7QdtAu0BEgHvArwC8gG8
+ B+8CvAHvARIC7QK8Ae0HMgLtARIB7wK8AvIBvAeaArwB7wESAu0CEgHtB20C7QESAe8CvALvAbwH7wK8
+ Ae8BEgLtAhIB7QIyAoYBiwIyAu0BEgHvArwC7wG8ApoDtQKaArwB7wESAu0CvAHtB20C7QESAe8CvALy
+ AbwH7wK8Ae8BEgLtArwB7QI4AYsBEgEaARMBOALtARIB7wK8AvIBvAKaAbsB7wEbAfcBmgK8Ae8BEgLt
+ AhIB7QdtAu0BEgHvArwC7wG8B+8CvAHvARIC7QISAe0COAFuAZMBGgEcATgC7QESAe8CvALvAbwCmgEH
+ AbwB8wHwAZoCvAHvARIC7QK8Ae0HbQLtARIB7wK8AvIBvAfvArwB7wESAu0CvAHtBDgCFwE4Au0BEgHv
+ ArwC8gG8BKAClAGgArwB7wESAu0CEgHtB20C7QESAe8CvALvAbwH7wK8Ae8BEgLtAhIB7QU4AZQBOALt
+ ARIB7wK8Au8BvAWgAb0BoAK8Ae8BEgLtArwB7QdtAu0BEgHvArwC8gG8B+8CvAHvARIC7QK8Ae0B+wHT
+ AfsB0wP7Au0BEgHvArwC8gG8AaAB3AGgAdwDoAK8Ae8BEgLtAg8B7QdtAu0BEgHvArwC7AG8B+8CvAHv
+ ARIC7QIPAe0B+wHTAfsD0wH7Au0BEgHvArwC7AG8AaAB3AGgA9wBoAK8Ae8BEgK8AhIBvAdtArwBEgHv
+ AvIC7wHyB+8C8gHvARICvAISAbwH+wK8ARIB7wLyAu8B8gegAvIB7wMSAg8BEgcPAxID7wLsAe8H7APv
+ AxICDwESBzADEgPvAuwB7weZA++AABDtELwQERHtAfEB7wG8Ae8GvAHvAbwB7wHxAe0BvAHzAfEB8gHx
+ BvIB8QHyAfEB8wG8AREBFQETBRUBEwQVARMBFQERAe0BkgH3BZIB9wSSAfcBkgLtAfEB7wG8Ae8BDwJK
+ AUsBDwEOAe8BvAHvAfEB7QG8AfMB8QHyAfEB7QLvAZkB7QHsAfEB8gHxAfMBvAERARUBEwUVARMEFQET
+ ARUBEQHtAZIB9wWSAfcEkgH3AZIC7QHvArwB7wEPAQ4BuwGgAWYBDgHvArwB7wHtAbwB8QLyAfEC7AEZ
+ AcMB9wHsAfEC8gHxAbwBEQEVARMFFQETBBUBEwEVAREB7QGSAfcFkgH3BJIB9wGSAu0B8QK8Ae8BDwIA
+ AXkBQwEPAe8CvAHxAe0BvAHzAvIB8QPsARoBkgHsAfEC8gHzAbwBEQ4TAREB7Q73Au0B8QK8Ae8CDwFK
+ AQ4BAAEOAe8CvAHxAe0BvAHzAvIB8QHsAe0BHAPsAfEC8gHzAbwBEQ4TAREB7Q73Au0B8QK8Ae8CDwGz
+ AewBtAGtAe8CvAHxAe0BvAHzAvIB8QLsAQkBBwIJAfEC8gHzAbwBEQ4TAREB7Q73Au0B8QK8Ae8BiwLr
+ AuwBDwHvArwB8QHtAbwB8wLyAfEBuwLvAgcB7AHxAvIB8wG8AREEEwKzBLUEEwERAe0E9wIJBLwE9wLt
+ AfMCvAHvAbwEDwG8Ae8CvAHzAe0BvAH0AvIB8QHyBOwB8gHxAvIB9AG8AREEEwJYBLUEEwERAe0E9wKZ
+ BLwE9wPtAvMB7wa8Ae8C8wLtArwC9AHxBvIB8QL0ArwBEQQTAg8EtQQTAREB7QT3AuwEvAT3Ae0CAALt
+ CPMC7QQAArwI9AK8AgABEQNtARMCBwS1ARMDbQERAe0D7wH3AvEEvAH3A+8B7QQACO0IAAi8BAAEEQFt
+ Ag8EtQFtBBEE7QHvAuwEvAHvBO0kAAERAg4E6gERCAAB7QLsBO8B7aQAEBEQ7SAAAREOEwERAe0O9wHt
+ EBEQ7QERBRMEFQUTAREB7QX3BJIF9wHtAREBEgwTARIBEQHtAe8M9wHvAe0BEQETAYsBhgFFAYsCTwGG
+ BYsBEwERAe0B9wG7AbUBkwG7ApgBtQW7AfcB7QERARICEwgPAhMBEgERAe0B7wL3COwC9wHvAe0BEQET
+ AbQBugG0AakEtAO6AbQBEwERAe0B9wMJAbYECQPhAQkB9wHtAREBEgETAg8CEgEPARIBDwESAg8BEwES
+ AREB7QHvAfcC7ALvAewB7wHsAe8C7AH3Ae8B7QERARMFtAFFBbQBtQETAREB7QH3Bd0BkwXdAfAB9wHt
+ AREBEgETBMMCDwHDAQcBQAHDARMBEgERAe0B7wH3BPYC7AH2AfEBFgH2AfcB7wHtAREBEwG7AYsDuwFx
+ BbsBcQETAREB7QH3ARkBtQMZAZgFGQGYAfcB7QERARIBEwLDAb0EwwGgAXoBwwETARIBEQHtAe8B9wL2
+ AfME9gHDARoB9gH3Ae8B7QIRAgkBbQEJAm0BCQJtAgkBqQIRAu0CGQHvARkC7wEZAu8CGQG2Au0BEQES
+ ARMEwwG9AsMBoAETAcMBEwESAREB7QHvAfcE9gHzAvYBwwH3AfYB9wHvAe0BEQEVAgkIbQIJARUBEQHt
+ AZICGQjvAhkBkgHtAREBEgETAcMCvQPDAfMBrQGmAa0BEwESAREB7QHvAfcB9gLzA/YB9AEJAbUBCQH3
+ Ae8B7QERARUDCQJtAQkDbQMJARUBEQHtAZID8wLvAfMD7wPzAZIB7QERAusGwwG9ARsBrQHDAusBEQHt
+ AgcG9gH0AfYBCQH2AgcB7QERARUBEQrwAREBFQERAe0BkgHtCvMB7QGSAe0DEQqZAxED7QobA+0BEQIV
+ ChECFQERAe0CkgrtApIB7SAAAREOEgERAe0O7wHtIAABEQ7rAREB7Q4HAe0gABAREO1hAA4rAgAOmSIA
+ ASsBmgoyAZoBKwIAAZkBwwqaAcMBmQIADhECAA7tAgABKwGaATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIA
+ AREB7AptAewBEQIAAe0BBwrvAQcB7QIAASsBmgEyCFkBMgGaASsCAAGZAcMKmgHDAZkCAAERAewBbQjs
+ AW0B7AERAgAB7QEHAe8IBwHvAQcB7QIAASsBmgEyCFkBMgGaASsCAAGZAcMKmgHDAZkCAAERAewBbQjs
+ AW0B7AERAgAB7QEHAe8IBwHvAQcB7QIAASsBmgEyCFkBMgGaASsCAAGZAcMKmgHDAZkCAAERAewBbQjs
+ AW0B7AERAgAB7QEHAe8IBwHvAQcB7QIAASsBmgEyCFkBMgGaASsCAAGZAcMKmgHDAZkCAAERAewKbQHs
+ ARECAAHtAQcK7wEHAe0CAAErAZoBMghZATIBmgErAgABmQHDCpoBwwGZAQABEQNtAhEEbQIRA20BEQHt
+ A+8C7QTvAu0D7wHtAQABKwIyCFkCMgErAgABmQyaAZkBAAERAe0EbQQRBG0B7QERAe0BvATvBO0E7wG8
+ Ae0BAAIrCjICKwIAApkKmgKZAQABEQ7tAREB7Q68Ae0BAAErAZoCMgaaAjIBmgErAgABmQHDApoGwwKa
+ AcMBmQIADhECAA7tAgACKwEyASsGMgGaATICKwIAApkBmgGZBpoBwwGaApkiAAErAzIGKwIyAZoBKwIA
+ AZkDmgaZApoBwwGZIgABKwuaAisCAAGZC8MCmSIADCsEAAyZZAAObQIADu8CAA60AgAOvAIAAW0BvArt
+ AbwBbQIAAe8B8gq8AfIB7wIAAbQMCQG0AgABvAzyAbwCAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8
+ AfIB7wIAAbQMCQG0AgABvAzyAbwCAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wIAAbQMCQG0
+ AgABvAzyAbwCAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wEAAbQOCQG0AbwO8gG8AQABbQG8
+ Ae0I7wHtAbwBbQIAAe8B8gG8CPEBvAHyAe8BAAG0DgkBtAG8DvIBvAEAAW0BvAHtCO8B7QG8AW0CAAHv
+ AfIBvAjxAbwB8gHvAQABtA4JAbQBvA7yAbwBAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wEA
+ AbQOCQG0AbwO8gG8AQABbQLtCO8C7QFtAgAB7wK8CPECvAHvAQABtA4JAbQBvA7yAbwBAAJtCu0CbQIA
+ Au8KvALvAQAHtAgJAbQHvAjyAbwBAAFtAbwC7Qa8Au0BvAFtAgAB7wHyArwG8gK8AfIB7wIABa4KtAEA
+ BQcKvAEAAm0B7QFtBu0BvAHtAm0CAALvAbwB7wa8AfIBvALvAgAOrgIADgcCAAFtA+0GbQLtAbwBbQIA
+ Ae8DvAbvArwB8gHvAwAFrgsABQcKAAFtC7wCbQIAAe8L8gLvIgAMbQQADO9kAA4rAgAOmSIAASsMMgEr
+ AgABmQyaAZkCAA5IAgAOmAIAASsMMgErAgABmQyaAZkCAAFIDFQBSAIADpgCAAErAjIBKweaAjIBKwIA
+ AZkCmgGZB8MCmgGZAQACSAxUAkgQmAEAASsCMgcrAZoCMgErAgABmQKaB5kBwwKaAZkBAAFIDlQBSBCY
+ AQABKwwyASsCAAGZDJoBmQEAAUgBVAfwATME8AFUAUgCmAfzAZgE8wKYAQABKwUyApoFMgErAgABmQWa
+ AsMFmgGZAQABSAFUBzMB8AEzA/ABVAFICZgB8wGYA/MCmAEAASsEMgGaAjIBmgQyASsCAAGZBJoBwwKa
+ AcMEmgGZAQABSAFUCfABMwHwATMBVAFIApgJ8wGYAfMDmAEAASsDMgErATIC/wEyASsDMgErAgABmQOa
+ AZkBmgL/AZoBmQOaAZkBAAFIAVQCMwjwATMB8AFUAUgEmAjzAZgB8wKYAQABKwMyASsEMgErAzIBKwIA
+ AZkDmgGZBJoBmQOaAZkBAAFIDlQBSBCYAQABKwEyASsBMgErATICDwEyASsBMgErATIBKwIAAZkBmgGZ
+ AZoBmQGaAuwBmgGZAZoBmQGaAZkBAAFIDjwBSAGYDp4BmAEAASsDMgErATICDwEyASsDMgErAgABmQOa
+ AZkBmgLsAZoBmQOaAZkCAA5IAgAOmAIAASsBMgOaBDIDmgEyASsCAAGZAZoDwwSaA8MBmgGZIgABKwGa
+ AysEmgMrAZoBKwIAAZkBwwOZBMMDmQHDAZkiAAIrAwAEKwMAAisCAAKZAwAEmQMAAplDAAySBAAMvAYA
+ CEMIAAiSBQACkgoHApICAAK8CvICvAQACkMGAAqSBAABkgUHApIFBwGSAgABvAXyArwF8gG8BAABQwjq
+ AUMGAAGSCO8BkgQAAZICBwKSAQcCkgEHApICBwGSAgABvALyArwB8gK8AfICvALyAbwEAAHqCBMB6gYA
+ Ae8I9wHvBAABkgIHCJICBwGSAgABvALyCLwC8gG8BAAEEwJDBBMGAAT3ApIE9wQAAZIDBwKSAgcCkgMH
+ AZICAAG8A/ICvALyArwD8gG8BAADEwFDAbwB7QFDAxMGAAP3AZIB8gG8AZID9wQAAZIBBwOSBAcDkgEH
+ AZICAAG8AfIDvATyA7wB8gG8BAAEEwG8Ae0EEwYABPcB8gG8BPcEAAGSAQcDkgQHA5IBBwGSAgABvAHy
+ A7wE8gO8AfIBvAUAAxMBvAHtAxMIAAP3AfIBvAP3BQABkgMHApICBwKSAwcBkgIAAbwD8gK8AvICvAPy
+ AbwIAAG8Ae0OAAHyAbwIAAGSAgcIkgIHAZICAAG8AvIIvALyAbwHAAQgDAAEFgcAAZICBwKSAQcCkgEH
+ AZID7AGSAgABvALyArwB8gK8AfIBvAMHAbwGAAYgCgAGFgYAAZIFBwKSAQcD7AGSAwABvAXyArwB8gMH
+ AbwHAAYgCgAGFgYAAZIB8AcHAuwBkgQAAbwB8wfyAgcBvAgAASAEFwEgCgABFgSUARYGAAKSB/AB7AGS
+ BQACvAfzAQcBvAkAAiACFwIgCgACFgKUAhYHAAmSBwAJvAsABCAMAAQWaAAMEQQADO0kAAERChMBEQQA
+ Ae0K9wHtAgAEEQEQAREBEAERARABEQEQAREBEAMREO0CAAERARMI7wETAREEAAHtAfcI8QH3Ae0CAAER
+ ARICEwEQARMBEAETARABEwEQARMBEAETARIBEQHtAe8C9wHtAfcB7QH3Ae0B9wHtAfcB7QH3Ae8B7QIA
+ AREBEwHvBpIB7wETAREEAAHtAfcB8Qa8AfEB9wHtAgABEAESARMKQwETARIBEAHtAe8B9wqSAfcB7wHt
+ AgABEQETAu8BtQFtASMBtQLvARMBEQQAAe0B9wLxAd0B7wEcAd0C8QH3Ae0CAAERARABQwETAVkHwwET
+ AUMBEAERAu0BkgH3AaAH9gH3AZIC7QIAAREBEwLvAbUBkQG1AZEC7wETAREEAAHtAfcC8QHdAQcB3QEH
+ AvEB9wHtAgABEQEQAUMCWQHDBbUCwwFDARABEQLtAZICoAH2BfAC9gGSAu0CAAERARMC7wO1AZEC7wET
+ AREEAAHtAfcC8QPdAQcC8QH3Ae0CAAERARABQwFZAUYBwwG8AcMBvAHDAbwCwwFDARABEQLtAZIBoAGU
+ AfYB8gH2AfIB9gHyAvYBkgLtAgABEQETCEYBEwERBAAB7QH3CJMB9wHtAgABEAESAUMBWQFGAcMFGgLD
+ AUMBEgEQAe0B7wGSAaABlAH2BfMC9gGSAe8B7QIAAREBEwjvARMBEQQAAe0B9wjxAfcB7QIAARABEgFD
+ AlkIwwFDARIBEAHtAe8BkgKgCPYBkgHvAe0CAAERARMC7wFGAe8CRgLvARMBEQQAAe0B9wLxAZMB8QKT
+ AvEB9wHtAgABEQHrAeoK6wHqAesBEQHtAQcB7woHAe8BBwHtAgABEQETAu8DRgPvARMBEQQAAe0B9wLx
+ A5MD8QH3Ae0DAA4RAgAO7QMAAREBEwjvARMBEQQAAe0B9wjxAfcB7SQAAREKEwERBAAB7Qr3Ae0kAAER
+ CusBEQQAAe0KBwHtJAAMEQQADO0CAAFCAU0BPgcAAT4DAAEoAwABQAMAAaADAAEBAQABAQYAAQUWAAP/
+ AQAE/wQABP8EAAT/XAAE/wQABP8EAAj/AeABDwHgAQ8E/wHAAQcBwAEHBP8BwAEHAcABBwQAAcABBwHA
+ AQcEAAHAAQcBwAEHBAABwAEHAcABBwQAAcABBwHAAQcEAAHAAQcBwAEHBAABwAEHAcABBwQAAcABBwHA
+ AQcEAAHAAQcBwAEHBAABwAEHAcABBwQAAcABBwHAAQcE/wHAAQcBwAEHBP8BwAEHAcABBwz/AYABAQGA
+ AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBYAAQ/1AAAcABAwHAAQMEAAHw
+ AQ8B8AEPBAAE/wHwAQ8B8AEPFP8EAAT/VAAE/wQABP8EAAT/BAAM/wGAAQEBgAEBBP8BgAEBAYABAQGA
+ AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
+ AQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
+ AYABAQGAAQEBgAEBAYABAQGAAQEE/wGAAQEBgAEBBP8BgAEBAYABAQT/AYABBwGAAQcM/wGAAQEBgAEB
+ AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
+ AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
+ AYABAQGAAQABgAEAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAcEB/wHBAf8BgAEBAYABAQT/AYABBwGA
+ AQcM/wGAAQEBgAEBBP8BgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBBAABgAEB
+ AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
+ AYABAQQAAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBBP8BgAEBAYABAQT/AZwBOQGcATkI/wHAAQMBwAED
+ AfABDwHwAQ8BgAEBAYABAQHgAQcB4AEHAYABAQGAAQEB4AEHAeABBwGAAQEBgAEBAeABBwHgAQcBgAEB
+ AYABAQHgAQcB4AEHAYABAQGAAQEB4AEHAeABBwGAAQEBgAEBAeABBwHgAQcBgAEBAYABAQHwAQ8B8AEP
+ AYABAQGAAQEB/gF/Af4BfwGAAQEBgAEBAfwBPwH8AT8BgAEBAYABAQH4AR8B+AEfAYABAwGAAQMB+AEf
+ AfgBHwGAAQcBgAEHAfgBHwH4AR8BgAEPAYABDwH4AR8B+AEfAcABHwHAAR8B/AE/AfwBPwz/AcABAwHA
+ AQME/wHAAQMBwAEDBAABwAEDAcABAwQAAcABAwHAAQMEAAHAAQMBwAEDBAABwAEDAcABAwQAAcABAwHA
+ AQMEAAHAAQMBwAEDBAABwAEDAcABAwQAAcABAwHAAQMEAAHAAQMBwAEDAYABAQGAAQEBwAEDAcABAwT/
+ AcABAwHAAQME/wHAAQMBwAEDBP8BwAEDAcABAws=
</value>
</data>
<data name="treeView.Location" type="System.Drawing.Point, System.Drawing">
@@ -413,174 +443,6 @@
<data name="groupBoxSplitModes.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Name" xml:space="preserve">
- <value>buttonNoFoldersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Name" xml:space="preserve">
- <value>buttonNoFolders</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Name" xml:space="preserve">
- <value>buttonFoldersLetters</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Name" xml:space="preserve">
- <value>buttonFoldersEquallyOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Name" xml:space="preserve">
- <value>buttonFoldersLettersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Name" xml:space="preserve">
- <value>buttonFoldersEqually</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="groupBoxSplitModes.Location" type="System.Drawing.Point, System.Drawing">
- <value>240, 12</value>
- </data>
- <data name="groupBoxSplitModes.Size" type="System.Drawing.Size, System.Drawing">
- <value>254, 227</value>
- </data>
- <data name="groupBoxSplitModes.TabIndex" type="System.Int32, mscorlib">
- <value>17</value>
- </data>
- <data name="groupBoxSplitModes.Text" xml:space="preserve">
- <value>Create folders structure automatically</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Name" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="groupBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>13, 12</value>
- </data>
- <data name="groupBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>221, 227</value>
- </data>
- <data name="groupBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>16</value>
- </data>
- <data name="groupBoxArt.Text" xml:space="preserve">
- <value>Menu icon</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Name" xml:space="preserve">
- <value>groupBoxArt</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Name" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Type" xml:space="preserve">
- <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Parent" xml:space="preserve">
- <value>splitContainer</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="splitContainer.Panel2MinSize" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="splitContainer.Size" type="System.Drawing.Size, System.Drawing">
- <value>784, 475</value>
- </data>
- <data name="splitContainer.SplitterDistance" type="System.Int32, mscorlib">
- <value>280</value>
- </data>
- <data name="splitContainer.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;splitContainer.Name" xml:space="preserve">
- <value>splitContainer</value>
- </data>
- <data name="&gt;&gt;splitContainer.Type" xml:space="preserve">
- <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;splitContainer.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;splitContainer.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
<data name="buttonNoFoldersOriginal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
@@ -734,6 +596,30 @@
<data name="&gt;&gt;buttonFoldersEqually.ZOrder" xml:space="preserve">
<value>5</value>
</data>
+ <data name="groupBoxSplitModes.Location" type="System.Drawing.Point, System.Drawing">
+ <value>240, 12</value>
+ </data>
+ <data name="groupBoxSplitModes.Size" type="System.Drawing.Size, System.Drawing">
+ <value>254, 227</value>
+ </data>
+ <data name="groupBoxSplitModes.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
+ </data>
+ <data name="groupBoxSplitModes.Text" xml:space="preserve">
+ <value>Create folders structure automatically</value>
+ </data>
+ <data name="&gt;&gt;groupBoxSplitModes.Name" xml:space="preserve">
+ <value>groupBoxSplitModes</value>
+ </data>
+ <data name="&gt;&gt;groupBoxSplitModes.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;groupBoxSplitModes.Parent" xml:space="preserve">
+ <value>splitContainer.Panel2</value>
+ </data>
+ <data name="&gt;&gt;groupBoxSplitModes.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
<data name="pictureBoxArt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
@@ -761,9 +647,66 @@
<data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>120, 17</value>
- </metadata>
+ <data name="groupBoxArt.Location" type="System.Drawing.Point, System.Drawing">
+ <value>13, 12</value>
+ </data>
+ <data name="groupBoxArt.Size" type="System.Drawing.Size, System.Drawing">
+ <value>221, 227</value>
+ </data>
+ <data name="groupBoxArt.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
+ </data>
+ <data name="groupBoxArt.Text" xml:space="preserve">
+ <value>Menu icon</value>
+ </data>
+ <data name="&gt;&gt;groupBoxArt.Name" xml:space="preserve">
+ <value>groupBoxArt</value>
+ </data>
+ <data name="&gt;&gt;groupBoxArt.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;groupBoxArt.Parent" xml:space="preserve">
+ <value>splitContainer.Panel2</value>
+ </data>
+ <data name="&gt;&gt;groupBoxArt.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Panel2.Name" xml:space="preserve">
+ <value>splitContainer.Panel2</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Panel2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Panel2.Parent" xml:space="preserve">
+ <value>splitContainer</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Panel2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="splitContainer.Panel2MinSize" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="splitContainer.Size" type="System.Drawing.Size, System.Drawing">
+ <value>784, 475</value>
+ </data>
+ <data name="splitContainer.SplitterDistance" type="System.Int32, mscorlib">
+ <value>280</value>
+ </data>
+ <data name="splitContainer.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Name" xml:space="preserve">
+ <value>splitContainer</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;splitContainer.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
<data name="newFolderToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
<value>Ctrl+N</value>
</data>
@@ -777,19 +720,19 @@
<value>F2</value>
</data>
<data name="renameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
+ <value>210, 22</value>
</data>
<data name="renameToolStripMenuItem.Text" xml:space="preserve">
<value>Rename folder</value>
</data>
<data name="toolStripMenuItemSep.Size" type="System.Drawing.Size, System.Drawing">
- <value>164, 6</value>
+ <value>207, 6</value>
</data>
<data name="cutToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
<value>Ctrl+X</value>
</data>
<data name="cutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
+ <value>210, 22</value>
</data>
<data name="cutToolStripMenuItem.Text" xml:space="preserve">
<value>Cut</value>
@@ -798,16 +741,16 @@
<value>Ctrl+V</value>
</data>
<data name="pasteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
+ <value>210, 22</value>
</data>
<data name="pasteToolStripMenuItem.Text" xml:space="preserve">
<value>Paste</value>
</data>
- <data name="deleteToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Delete</value>
+ <data name="deleteToolStripMenuItem.ShortcutKeyDisplayString" xml:space="preserve">
+ <value>Del</value>
</data>
<data name="deleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
+ <value>210, 22</value>
</data>
<data name="deleteToolStripMenuItem.Text" xml:space="preserve">
<value>Delete</value>
@@ -848,54 +791,6 @@
<data name="&gt;&gt;labelElementCount.ZOrder" xml:space="preserve">
<value>2</value>
</data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
- <value>Bottom</value>
- </data>
- <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 474</value>
- </data>
- <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
- <value>784, 38</value>
- </data>
- <data name="panel2.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="&gt;&gt;panel2.Name" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;panel2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;panel2.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
<data name="buttonCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
@@ -950,9 +845,30 @@
<data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
<value>1</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
+ <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+ <value>Bottom</value>
+ </data>
+ <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 474</value>
+ </data>
+ <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>784, 38</value>
+ </data>
+ <data name="panel2.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="&gt;&gt;panel2.Name" xml:space="preserve">
+ <value>panel2</value>
+ </data>
+ <data name="&gt;&gt;panel2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;panel2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
@@ -2143,9 +2059,18 @@
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>TreeContructorForm</value>
+ <value>FoldersManagerForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>120, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
</root> \ No newline at end of file
diff --git a/FoldersManagerForm.ru-RU.resx b/FoldersManagerForm.ru-RU.resx
new file mode 100644
index 00000000..01ffd472
--- /dev/null
+++ b/FoldersManagerForm.ru-RU.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Менеджер папок</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Отмена</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Разделить поровну</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Оригинальные игры -&gt; Разделить поровну</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Разделить по первым буквам</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Оригинальные игры -&gt; Разделить по первым буквам</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Без папок</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Оригинальные игры -&gt; Другие игры</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Вырезать</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Удалить</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Иконка в меню</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Создать дерево автоматичеÑки</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Положение папки:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Создать новую папку</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Ð’Ñтавить</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Переименовать папку</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.sk-SK.resx b/FoldersManagerForm.sk-SK.resx
new file mode 100644
index 00000000..7f6adc66
--- /dev/null
+++ b/FoldersManagerForm.sk-SK.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Správca prieÄinkov</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Zrušiť</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Rozdeliť rovnomerne</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Originálne hry -&gt; Rovnomerné rozdelenie</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Rozdelenie podľa prvého písmena</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Originálne hry -&gt; Rozdelenie podľa prvého písmena</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Nový prieÄinok</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Žiadne zložky</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Originálne hry -&gt; Ostatné hry</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Vystrihnúť</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Vymazať</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Ikona menu</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>VytvoriÅ¥ Å¡truktúru prieÄinkov automaticky</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Zrušiť</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Priorita pozície prieÄinka:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>VytvoriÅ¥ nový prieÄinok</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Vložiť</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>PremenovaÅ¥ prieÄinok</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.sv-SE.resx b/FoldersManagerForm.sv-SE.resx
new file mode 100644
index 00000000..f9bae570
--- /dev/null
+++ b/FoldersManagerForm.sv-SE.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Mapphanterare</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Avbryt</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Jämnt fördelat</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Originalspel -&gt; Jämnt fördelat</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Födelat på första bokstaven</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Originalspel -&gt; Fördelat efter första bokstaven</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Ny mapp</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Inga mappar</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Originalspel -&gt; Andra spel</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Klipp ut</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Ta bort</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Menyikon</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Skapa mappstruktur automatiskt</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>Prioritet för mappordning:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Skapa ny mapp</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Klistra in</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Döp om mapp</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.uk-UA.resx b/FoldersManagerForm.uk-UA.resx
new file mode 100644
index 00000000..5171f9b5
--- /dev/null
+++ b/FoldersManagerForm.uk-UA.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Менеджер папок</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Відміна</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>Разділити порівну</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>Оригінальні ігри -&gt; Разділити порівну</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>Розділити за першими літерами</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>Оригінальні ігри -&gt; розділити за першими літерами</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>Ðова папка</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>Без папок</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>Оригінальні ігри-&gt; Інші ігри</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>Вирізати</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Видалити</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>Іконка у меню</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>Створити дерево автоматично</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¿Ð°Ð¿ÐºÐ¸:</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>Створити нову папку</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>Ð’Ñтавити</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>Перейменувати папку</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.zh-CHS.resx b/FoldersManagerForm.zh-CHS.resx
new file mode 100644
index 00000000..69d81160
--- /dev/null
+++ b/FoldersManagerForm.zh-CHS.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>文件夹管ç†</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>åŽŸåŽ‚æ¸¸æˆ -&gt; 以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>åŽŸåŽ‚æ¸¸æˆ -&gt; 以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>新增文件夹</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>无文件夹</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>åŽŸåŽ‚å†…å»ºæ¸¸æˆ -&gt; 其他游æˆ</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>剪下</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>删除</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>选å•å›¾ç¤º</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>自动建立文件夹结构</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>文件夹优先级 :</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>建立新文件夹</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>贴上</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>é‡æ–°å‘½å文件夹</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.zh-CHT.resx b/FoldersManagerForm.zh-CHT.resx
new file mode 100644
index 00000000..dd7f2469
--- /dev/null
+++ b/FoldersManagerForm.zh-CHT.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>資料夾管ç†</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>原廠éŠæˆ² -&gt; 以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>原廠éŠæˆ² -&gt; 以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>新增資料夾</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>無資料夾</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>原廠內建éŠæˆ² -&gt; 其他éŠæˆ²</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>剪下</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>刪除</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>é¸å–®åœ–示</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>自動建立資料夾çµæ§‹</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>è³‡æ–™å¤¾å„ªå…ˆé †åº :</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>建立新資料夾</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>貼上</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>é‡æ–°å‘½å資料夾</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FoldersManagerForm.zh-TW.resx b/FoldersManagerForm.zh-TW.resx
new file mode 100644
index 00000000..dd7f2469
--- /dev/null
+++ b/FoldersManagerForm.zh-TW.resx
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>資料夾管ç†</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonFoldersEqually.Text">
+ <value>以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersEquallyOriginal.Text">
+ <value>原廠éŠæˆ² -&gt; 以平å‡çš„æ–¹å¼åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLetters.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonFoldersLettersOriginal.Text">
+ <value>原廠éŠæˆ² -&gt; 以首ä½å­—æ¯åˆ†å‰²</value>
+ </data>
+ <data name="buttonNewFolder.Text">
+ <value>新增資料夾</value>
+ </data>
+ <data name="buttonNoFolders.Text">
+ <value>無資料夾</value>
+ </data>
+ <data name="buttonNoFoldersOriginal.Text">
+ <value>原廠內建éŠæˆ² -&gt; 其他éŠæˆ²</value>
+ </data>
+ <data name="cutToolStripMenuItem.Text">
+ <value>剪下</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>刪除</value>
+ </data>
+ <data name="groupBoxArt.Text">
+ <value>é¸å–®åœ–示</value>
+ </data>
+ <data name="groupBoxSplitModes.Text">
+ <value>自動建立資料夾çµæ§‹</value>
+ </data>
+ <data name="labelPosition.Text">
+ <value>è³‡æ–™å¤¾å„ªå…ˆé †åº :</value>
+ </data>
+ <data name="newFolderToolStripMenuItem.Text">
+ <value>建立新資料夾</value>
+ </data>
+ <data name="pasteToolStripMenuItem.Text">
+ <value>貼上</value>
+ </data>
+ <data name="renameToolStripMenuItem.Text">
+ <value>é‡æ–°å‘½å資料夾</value>
+ </data>
+ <data name="labelElementCount.Text">
+ <value>Folder statistics</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/FtpServer/DebugLogHandler.cs b/FtpServer/DebugLogHandler.cs
new file mode 100644
index 00000000..292d5eee
--- /dev/null
+++ b/FtpServer/DebugLogHandler.cs
@@ -0,0 +1,74 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Net;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// Default log handler.
+ ///
+ public class DebugLogHandler : ILogHandler
+ {
+ private IPEndPoint peer;
+
+ public DebugLogHandler()
+ {
+ }
+
+ private DebugLogHandler(IPEndPoint peer)
+ {
+ this.peer = peer;
+ }
+
+ public ILogHandler Clone(IPEndPoint peer)
+ {
+ return new DebugLogHandler(peer);
+ }
+
+ private void Write(string format, params object[] args)
+ {
+ Debug.WriteLine(String.Format("{0}: {1}", peer, String.Format(format, args)));
+ }
+
+ public void NewControlConnection()
+ {
+ Write("new control connection");
+ }
+
+ public void ClosedControlConnection()
+ {
+ Write("closed control connection");
+ }
+
+ public void ReceivedCommand(string verb, string arguments)
+ {
+#if VERY_DEBUG
+ string argtext = (arguments == null || arguments == "" ? "" : ' ' + arguments);
+ Write("received command: {0}{1}", verb, argtext);
+#endif
+ }
+
+ public void SentResponse(uint code, string description)
+ {
+#if VERY_DEBUG
+ Write("sent response: {0} {1}", code, description);
+#endif
+ }
+
+ public void NewDataConnection(IPEndPoint remote, IPEndPoint local, bool passive)
+ {
+#if VERY_DEBUG
+ Write("new data connection: {0} <-> {1} ({2})", remote, local, (passive ? "passive" : "active"));
+#endif
+ }
+
+ public void ClosedDataConnection(IPEndPoint remote, IPEndPoint local, bool passive)
+ {
+#if VERY_DEBUG
+ Write("closed data connection: {0} <-> {1} ({2})", remote, local, (passive ? "passive" : "active"));
+#endif
+ }
+ }
+}
+
diff --git a/FtpServer/FileSystemHelper.cs b/FtpServer/FileSystemHelper.cs
new file mode 100644
index 00000000..36cc4979
--- /dev/null
+++ b/FtpServer/FileSystemHelper.cs
@@ -0,0 +1,66 @@
+using System;
+using System.Collections.Generic;
+
+namespace mooftpserv
+{
+ public class FileSystemHelper
+ {
+ /// Handles TVFS path resolution, similar to Path.GetFullPath(Path.Combine(basePath, path))
+ public static string ResolvePath(string basePath, string path)
+ {
+ // CF is missing String.IsNullOrWhiteSpace
+ if (path == null || path.Trim() == "")
+ return null;
+
+ // first, make a complete unix path
+ string fullPath;
+ if (path[0] == '/') {
+ fullPath = path;
+ } else {
+ fullPath = basePath;
+ if (!fullPath.EndsWith("/"))
+ fullPath += "/";
+ fullPath += path;
+ }
+
+ // then, remove ".." and "."
+ List<string> tokens = new List<string>(fullPath.Split('/'));
+ for (int i = 0; i < tokens.Count; ++i) {
+ if (tokens[i] == "") {
+ if (i == 0 || i == tokens.Count - 1) {
+ continue; // ignore, start and end should be empty tokens
+ } else {
+ tokens.RemoveAt(i);
+ --i;
+ }
+ } else if (tokens[i] == "..") {
+ if (i < 2) {
+ // cannot go higher than root, just remove the token
+ tokens.RemoveAt(i);
+ --i;
+ } else {
+ tokens.RemoveRange(i - 1, 2);
+ i -= 2;
+ }
+ } else if (i < tokens.Count - 1 && tokens[i].EndsWith(@"\")) {
+ int slashes = 0;
+ for (int c = tokens[i].Length - 1; c >= 0 && tokens[i][c] == '\\'; --c)
+ ++slashes;
+
+ if (slashes % 2 != 0) {
+ // the slash was actually escaped, merge tokens
+ tokens[i] += ("/" + tokens[i + 1]);
+ ++i;
+ }
+ }
+ }
+
+ if (tokens.Count > 1)
+ return String.Join("/", tokens.ToArray());
+ else
+ return "/";
+ }
+
+ }
+}
+
diff --git a/FtpServer/IAuthHandler.cs b/FtpServer/IAuthHandler.cs
new file mode 100644
index 00000000..24621c87
--- /dev/null
+++ b/FtpServer/IAuthHandler.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Net;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// Interface for a class managing user authentication and allowing connections.
+ /// </summary>
+ public interface IAuthHandler
+ {
+ /// <summary>
+ /// Make a new instance for a new session with the given peer.
+ /// Each FTP session uses a separate, cloned instance.
+ /// </summary>
+ IAuthHandler Clone(IPEndPoint peer);
+
+ /// <summary>
+ /// Check the given login. Note that the method can be called in three ways:
+ /// - user and pass are null: anonymous authentication
+ /// - pass is null: login only with username (e.g. "anonymous")
+ /// - both are non-null: login with user and password
+ /// </summary>
+ /// <param name='user'>
+ /// The username, or null.
+ /// </param>
+ /// <param name='pass'>
+ /// The password, or null.
+ /// </param>
+ bool AllowLogin(string user, string pass);
+
+ /// <summary>
+ /// Check if a control connection from the peer should be allowed.
+ /// </summary>
+ bool AllowControlConnection();
+
+ /// <summary>
+ /// Check if the PORT command of the peer with the given
+ /// target endpoint should be allowed.
+ /// </summary>
+ /// The argument given by the peer in the PORT command.
+ /// </param>
+ bool AllowActiveDataConnection(IPEndPoint target);
+ }
+}
+
diff --git a/FtpServer/IFileSystemHandler.cs b/FtpServer/IFileSystemHandler.cs
new file mode 100644
index 00000000..057d8946
--- /dev/null
+++ b/FtpServer/IFileSystemHandler.cs
@@ -0,0 +1,219 @@
+using System;
+using System.Net;
+using System.IO;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// File system entry as returned by List.
+ /// </summary>
+ public struct FileSystemEntry
+ {
+ public string Name;
+ public bool IsDirectory;
+ public long Size;
+ public DateTime LastModifiedTimeUtc;
+ public string Mode;
+ }
+
+ /// <summary>
+ /// Wrapper that either contains a value or an error string.
+ /// </summary>
+ public class ResultOrError<T>
+ {
+ private T result;
+ private string error;
+
+ private ResultOrError(T result, string error)
+ {
+ this.result = result;
+ this.error = error;
+ }
+
+ public static ResultOrError<T> MakeResult(T result)
+ {
+ return new ResultOrError<T>(result, null);
+ }
+
+ public static ResultOrError<T> MakeError(string error)
+ {
+ if (error == null)
+ throw new ArgumentNullException();
+ return new ResultOrError<T>(default(T), error.Replace(Environment.NewLine, " "));
+ }
+
+ public bool HasError
+ {
+ get { return error != null; }
+ }
+
+ public string Error
+ {
+ get { return error; }
+ }
+
+ public T Result
+ {
+ get
+ {
+ if (HasError)
+ throw new InvalidOperationException(String.Format("No result available, error: {0}", error));
+ return result;
+ }
+ }
+ };
+
+ /// <summary>
+ /// Interface for file system access from FTP.
+ /// </summary>
+ public interface IFileSystemHandler
+ {
+ /// <summary>
+ /// Make a new instance for a new session with the given peer.
+ /// Each FTP session uses a separate, cloned instance.
+ /// </summary>
+ IFileSystemHandler Clone(IPEndPoint peer);
+
+ /// <summary>
+ /// PWD: Returns the path of the current working directory.
+ /// </summary>
+ /// <returns>
+ /// The absolute path of the current directory or an error string.
+ /// </returns>
+ ResultOrError<string> GetCurrentDirectory();
+
+ /// <summary>
+ /// CWD: Changes the current directory.
+ /// CDUP: Changes to parent directory (called with "..")
+ /// </summary>
+ /// <returns>
+ /// The new absolute path or an error string.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path to which to change.
+ /// </param>
+ ResultOrError<string> ChangeDirectory(string path);
+
+ /// <summary>
+ /// MKD: Create a directory.
+ /// </summary>
+ /// <returns>
+ /// The absolute path of the created directory or an error string.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path for the new directory.
+ /// </param>
+ ResultOrError<string> CreateDirectory(string path);
+
+ /// <summary>
+ /// RMD: Remove a directory.
+ /// </summary>
+ /// <returns>
+ /// A bool or an error string. The bool is not actually used.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path for the directory.
+ /// </param>
+ ResultOrError<bool> RemoveDirectory(string path);
+
+ /// <summary>
+ /// RETR: Open a stream for reading the specified file.
+ /// </summary>
+ /// <returns>
+ /// An opened stream for reading from the file, or an error string.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path for the file.
+ /// </param>
+ ResultOrError<Stream> ReadFile(string path);
+
+ /// <summary>
+ /// STOR: Open a stream for writing to the specified file.
+ /// If the file exists, it should be overwritten.
+ /// </summary>
+ /// <returns>
+ /// An opened stream for writing to the file, or an error string.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path for the file.
+ /// </param>
+ ResultOrError<Stream> WriteFile(string path);
+ ResultOrError<bool> WriteFileFinalize(string path, Stream stream);
+
+ /// <summary>
+ /// DELE: Deletes a file.
+ /// </summary>
+ /// <returns>
+ /// A bool or an error string. The bool is not actually used.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path for the file.
+ /// </param>
+ ResultOrError<bool> RemoveFile(string path);
+
+ /// <summary>
+ /// RNFR, RNTO: Renames or moves a file or directory.
+ /// </summary>
+ /// <returns>
+ /// A bool or an error string. The bool is not actually used.
+ /// </returns>
+ /// <param name="fromPath">
+ /// The relative or absolute path of an existing file or directory.
+ /// </param>
+ /// <param name="toPath">
+ /// A relative or absolute non-existing path to which the file will be renamed or moved.
+ /// </param>
+ ResultOrError<bool> RenameFile(string fromPath, string toPath);
+
+ /// <summary>
+ /// LIST: Return a list of files and folders in a directory, or for a file (like 'ls').
+ /// </summary>
+ /// <param name="path">
+ /// The relative or absolute path of an existing directory or file.
+ /// Can be null or empty to return the current directory.
+ /// </para>
+ /// <return>
+ /// An array of file system entries or an error string.
+ /// </return>
+ ResultOrError<FileSystemEntry[]> ListEntries(string path);
+
+ /// <summary>
+ /// LIST: Return a raw output of 'ls' command.
+ /// </summary>
+ /// <param name="path">
+ /// The relative or absolute path of an existing directory or file.
+ /// Can be null or empty to return the current directory.
+ /// </para>
+ /// <return>
+ /// Raw output of 'ls' command
+ /// </return>
+ ResultOrError<string> ListEntriesRaw(string path);
+
+ /// <summary>
+ /// SIZE: Gets the size of a file in bytes.
+ /// </summary>
+ /// <returns>
+ /// The file size, or -1 on error.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path.
+ /// </param>
+ ResultOrError<long> GetFileSize(string path);
+
+ /// <summary>
+ /// MDTM: Gets the last modified timestamp of a file.
+ /// </summary>
+ /// <returns>
+ /// The last modified time in UTC, or an error string.
+ /// </returns>
+ /// <param name='path'>
+ /// A relative or absolute path.
+ /// </param>
+ ResultOrError<DateTime> GetLastModifiedTimeUtc(string path);
+
+ ResultOrError<bool> SetLastModifiedTimeUtc(string path, DateTime time);
+
+ ResultOrError<bool> ChmodFile(string mode, string path);
+ }
+}
+
diff --git a/FtpServer/ILogHandler.cs b/FtpServer/ILogHandler.cs
new file mode 100644
index 00000000..87b7c9ad
--- /dev/null
+++ b/FtpServer/ILogHandler.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Net;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// Interface for a logger. Methods should be self-explanatory.
+ /// </summary>
+ public interface ILogHandler
+ {
+ /// <summary>
+ /// Make a new instance for a new session with the given peer.
+ /// Each FTP session uses a separate, cloned instance.
+ /// </summary>
+ ILogHandler Clone(IPEndPoint peer);
+
+ void NewControlConnection();
+ void ClosedControlConnection();
+ void ReceivedCommand(string verb, string arguments);
+ void SentResponse(uint code, string description);
+ void NewDataConnection(IPEndPoint remote, IPEndPoint local, bool passive);
+ void ClosedDataConnection(IPEndPoint remote, IPEndPoint local, bool passive);
+ }
+}
+
diff --git a/FtpServer/NesMiniAuthHandler.cs b/FtpServer/NesMiniAuthHandler.cs
new file mode 100644
index 00000000..3da4c2b7
--- /dev/null
+++ b/FtpServer/NesMiniAuthHandler.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Net;
+
+namespace mooftpserv
+{
+ public class NesMiniAuthHandler : IAuthHandler
+ {
+ private IPEndPoint peer;
+
+ public NesMiniAuthHandler()
+ {
+ }
+
+ private NesMiniAuthHandler(IPEndPoint peer)
+ {
+ this.peer = peer;
+ }
+
+ public IAuthHandler Clone(IPEndPoint peer)
+ {
+ return new NesMiniAuthHandler(peer);
+ }
+
+ public bool AllowLogin(string user, string pass)
+ {
+ return (user == "root" && pass == "clover");
+ }
+
+ public bool AllowControlConnection()
+ {
+ return true;
+ }
+
+ public bool AllowActiveDataConnection(IPEndPoint port)
+ {
+ // only allow active connections to the same peer as the control connection
+ return peer.Address.Equals(port.Address);
+ }
+ }
+}
+
diff --git a/FtpServer/NesMiniFileSystemHandler.cs b/FtpServer/NesMiniFileSystemHandler.cs
new file mode 100644
index 00000000..5fb8b0ab
--- /dev/null
+++ b/FtpServer/NesMiniFileSystemHandler.cs
@@ -0,0 +1,357 @@
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.IO;
+using com.clusterrr.clovershell;
+using System.Globalization;
+
+namespace mooftpserv
+{
+ public class NesMiniFileSystemHandler : IFileSystemHandler
+ {
+ // list of supported operating systems
+ private enum OS { WinNT, WinCE, Unix };
+
+ // currently used operating system
+ private OS os;
+ // current path as TVFS or unix-like
+ private string currentPath;
+ // clovershell
+ private ClovershellConnection clovershell;
+
+ public NesMiniFileSystemHandler(ClovershellConnection clovershell, string startPath)
+ {
+ os = OS.Unix;
+ this.currentPath = startPath;
+ this.clovershell = clovershell;
+ }
+
+ public NesMiniFileSystemHandler(ClovershellConnection clovershell)
+ : this(clovershell, "/")
+ {
+ }
+
+ private NesMiniFileSystemHandler(string path, OS os, ClovershellConnection clovershell)
+ {
+ this.currentPath = path;
+ this.os = os;
+ this.clovershell = clovershell;
+ }
+
+ public IFileSystemHandler Clone(IPEndPoint peer)
+ {
+ return new NesMiniFileSystemHandler(currentPath, os, clovershell);
+ }
+
+ public ResultOrError<string> GetCurrentDirectory()
+ {
+ return MakeResult<string>(currentPath);
+ }
+
+ public ResultOrError<string> ChangeDirectory(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ clovershell.ExecuteSimple("cd \""+newPath+"\"", 1000 ,true);
+ currentPath = newPath;
+ }
+ catch (Exception ex)
+ {
+ return MakeError<string>(ex.Message);
+ }
+ return MakeResult<string>(newPath);
+ }
+
+ public ResultOrError<string> ChangeToParentDirectory()
+ {
+ return ChangeDirectory("..");
+ }
+
+ public ResultOrError<string> CreateDirectory(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ foreach (var c in newPath)
+ if ((int)c > 255) throw new Exception("Invalid characters in directory name");
+ var newpath = DecodePath(newPath);
+ clovershell.ExecuteSimple("mkdir \"" + newpath + "\"");
+ }
+ catch (Exception ex)
+ {
+ return MakeError<string>(ex.Message);
+ }
+
+ return MakeResult<string>(newPath);
+ }
+
+ public ResultOrError<bool> RemoveDirectory(string path)
+ {
+ string newPath = ResolvePath(path);
+
+ try
+ {
+ var rpath = DecodePath(newPath);
+ clovershell.ExecuteSimple("rm -rf \"" + rpath + "\"");
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+
+ return MakeResult<bool>(true);
+ }
+
+ public ResultOrError<Stream> ReadFile(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ var data = new MemoryStream();
+ clovershell.Execute("cat \"" + newPath + "\"", null, data, null, 1000, true);
+ data.Seek(0, SeekOrigin.Begin);
+ return MakeResult<Stream>(data);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<Stream>(ex.Message);
+ }
+ }
+
+ public ResultOrError<Stream> WriteFile(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ foreach (var c in newPath)
+ if ((int)c > 255) throw new Exception("Invalid characters in directory name");
+ return MakeResult<Stream>(new MemoryStream());
+ }
+ catch (Exception ex)
+ {
+ return MakeError<Stream>(ex.Message);
+ }
+ }
+
+ public ResultOrError<bool> WriteFileFinalize(string path, Stream str)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ str.Seek(0, SeekOrigin.Begin);
+ string directory = "/";
+ int p = newPath.LastIndexOf("/");
+ if (p > 0)
+ directory = newPath.Substring(0, p);
+ clovershell.Execute("mkdir -p \"" + directory + "\" && cat > \"" + newPath + "\"", str, null, null, 1000, true);
+ str.Dispose();
+ return MakeResult<bool>(true);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+ }
+
+ public ResultOrError<bool> RemoveFile(string path)
+ {
+ string newPath = ResolvePath(path);
+
+ try
+ {
+ clovershell.ExecuteSimple("rm -rf \"" + newPath + "\"", 1000, true);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+
+ return MakeResult<bool>(true);
+ }
+
+ public ResultOrError<bool> RenameFile(string fromPath, string toPath)
+ {
+ fromPath = ResolvePath(fromPath);
+ toPath = ResolvePath(toPath);
+ try
+ {
+ clovershell.ExecuteSimple("mv \"" + fromPath + "\" \"" + toPath + "\"", 1000, true);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+
+ return MakeResult<bool>(true);
+ }
+
+ public ResultOrError<FileSystemEntry[]> ListEntries(string path)
+ {
+ string newPath = ResolvePath(path);
+ List<FileSystemEntry> result = new List<FileSystemEntry>();
+ try
+ {
+ var lines = clovershell.ExecuteSimple("ls -lApe \"" + newPath + "\"", 1000, true)
+ .Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
+ foreach (var line in lines)
+ {
+ if (line.StartsWith("total")) continue;
+ FileSystemEntry entry = new FileSystemEntry();
+ entry.Mode = line.Substring(0, 13).Trim();
+ entry.Name = line.Substring(69).Trim();
+ entry.IsDirectory = entry.Name.EndsWith("/");
+ if (entry.IsDirectory) entry.Name = entry.Name.Substring(0, entry.Name.Length - 1);
+ entry.Size = long.Parse(line.Substring(29, 15).Trim());
+ var dt = line.Substring(44, 25).Trim();
+ entry.LastModifiedTimeUtc = DateTime.ParseExact(dt, "ddd MMM d HH:mm:ss yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AllowInnerWhite);
+ result.Add(entry);
+ }
+ }
+ catch (Exception ex)
+ {
+ return MakeError<FileSystemEntry[]>(ex.Message);
+ }
+ return MakeResult<FileSystemEntry[]>(result.ToArray());
+ }
+
+ public ResultOrError<string> ListEntriesRaw(string path)
+ {
+ if (path.StartsWith("-"))
+ path = ". " + path;
+ string newPath = ResolvePath(path);
+ List<string> result = new List<string>();
+ try
+ {
+ var lines = clovershell.ExecuteSimple("ls " + newPath, 1000, true);
+ return MakeResult<string>(lines);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<string>(ex.Message);
+ }
+ }
+
+ public ResultOrError<long> GetFileSize(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ var size = clovershell.ExecuteSimple("stat -c%s \"" + newPath + "\"", 1000, true);
+ return MakeResult<long>(long.Parse(size));
+ }
+ catch (Exception ex)
+ {
+ return MakeError<long>(ex.Message);
+ }
+ }
+
+ public ResultOrError<DateTime> GetLastModifiedTimeUtc(string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ var time = clovershell.ExecuteSimple("stat -c%Z \"" + newPath + "\"", 1000, true);
+ return MakeResult<DateTime>(DateTime.FromFileTime(long.Parse(time)));
+ }
+ catch (Exception ex)
+ {
+ return MakeError<DateTime>(ex.Message);
+ }
+ }
+
+ private string ResolvePath(string path)
+ {
+ if (path == null) return currentPath;
+ if (path.Contains(" -> "))
+ path = path.Substring(path.IndexOf(" -> ") + 4);
+ return FileSystemHelper.ResolvePath(currentPath, path);
+ }
+
+ private string EncodePath(string path)
+ {
+ if (os == OS.WinNT)
+ return "/" + path[0] + (path.Length > 2 ? path.Substring(2).Replace(@"\", "/") : "");
+ else if (os == OS.WinCE)
+ return path.Replace(@"\", "/");
+ else
+ return path;
+ }
+
+ private string DecodePath(string path)
+ {
+ if (path == null || path == "" || path[0] != '/')
+ return null;
+
+ if (os == OS.WinNT)
+ {
+ // some error checking for the drive layer
+ if (path == "/")
+ return null; // should have been caught elsewhere
+
+ if (path.Length > 1 && path[1] == '/')
+ return null;
+
+ if (path.Length > 2 && path[2] != '/')
+ return null;
+
+ if (path.Length < 4) // e.g. "/C/"
+ return path[1] + @":\";
+ else
+ return path[1] + @":\" + path.Substring(3).Replace("/", @"\");
+ }
+ else if (os == OS.WinCE)
+ {
+ return path.Replace("/", @"\");
+ }
+ else
+ {
+ return path;
+ }
+ }
+
+ /// <summary>
+ /// Shortcut for ResultOrError<T>.MakeResult()
+ /// </summary>
+ private ResultOrError<T> MakeResult<T>(T result)
+ {
+ return ResultOrError<T>.MakeResult(result);
+ }
+
+ /// <summary>
+ /// Shortcut for ResultOrError<T>.MakeError()
+ /// </summary>
+ private ResultOrError<T> MakeError<T>(string error)
+ {
+ return ResultOrError<T>.MakeError(error);
+ }
+
+ public ResultOrError<bool> ChmodFile(string mode, string path)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ clovershell.ExecuteSimple(string.Format("chmod {0} {1}", mode, newPath), 1000, true);
+ return ResultOrError<bool>.MakeResult(true);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+ }
+
+ public ResultOrError<bool> SetLastModifiedTimeUtc(string path, DateTime time)
+ {
+ string newPath = ResolvePath(path);
+ try
+ {
+ clovershell.ExecuteSimple(string.Format("touch -ct {0:yyyyMMddHHmm.ss} \"{1}\"", time, newPath), 1000, true);
+ return ResultOrError<bool>.MakeResult(true);
+ }
+ catch (Exception ex)
+ {
+ return MakeError<bool>(ex.Message);
+ }
+ }
+ }
+}
diff --git a/FtpServer/Server.cs b/FtpServer/Server.cs
new file mode 100644
index 00000000..b544f8e4
--- /dev/null
+++ b/FtpServer/Server.cs
@@ -0,0 +1,190 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// Main FTP server class. Manages the server socket, creates sessions.
+ /// Can be used to configure the server.
+ /// </summary>
+ public class Server
+ {
+ // default buffer size for send/receive buffers
+ private const int DEFAULT_BUFFER_SIZE = 64 * 1024;
+ // default port for the server socket
+ private const int DEFAULT_PORT = 21;
+
+ private IPEndPoint endpoint;
+ private int bufferSize = DEFAULT_BUFFER_SIZE;
+ private IAuthHandler authHandler = null;
+ private IFileSystemHandler fsHandler = null;
+ private ILogHandler logHandler = null;
+ private TcpListener socket = null;
+ private List<Session> sessions;
+
+ public Server()
+ {
+ this.endpoint = new IPEndPoint(GetDefaultAddress(), DEFAULT_PORT);
+ this.sessions = new List<Session>();
+ }
+
+ /// <summary>
+ /// Gets or sets the local end point on which the server will listen.
+ /// Has to be an IPv4 endpoint.
+ /// The default value is IPAdress.Any and port 21, except on WinCE,
+ /// where the first non-loopback IPv4 address will be used.
+ /// </summary>
+ public IPEndPoint LocalEndPoint
+ {
+ get { return endpoint; }
+ set { endpoint = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the local IP address on which the server will listen.
+ /// Has to be an IPv4 address.
+ /// If none is set, IPAddress.Any will be used, except on WinCE,
+ /// where the first non-loopback IPv4 address will be used.
+ /// </summary>
+ public IPAddress LocalAddress
+ {
+ get { return endpoint.Address; }
+ set { endpoint.Address = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the local port on which the server will listen.
+ /// The default value is 21. Note that on Linux, only root can open ports < 1024.
+ /// </summary>
+ public int LocalPort
+ {
+ get { return endpoint.Port; }
+ set { endpoint.Port = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the size of the send/receive buffer to be used by each session/connection.
+ /// The default value is 64k.
+ /// </summary>
+ public int BufferSize
+ {
+ get { return bufferSize; }
+ set { bufferSize = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the auth handler that is used to check user credentials.
+ /// If none is set, a DefaultAuthHandler will be created when the server starts.
+ /// </summary>
+ public IAuthHandler AuthHandler
+ {
+ get { return authHandler; }
+ set { authHandler = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the file system handler that implements file system access for FTP commands.
+ /// If none is set, a DefaultFileSystemHandler is created when the server starts.
+ /// </summary>
+ public IFileSystemHandler FileSystemHandler
+ {
+ get { return fsHandler; }
+ set { fsHandler = value; }
+ }
+
+ /// <summary>
+ /// Gets or sets the log handler. Can be null to disable logging.
+ /// The default value is null.
+ /// </summary>
+ public ILogHandler LogHandler
+ {
+ get { return logHandler; }
+ set { logHandler = value; }
+ }
+
+ /// <summary>
+ /// Run the server. The method will not return until Stop() is called.
+ /// </summary>
+ public void Run()
+ {
+ //if (authHandler == null)
+ // authHandler = new DefaultAuthHandler();
+
+ //if (fsHandler == null)
+ // fsHandler = new DefaultFileSystemHandler();
+
+ if (socket == null)
+ socket = new TcpListener(endpoint);
+
+ socket.Start();
+
+ // listen for new connections
+ try {
+ while (true)
+ {
+ Socket peer = socket.AcceptSocket();
+
+ IPEndPoint peerPort = (IPEndPoint) peer.RemoteEndPoint;
+ Session session = new Session(peer, bufferSize,
+ authHandler.Clone(peerPort),
+ fsHandler.Clone(peerPort),
+ logHandler.Clone(peerPort));
+
+ session.Start();
+ sessions.Add(session);
+
+ // purge old sessions
+ for (int i = sessions.Count - 1; i >= 0; --i)
+ {
+ if (!sessions[i].IsOpen) {
+ sessions.RemoveAt(i);
+ --i;
+ }
+ }
+ }
+ } catch (SocketException) {
+ // ignore, Stop() will probably cause this exception
+ } finally {
+ // close all running connections
+ foreach (Session s in sessions) {
+ s.Stop();
+ }
+ }
+ }
+
+ /// <summary>
+ /// Stop the server.
+ /// </summary>
+ public void Stop()
+ {
+ if (socket == null) return;
+ socket.Stop();
+ }
+
+ /// <summary>
+ /// Get the default address, which is IPAddress.Any everywhere except on WinCE,
+ /// where all local addresses are enumerated and the first non-loopback IP is used.
+ /// </summary>
+ private IPAddress GetDefaultAddress()
+ {
+ // on WinCE, 0.0.0.0 does not work because for accepted sockets,
+ // LocalEndPoint would also say 0.0.0.0 instead of the real IP
+#if WindowsCE
+ IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
+ IPAddress bindIp = IPAddress.Loopback;
+ foreach (IPAddress ip in host.AddressList) {
+ if (ip.AddressFamily == AddressFamily.InterNetwork && !IPAddress.IsLoopback(ip)) {
+ return ip;
+ }
+ }
+
+ return IPAddress.Loopback;
+#else
+ return IPAddress.Any;
+#endif
+ }
+ }
+}
diff --git a/FtpServer/Session.cs b/FtpServer/Session.cs
new file mode 100644
index 00000000..42075372
--- /dev/null
+++ b/FtpServer/Session.cs
@@ -0,0 +1,1266 @@
+using System;
+using System.Globalization;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+using System.Text;
+using System.Threading;
+
+namespace mooftpserv
+{
+ /// <summary>
+ /// FTP session/connection. Does all the heavy lifting of the FTP protocol.
+ /// Reads commands, sends replies, manages data connections, and so on.
+ /// Each session creates its own thread.
+ /// </summary>
+ class Session
+ {
+ // transfer data type, ascii or binary
+ enum DataType { ASCII, IMAGE };
+
+ // buffer size to use for reading commands from the control connection
+ private static int CMD_BUFFER_SIZE = 4096;
+ // version from AssemblyInfo
+ private static string LIB_VERSION = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(2);
+ // monthnames for LIST command, since DateTime returns localized names
+ private static string[] MONTHS = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+ // response text for initial response. preceeded by application name and version number.
+ private static string[] HELLO_TEXT = { "hakchi2 FTP server" };
+ // response text for general ok messages
+ private static string[] OK_TEXT = { "Sounds good.", "Success!", "Alright, I'll do it...", "Consider it done." };
+ // Result for FEAT command
+ private static string[] FEATURES = { "MDTM", "MLST modify*;perm*;size*;type*;unique*;UNIX.mode;", "PASV", "MFMT", "SIZE", "TVFS", "UTF8" };
+
+ // local EOL flavor
+ private static byte[] localEolBytes = Encoding.ASCII.GetBytes(Environment.NewLine);
+ // FTP-mandated EOL flavor (= CRLF)
+ private static byte[] remoteEolBytes = Encoding.ASCII.GetBytes("\r\n");
+ // on Windows, no ASCII conversion is necessary (CRLF == CRLF)
+ private static bool noAsciiConv = (localEolBytes == remoteEolBytes);
+
+ // socket for the control connection
+ private Socket controlSocket;
+ // buffer size to use for sending/receiving with data connections
+ private int dataBufferSize;
+ // auth handler, checks user credentials
+ private IAuthHandler authHandler;
+ // file system handler, implements file system access for the FTP commands
+ private IFileSystemHandler fsHandler;
+ // log handler, used for diagnostic logging output. can be null.
+ private ILogHandler logHandler;
+ // Session thread, the control and data connections are processed in this thread
+ private Thread thread;
+
+ // .NET CF does not have Thread.IsAlive, so this flag replaces it
+ private bool threadAlive = false;
+ // Random Number Generator for OK and HELLO texts
+ private Random randomTextIndex;
+ // flag for whether the user has successfully logged in
+ private bool loggedIn = false;
+ // name of the logged in user, also used to remember the username when waiting for the PASS command
+ private string loggedInUser = null;
+ // argument of pending RNFR command, when waiting for an RNTO command
+ private string renameFromPath = null;
+
+ // remote data port. null when PASV is used.
+ private IPEndPoint dataPort = null;
+ // socket for data connections
+ private Socket dataSocket = null;
+ // .NET CF does not have Socket.Bound, so this flag replaces it
+ private bool dataSocketBound = false;
+ // buffer for reading from the control connection
+ private byte[] cmdRcvBuffer;
+ // number of bytes in the cmdRcvBuffer
+ private int cmdRcvBytes;
+ // buffer for sending/receiving with data connections
+ private byte[] dataBuffer;
+ // data type of the session, can be changed by the client
+ private DataType transferDataType = DataType.ASCII;
+
+ /// <summary>
+ /// Creates a new session, which can afterwards be started with Start().
+ /// </summary>
+ public Session(Socket socket, int bufferSize, IAuthHandler authHandler, IFileSystemHandler fileSystemHandler, ILogHandler logHandler)
+ {
+ this.controlSocket = socket;
+ this.dataBufferSize = bufferSize;
+ this.authHandler = authHandler;
+ this.fsHandler = fileSystemHandler;
+ this.logHandler = logHandler;
+
+ this.cmdRcvBuffer = new byte[CMD_BUFFER_SIZE];
+ this.cmdRcvBytes = 0;
+ this.dataBuffer = new byte[dataBufferSize + 1]; // +1 for partial EOL
+ this.randomTextIndex = new Random();
+
+ this.thread = new Thread(new ThreadStart(this.Work));
+ }
+
+ /// <summary>
+ /// Indicates whether the session is still open
+ /// </summary>
+ public bool IsOpen
+ {
+ get { return threadAlive; }
+ }
+
+ /// <summary>
+ /// Start the session in a new thread
+ /// </summary>
+ public void Start()
+ {
+ if (!threadAlive)
+ {
+ this.thread.Start();
+ threadAlive = true;
+ }
+ }
+
+ /// <summary>
+ /// Stop the session
+ /// </summary>
+ public void Stop()
+ {
+ if (threadAlive)
+ {
+ threadAlive = false;
+ thread.Abort();
+ }
+
+ if (controlSocket.Connected)
+ controlSocket.Close();
+
+ if (dataSocket != null && dataSocket.Connected)
+ dataSocket.Close();
+ }
+
+ /// <summary>
+ /// Main method of the session thread.
+ /// Reads commands and executes them.
+ /// </summary>
+ private void Work()
+ {
+ if (logHandler != null)
+ logHandler.NewControlConnection();
+
+ try
+ {
+ if (!authHandler.AllowControlConnection())
+ {
+ Respond(421, "Control connection refused.");
+ // first flush, then close
+ controlSocket.Shutdown(SocketShutdown.Both);
+ controlSocket.Close();
+ return;
+ }
+
+ Respond(220, String.Format("This is mooftpserv v{0}. {1}", LIB_VERSION, GetRandomText(HELLO_TEXT)));
+
+ // allow anonymous login?
+ if (authHandler.AllowLogin(null, null))
+ {
+ loggedIn = true;
+ }
+
+ while (controlSocket.Connected)
+ {
+ string verb;
+ string args;
+ if (!ReadCommand(out verb, out args))
+ {
+ if (controlSocket.Connected)
+ {
+ // assume clean disconnect if there are no buffered bytes
+ if (cmdRcvBytes != 0)
+ Respond(500, "Failed to read command, closing connection.");
+ controlSocket.Close();
+ }
+ break;
+ }
+ else if (verb.Trim() == "")
+ {
+ // ignore empty lines
+ continue;
+ }
+
+ try
+ {
+ if (loggedIn)
+ ProcessCommand(verb, args);
+ else if (verb == "QUIT")
+ { // QUIT should always be allowed
+ Respond(221, "Bye.");
+ // first flush, then close
+ controlSocket.Shutdown(SocketShutdown.Both);
+ controlSocket.Close();
+ }
+ else
+ {
+ HandleAuth(verb, args);
+ }
+ }
+ catch (Exception ex)
+ {
+ Respond(500, ex);
+ }
+ }
+ }
+ catch (Exception)
+ {
+ // catch any uncaught stuff, the server should not throw anything
+ }
+ finally
+ {
+ if (controlSocket.Connected)
+ controlSocket.Close();
+
+ if (logHandler != null)
+ logHandler.ClosedControlConnection();
+
+ threadAlive = false;
+ }
+ }
+
+ /// <summary>
+ /// Process an FTP command.
+ /// </summary>
+ private void ProcessCommand(string verb, string arguments)
+ {
+ switch (verb)
+ {
+ case "SYST":
+ {
+ Respond(215, "UNIX emulated by mooftpserv");
+ break;
+ }
+ case "QUIT":
+ {
+ Respond(221, "Bye.");
+ // first flush, then close
+ controlSocket.Shutdown(SocketShutdown.Both);
+ controlSocket.Close();
+ break;
+ }
+ case "USER":
+ {
+ Respond(230, "You are already logged in.");
+ break;
+ }
+ case "PASS":
+ {
+ Respond(230, "You are already logged in.");
+ break;
+ }
+ case "FEAT":
+ {
+ Respond(211, "Features:\r\n " + String.Join("\r\n ", FEATURES), true);
+ Respond(211, "Features done.");
+ break;
+ }
+ case "OPTS":
+ {
+ // Windows Explorer uses lowercase args
+ if (arguments != null && arguments.ToUpper() == "UTF8 ON")
+ Respond(200, "Always in UTF8 mode.");
+ else
+ Respond(504, "Unknown option.");
+ break;
+ }
+ case "TYPE":
+ {
+ if (arguments == "A" || arguments == "A N")
+ {
+ transferDataType = DataType.ASCII;
+ Respond(200, "Switching to ASCII mode.");
+ }
+ else if (arguments == "I")
+ {
+ transferDataType = DataType.IMAGE;
+ Respond(200, "Switching to BINARY mode.");
+ }
+ else
+ {
+ Respond(500, "Unknown TYPE arguments.");
+ }
+ break;
+ }
+ case "PORT":
+ {
+ IPEndPoint port = ParseAddress(arguments);
+ if (port == null)
+ {
+ Respond(500, "Invalid host-port format.");
+ break;
+ }
+
+ if (!authHandler.AllowActiveDataConnection(port))
+ {
+ Respond(500, "PORT arguments refused.");
+ break;
+ }
+
+ dataPort = port;
+ CreateDataSocket(false);
+ Respond(200, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "PASV":
+ {
+ dataPort = null;
+
+ try
+ {
+ CreateDataSocket(true);
+ }
+ catch (Exception ex)
+ {
+ Respond(500, ex);
+ break;
+ }
+
+ string port = FormatAddress((IPEndPoint)dataSocket.LocalEndPoint);
+ Respond(227, String.Format("Switched to passive mode ({0})", port));
+ break;
+ }
+ case "XPWD":
+ case "PWD":
+ {
+ ResultOrError<string> ret = fsHandler.GetCurrentDirectory();
+ if (ret.HasError)
+ Respond(500, ret.Error);
+ else
+ Respond(257, EscapePath(ret.Result));
+ break;
+ }
+ case "XCWD":
+ case "CWD":
+ {
+ ResultOrError<string> ret = fsHandler.ChangeDirectory(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(200, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "XCUP":
+ case "CDUP":
+ {
+ ResultOrError<string> ret = fsHandler.ChangeDirectory("..");
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(200, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "XMKD":
+ case "MKD":
+ {
+ ResultOrError<string> ret = fsHandler.CreateDirectory(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(257, EscapePath(ret.Result));
+ break;
+ }
+ case "XRMD":
+ case "RMD":
+ {
+ ResultOrError<bool> ret = fsHandler.RemoveDirectory(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(250, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "RETR":
+ {
+ ResultOrError<Stream> ret = fsHandler.ReadFile(arguments);
+ if (ret.HasError)
+ {
+ Respond(550, ret.Error);
+ break;
+ }
+
+ SendData(ret.Result);
+ break;
+ }
+ case "STOR":
+ {
+ ResultOrError<Stream> ret = fsHandler.WriteFile(arguments);
+ if (ret.HasError)
+ {
+ Respond(550, ret.Error);
+ break;
+ }
+ ReceiveData(ret.Result);
+ var ret2 = fsHandler.WriteFileFinalize(arguments, ret.Result);
+ if (ret2.HasError)
+ {
+ Respond(550, ret2.Error);
+ break;
+ }
+ break;
+ }
+ case "DELE":
+ {
+ ResultOrError<bool> ret = fsHandler.RemoveFile(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(250, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "RNFR":
+ {
+ if (arguments == null || arguments.Trim() == "")
+ {
+ Respond(500, "Empty path is invalid.");
+ break;
+ }
+
+ renameFromPath = arguments;
+ Respond(350, "Waiting for target path.");
+ break;
+ }
+ case "RNTO":
+ {
+ if (renameFromPath == null)
+ {
+ Respond(503, "Use RNFR before RNTO.");
+ break;
+ }
+
+ ResultOrError<bool> ret = fsHandler.RenameFile(renameFromPath, arguments);
+ renameFromPath = null;
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(250, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "MDTM":
+ {
+ ResultOrError<DateTime> ret = fsHandler.GetLastModifiedTimeUtc(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(213, FormatTime(EnsureUnixTime(ret.Result)));
+ break;
+ }
+ case "SIZE":
+ {
+ ResultOrError<long> ret = fsHandler.GetFileSize(arguments);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(213, ret.Result.ToString());
+ break;
+ }
+ case "LIST":
+ {
+ // apparently browsers like to pass arguments to LIST
+ // assuming they are passed through to the UNIX ls command
+ /*
+ arguments = RemoveLsArgs(arguments);
+
+ ResultOrError<FileSystemEntry[]> ret = fsHandler.ListEntries(arguments);
+ if (ret.HasError)
+ {
+ Respond(500, ret.Error);
+ break;
+ }
+
+ SendData(MakeStream(FormatDirList(ret.Result)));
+ */
+ ResultOrError<string> ret = fsHandler.ListEntriesRaw(arguments);
+ if (ret.HasError)
+ {
+ Respond(500, ret.Error);
+ break;
+ }
+
+ SendData(MakeStream(ret.Result));
+
+ break;
+ }
+ case "STAT":
+ {
+ if (arguments == null || arguments.Trim() == "")
+ {
+ Respond(504, "Not implemented for these arguments.");
+ break;
+ }
+
+ arguments = RemoveLsArgs(arguments);
+
+ ResultOrError<FileSystemEntry[]> ret = fsHandler.ListEntries(arguments);
+ if (ret.HasError)
+ {
+ Respond(500, ret.Error);
+ break;
+ }
+
+ Respond(213, "Status:\r\n" + FormatDirList(ret.Result), true);
+ Respond(213, "Status done.");
+ break;
+ }
+ case "NLST":
+ {
+ // remove common arguments, we do not support any of them
+ arguments = RemoveLsArgs(arguments);
+
+ ResultOrError<FileSystemEntry[]> ret = fsHandler.ListEntries(arguments);
+ if (ret.HasError)
+ {
+ Respond(500, ret.Error);
+ break;
+ }
+
+ SendData(MakeStream(FormatNLST(ret.Result)));
+ break;
+ }
+ case "MLSD":
+ case "MLST":
+ {
+ ResultOrError<FileSystemEntry[]> ret = fsHandler.ListEntries(arguments);
+ if (ret.HasError)
+ {
+ Respond(500, ret.Error);
+ break;
+ }
+
+ SendData(MakeStream(FormatMLST(ret.Result)));
+ break;
+ }
+ case "MFMT":
+ {
+ string[] tokens = arguments.Split(' ');
+ var time = DateTime.ParseExact(tokens[0], "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
+ var file = (tokens.Length > 1 ? String.Join(" ", tokens, 1, tokens.Length - 1) : null);
+ fsHandler.SetLastModifiedTimeUtc(file, time);
+ Respond(213, string.Format("213 Modify={0}; {1}", tokens[0], file));
+ break;
+ }
+ case "NOOP":
+ {
+ Respond(200, GetRandomText(OK_TEXT));
+ break;
+ }
+ case "SITE":
+ {
+ string[] tokens = arguments.Split(' ');
+ var newverb = tokens[0].ToUpper(); // commands are case insensitive
+ var newargs = (tokens.Length > 1 ? String.Join(" ", tokens, 1, tokens.Length - 1) : null);
+ ProcessCommand(newverb, newargs);
+ break;
+ }
+ case "CHMOD":
+ {
+ string[] tokens = arguments.Split(' ');
+ var mode = tokens[0].ToUpper(); // commands are case insensitive
+ var file = (tokens.Length > 1 ? String.Join(" ", tokens, 1, tokens.Length - 1) : "");
+ ResultOrError<bool> ret = fsHandler.ChmodFile(mode, file);
+ if (ret.HasError)
+ Respond(550, ret.Error);
+ else
+ Respond(250, GetRandomText(OK_TEXT));
+ break;
+ }
+ default:
+ {
+ Respond(500, "Unknown command.");
+ break;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Read a command from the control connection.
+ /// </summary>
+ /// <returns>
+ /// True if a command was read.
+ /// </returns>
+ /// <param name='verb'>
+ /// Will receive the verb of the command.
+ /// </param>
+ /// <param name='args'>
+ /// Will receive the arguments of the command, or null.
+ /// </param>
+ private bool ReadCommand(out string verb, out string args)
+ {
+ verb = null;
+ args = null;
+
+ int endPos = -1;
+ // can there already be a command in the buffer?
+ if (cmdRcvBytes > 0)
+ Array.IndexOf(cmdRcvBuffer, (byte)'\n', 0, cmdRcvBytes);
+
+ try
+ {
+ // read data until a newline is found
+ do
+ {
+ int freeBytes = cmdRcvBuffer.Length - cmdRcvBytes;
+ int bytes = controlSocket.Receive(cmdRcvBuffer, cmdRcvBytes, freeBytes, SocketFlags.None);
+ if (bytes <= 0)
+ break;
+
+ cmdRcvBytes += bytes;
+
+ // search \r\n
+ endPos = Array.IndexOf(cmdRcvBuffer, (byte)'\r', 0, cmdRcvBytes);
+ if (endPos != -1 && (cmdRcvBytes <= endPos + 1 || cmdRcvBuffer[endPos + 1] != (byte)'\n'))
+ endPos = -1;
+ } while (endPos == -1 && cmdRcvBytes < cmdRcvBuffer.Length);
+ }
+ catch (SocketException)
+ {
+ // in case the socket is closed or has some other error while reading
+ return false;
+ }
+
+ if (endPos == -1)
+ return false;
+
+ string command = DecodeString(cmdRcvBuffer, endPos);
+
+ // remove the command from the buffer
+ cmdRcvBytes -= (endPos + 2);
+ Array.Copy(cmdRcvBuffer, endPos + 2, cmdRcvBuffer, 0, cmdRcvBytes);
+
+ // CF is missing a limited String.Split
+ string[] tokens = command.Split(' ');
+ verb = tokens[0].ToUpper(); // commands are case insensitive
+ args = (tokens.Length > 1 ? String.Join(" ", tokens, 1, tokens.Length - 1) : null);
+
+ if (logHandler != null)
+ logHandler.ReceivedCommand(verb, args);
+
+ return true;
+ }
+
+ /// <summary>
+ /// Send a response on the control connection
+ /// </summary>
+ private void Respond(uint code, string desc, bool moreFollows)
+ {
+ string response = code.ToString();
+ if (desc != null)
+ response += (moreFollows ? '-' : ' ') + desc;
+
+ if (!response.EndsWith("\r\n"))
+ response += "\r\n";
+
+ byte[] sendBuffer = EncodeString(response);
+ controlSocket.Send(sendBuffer);
+
+ if (logHandler != null)
+ logHandler.SentResponse(code, desc);
+ }
+
+ /// <summary>
+ /// Send a response on the control connection
+ /// </summary>
+ private void Respond(uint code, string desc)
+ {
+ Respond(code, desc, false);
+ }
+
+ /// <summary>
+ /// Send a response on the control connection, with an exception as text
+ /// </summary>
+ private void Respond(uint code, Exception ex)
+ {
+ Respond(code, ex.Message.Replace(Environment.NewLine, " "));
+ }
+
+ /// <summary>
+ /// Process FTP commands when the user is not yet logged in.
+ /// Mostly handles the login commands USER and PASS.
+ /// </summary>
+ private void HandleAuth(string verb, string args)
+ {
+ if (verb == "USER" && args != null)
+ {
+ if (authHandler.AllowLogin(args, null))
+ {
+ Respond(230, "Login successful.");
+ loggedIn = true;
+ }
+ else
+ {
+ loggedInUser = args;
+ Respond(331, "Password please.");
+ }
+ }
+ else if (verb == "PASS")
+ {
+ if (loggedInUser != null)
+ {
+ if (authHandler.AllowLogin(loggedInUser, args))
+ {
+ Respond(230, "Login successful.");
+ loggedIn = true;
+ }
+ else
+ {
+ loggedInUser = null;
+ Respond(530, "Login failed, please try again.");
+ }
+ }
+ else
+ {
+ Respond(530, "No USER specified.");
+ }
+ }
+ else
+ {
+ Respond(530, "Please login first.");
+ }
+ }
+
+ /// <summary>
+ /// Read from the given stream and send the data over a data connection
+ /// </summary>
+ private void SendData(Stream stream)
+ {
+ try
+ {
+ bool passive = (dataPort == null);
+ using (Socket socket = OpenDataConnection())
+ {
+ if (socket == null)
+ return;
+
+ IPEndPoint remote = (IPEndPoint)socket.RemoteEndPoint;
+ IPEndPoint local = (IPEndPoint)socket.LocalEndPoint;
+
+ if (logHandler != null)
+ logHandler.NewDataConnection(remote, local, passive);
+
+ try
+ {
+ while (true)
+ {
+ int bytes = stream.Read(dataBuffer, 0, dataBufferSize);
+ if (bytes <= 0)
+ {
+ break;
+ }
+
+ if (transferDataType == DataType.IMAGE || noAsciiConv)
+ {
+ // TYPE I -> just pass through
+ socket.Send(dataBuffer, bytes, SocketFlags.None);
+ }
+ else
+ {
+ // TYPE A -> convert local EOL style to CRLF
+
+ // if the buffer ends with a potential partial EOL,
+ // try to read the rest of the EOL
+ // (i assume that the EOL has max. two bytes)
+ if (localEolBytes.Length == 2 &&
+ dataBuffer[bytes - 1] == localEolBytes[0])
+ {
+ if (stream.Read(dataBuffer, bytes, 1) == 1)
+ ++bytes;
+ }
+
+ byte[] convBuffer = null;
+ int convBytes = ConvertAsciiBytes(dataBuffer, bytes, true, out convBuffer);
+ socket.Send(convBuffer, convBytes, SocketFlags.None);
+ }
+ }
+
+ // flush socket before closing (done by using-statement)
+ socket.Shutdown(SocketShutdown.Send);
+ Respond(226, "Transfer complete.");
+ }
+ catch (Exception ex)
+ {
+ Respond(500, ex);
+ return;
+ }
+ finally
+ {
+ if (logHandler != null)
+ logHandler.ClosedDataConnection(remote, local, passive);
+ }
+ }
+ }
+ finally
+ {
+ stream.Close();
+ }
+ }
+
+ /// <summary>
+ /// Read from a data connection and write to the given stream
+ /// </summary>
+ private void ReceiveData(Stream stream)
+ {
+ try
+ {
+ bool passive = (dataPort == null);
+ using (Socket socket = OpenDataConnection())
+ {
+ if (socket == null)
+ return;
+
+ IPEndPoint remote = (IPEndPoint)socket.RemoteEndPoint;
+ IPEndPoint local = (IPEndPoint)socket.LocalEndPoint;
+
+ if (logHandler != null)
+ logHandler.NewDataConnection(remote, local, passive);
+
+ try
+ {
+ while (true)
+ {
+ // fill up the in-memory buffer before writing to disk
+ int totalBytes = 0;
+ while (totalBytes < dataBufferSize)
+ {
+ int freeBytes = dataBufferSize - totalBytes;
+ int newBytes = socket.Receive(dataBuffer, totalBytes, freeBytes, SocketFlags.None);
+
+ if (newBytes > 0)
+ {
+ totalBytes += newBytes;
+ }
+ else if (newBytes < 0)
+ {
+ Respond(500, String.Format("Transfer failed: Receive() returned {0}", newBytes));
+ return;
+ }
+ else
+ {
+ // end of data
+ break;
+ }
+ }
+
+ // end of data
+ if (totalBytes == 0)
+ break;
+
+ if (transferDataType == DataType.IMAGE || noAsciiConv)
+ {
+ // TYPE I -> just pass through
+ stream.Write(dataBuffer, 0, totalBytes);
+ }
+ else
+ {
+ // TYPE A -> convert CRLF to local EOL style
+
+ // if the buffer ends with a potential partial CRLF,
+ // try to read the LF
+ if (dataBuffer[totalBytes - 1] == remoteEolBytes[0])
+ {
+ if (socket.Receive(dataBuffer, totalBytes, 1, SocketFlags.None) == 1)
+ ++totalBytes;
+ }
+
+ byte[] convBuffer = null;
+ int convBytes = ConvertAsciiBytes(dataBuffer, totalBytes, false, out convBuffer);
+ stream.Write(convBuffer, 0, convBytes);
+ }
+ }
+
+ socket.Shutdown(SocketShutdown.Receive);
+ Respond(226, "Transfer complete.");
+ }
+ catch (Exception ex)
+ {
+ Respond(500, ex);
+ return;
+ }
+ finally
+ {
+ if (logHandler != null)
+ logHandler.ClosedDataConnection(remote, local, passive);
+ }
+ }
+ }
+ finally
+ {
+ //stream.Close();
+ }
+ }
+
+ /// <summary>
+ /// Create a socket for a data connection.
+ /// </summary>
+ /// <param name='listen'>
+ /// If true, the socket will be bound to a local port for the PASV command.
+ /// Otherwise the socket can be used for connecting to the address given in a PORT command.
+ /// </param>
+ private void CreateDataSocket(bool listen)
+ {
+ if (dataSocket != null)
+ dataSocket.Close();
+
+ dataSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
+
+ if (listen)
+ {
+ IPAddress serverIP = ((IPEndPoint)controlSocket.LocalEndPoint).Address;
+ dataSocket.Bind(new IPEndPoint(serverIP, 0));
+ dataSocketBound = true; // CF is missing Socket.IsBound
+ dataSocket.Listen(1);
+ }
+ }
+
+ /// <summary>
+ /// Opens an active or passive data connection and returns the socket
+ /// or null if there was no preceding PORT or PASV command or in case or error.
+ /// </summary>
+ private Socket OpenDataConnection()
+ {
+ if (dataPort == null && !dataSocketBound)
+ {
+ Respond(425, "No data port configured, use PORT or PASV.");
+ return null;
+ }
+
+ Respond(150, "Opening data connection.");
+
+ try
+ {
+ if (dataPort != null)
+ {
+ // active mode
+ dataSocket.Connect(dataPort);
+ dataPort = null;
+ return dataSocket;
+ }
+ else
+ {
+ // passive mode
+ Socket socket = dataSocket.Accept();
+ dataSocket.Close();
+ dataSocketBound = false;
+ return socket;
+ }
+ }
+ catch (Exception ex)
+ {
+ Respond(500, String.Format("Failed to open data connection: {0}", ex.Message.Replace(Environment.NewLine, " ")));
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// Convert between different EOL flavors.
+ /// </summary>
+ /// <returns>
+ /// The number of bytes in the resultBuffer.
+ /// </returns>
+ /// <param name='buffer'>
+ /// The input buffer whose data will be converted.
+ /// </param>
+ /// <param name='len'>
+ /// The number of bytes in the input buffer.
+ /// </param>
+ /// <param name='localToRemote'>
+ /// If true, the conversion will be made from local to FTP flavor,
+ /// otherwise from FTP to local flavor.
+ /// </param>
+ /// <param name='resultBuffer'>
+ /// The resulting buffer with the converted text.
+ /// Can be the same reference as the input buffer if there is nothing to convert.
+ /// </param>
+ private int ConvertAsciiBytes(byte[] buffer, int len, bool localToRemote, out byte[] resultBuffer)
+ {
+ byte[] fromBytes = (localToRemote ? localEolBytes : remoteEolBytes);
+ byte[] toBytes = (localToRemote ? remoteEolBytes : localEolBytes);
+ resultBuffer = null;
+
+ int startIndex = 0;
+ int resultLen = 0;
+ int searchLen;
+ while ((searchLen = len - startIndex) > 0)
+ {
+ // search for the first byte of the EOL sequence
+ int eolIndex = Array.IndexOf(buffer, fromBytes[0], startIndex, searchLen);
+
+ // shortcut if there is no EOL in the whole buffer
+ if (eolIndex == -1 && startIndex == 0)
+ {
+ resultBuffer = buffer;
+ return len;
+ }
+
+ // allocate to worst-case size
+ if (resultBuffer == null)
+ resultBuffer = new byte[len * 2];
+
+ if (eolIndex == -1)
+ {
+ Array.Copy(buffer, startIndex, resultBuffer, resultLen, searchLen);
+ resultLen += searchLen;
+ break;
+ }
+ else
+ {
+ // compare the rest of the EOL
+ int matchBytes = 1;
+ for (int i = 1; i < fromBytes.Length && eolIndex + i < len; ++i)
+ {
+ if (buffer[eolIndex + i] == fromBytes[i])
+ ++matchBytes;
+ }
+
+ if (matchBytes == fromBytes.Length)
+ {
+ // found an EOL to convert
+ int copyLen = eolIndex - startIndex;
+ if (copyLen > 0)
+ {
+ Array.Copy(buffer, startIndex, resultBuffer, resultLen, copyLen);
+ resultLen += copyLen;
+ }
+ Array.Copy(toBytes, 0, resultBuffer, resultLen, toBytes.Length);
+ resultLen += toBytes.Length;
+ startIndex += copyLen + fromBytes.Length;
+ }
+ else
+ {
+ int copyLen = (eolIndex - startIndex) + 1;
+ Array.Copy(buffer, startIndex, resultBuffer, resultLen, copyLen);
+ resultLen += copyLen;
+ startIndex += copyLen;
+ }
+ }
+ }
+
+ return resultLen;
+ }
+
+ /// <summary>
+ /// Parse the argument of a PORT command into an IPEndPoint
+ /// </summary>
+ private IPEndPoint ParseAddress(string address)
+ {
+ string[] tokens = address.Split(',');
+ byte[] bytes = new byte[tokens.Length];
+ for (int i = 0; i < tokens.Length; ++i)
+ {
+ try
+ {
+ // CF is missing TryParse
+ bytes[i] = byte.Parse(tokens[i]);
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+ }
+
+ long ip = bytes[0] | bytes[1] << 8 | bytes[2] << 16 | bytes[3] << 24;
+ int port = bytes[4] << 8 | bytes[5];
+ return new IPEndPoint(ip, port);
+ }
+
+ /// <summary>
+ /// Format an IPEndPoint so that it can be used in a response for a PASV command
+ /// </summary>
+ private string FormatAddress(IPEndPoint address)
+ {
+ byte[] ip = address.Address.GetAddressBytes();
+ int port = address.Port;
+
+ return String.Format("{0},{1},{2},{3},{4},{5}",
+ ip[0], ip[1], ip[2], ip[3],
+ (port & 0xFF00) >> 8, port & 0x00FF);
+ }
+
+ /// <summary>
+ /// Formats a list of file system entries for a response to a LIST or STAT command
+ /// </summary>
+ private string FormatDirList(FileSystemEntry[] list)
+ {
+ int maxSizeChars = 0;
+ foreach (FileSystemEntry entry in list)
+ {
+ maxSizeChars = Math.Max(maxSizeChars, entry.Size.ToString().Length);
+ }
+
+ DateTime sixMonthsAgo = EnsureUnixTime(DateTime.Now.ToUniversalTime().AddMonths(-6));
+
+ StringBuilder result = new StringBuilder();
+ foreach (FileSystemEntry entry in list)
+ {
+ char dirflag = (entry.IsDirectory ? 'd' : '-');
+ string size = entry.Size.ToString().PadLeft(maxSizeChars);
+ DateTime time = EnsureUnixTime(entry.LastModifiedTimeUtc);
+ string timestr = MONTHS[time.Month - 1];
+ if (time < sixMonthsAgo)
+ timestr += time.ToString(" dd yyyy");
+ else
+ timestr += time.ToString(" dd hh:mm");
+ string mode = entry.Mode;
+
+ if (string.IsNullOrEmpty(mode))
+ mode = dirflag + "rwxr--r--";
+
+ result.AppendFormat("{0} 1 owner group {1} {2} {3}\r\n",
+ mode, size, timestr, entry.Name);
+ }
+
+ return result.ToString();
+ }
+
+ /// <summary>
+ /// Formats a list of file system entries for a response to an NLST command
+ /// </summary>
+ private string FormatNLST(FileSystemEntry[] list)
+ {
+ StringBuilder sb = new StringBuilder();
+ foreach (FileSystemEntry entry in list)
+ {
+ sb.Append(entry.Name);
+ sb.Append("\r\n");
+ }
+ return sb.ToString();
+ }
+
+ /// <summary>
+ /// Formats a list of file system entries for a response to an MLST command
+ /// </summary>
+ private string FormatMLST(FileSystemEntry[] list)
+ {
+ StringBuilder sb = new StringBuilder();
+ var cd = fsHandler.GetCurrentDirectory();
+ foreach (FileSystemEntry entry in list)
+ {
+ int p = entry.Name.IndexOf(" -> ");
+ string l, f;
+ if (p >= 0)
+ {
+ l = entry.Name.Substring(0, p);
+ f = entry.Name.Substring(p + 4);
+ }
+ else
+ {
+ l = f = entry.Name;
+ }
+ sb.AppendFormat("modify={0:yyyyMMddHHmmss};perm={1};size={2};type={3};unique={4:X};unix.mode={5:D4}; {6}\r\n",
+ entry.LastModifiedTimeUtc,
+ "rw" + (entry.IsDirectory ? "l" : "") + (entry.Mode != null && entry.Mode.Contains("x") ? "x" : ""),
+ entry.Size,
+ (l != f) ? "symlink" : (entry.IsDirectory ? "dir" : "file"),
+ (cd.Result + f).GetHashCode(),
+ (string.IsNullOrEmpty(entry.Mode) || entry.Mode.Length < 10) ? 0 : (
+ ((entry.Mode[3] == 'S') ? 4000 : 0) +
+ ((entry.Mode[6] == 'S') ? 2000 : 0) +
+ ((entry.Mode[9] == 'T') ? 1000 : 0) +
+ ((entry.Mode[1] == 'r') ? 400 : 0) +
+ ((entry.Mode[2] == 'w') ? 200 : 0) +
+ ((entry.Mode[3] != '-') ? 100 : 0) +
+ ((entry.Mode[4] == 'r') ? 040 : 0) +
+ ((entry.Mode[5] == 'w') ? 020 : 0) +
+ ((entry.Mode[6] != '-') ? 010 : 0) +
+ ((entry.Mode[7] == 'r') ? 004 : 0) +
+ ((entry.Mode[8] == 'w') ? 002 : 0) +
+ ((entry.Mode[9] != '-') ? 001 : 0)
+ ),
+ l);
+ sb.Append("\r\n");
+ }
+ return sb.ToString();
+ }
+
+ /// <summary>
+ /// Format a timestamp for a reponse to a MDTM command
+ /// </summary>
+ private string FormatTime(DateTime time)
+ {
+ return time.ToString("yyyyMMddHHmmss");
+ }
+
+ /// <summary>
+ /// Restrict the year in a timestamp to >= 1970
+ /// </summary>
+ private DateTime EnsureUnixTime(DateTime time)
+ {
+ // the server claims to be UNIX, so there should be
+ // no timestamps before 1970.
+ // e.g. FileZilla does not handle them correctly.
+
+ int yearDiff = time.Year - 1970;
+ if (yearDiff < 0)
+ return time.AddYears(-yearDiff);
+ else
+ return time;
+ }
+
+ /// <summary>
+ /// Escape a path for a response to a PWD command
+ /// </summary>
+ private string EscapePath(string path)
+ {
+ // double-quotes in paths are escaped by doubling them
+ return '"' + path.Replace("\"", "\"\"") + '"';
+ }
+
+ /// <summary>
+ /// Remove "-a" or "-l" from the arguments for a LIST or STAT command
+ /// </summary>
+ private string RemoveLsArgs(string args)
+ {
+ if (args != null && (args.StartsWith("-a") || args.StartsWith("-l")))
+ {
+ if (args.Length == 2)
+ return null;
+ else if (args.Length > 3 && args[2] == ' ')
+ return args.Substring(3);
+ }
+
+ return args;
+ }
+
+ /// <summary>
+ /// Convert a string to a list of UTF8 bytes
+ /// </summary>
+ private byte[] EncodeString(string data)
+ {
+ return Encoding.UTF8.GetBytes(data);
+ }
+
+ /// <summary>
+ /// Convert a list of UTF8 bytes to a string
+ /// </summary>
+ private string DecodeString(byte[] data, int len)
+ {
+ return Encoding.UTF8.GetString(data, 0, len);
+ }
+
+ /// <summary>
+ /// Convert a list of UTF8 bytes to a string
+ /// </summary>
+ private string DecodeString(byte[] data)
+ {
+ return DecodeString(data, data.Length);
+ }
+
+ /// <summary>
+ /// Fill a stream with the given string as UTF8 bytes
+ /// </summary>
+ private Stream MakeStream(string data)
+ {
+ return new MemoryStream(EncodeString(data));
+ }
+
+ /// <summary>
+ /// Return a randomly selected text from the given list
+ /// </summary>
+ private string GetRandomText(string[] texts)
+ {
+ int index = randomTextIndex.Next(0, texts.Length);
+ return texts[index];
+ }
+ }
+}
diff --git a/GameGenieCodeAddModForm.bg-BG.resx b/GameGenieCodeAddModForm.bg-BG.resx
new file mode 100644
index 00000000..6a9380f1
--- /dev/null
+++ b/GameGenieCodeAddModForm.bg-BG.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Добави код: Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Ðнулирай</value>
+ </data>
+ <data name="label1.Text">
+ <value>Код:</value>
+ </data>
+ <data name="label2.Text">
+ <value>ОпиÑание</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.ca-ES.resx b/GameGenieCodeAddModForm.ca-ES.resx
new file mode 100644
index 00000000..a8b31e97
--- /dev/null
+++ b/GameGenieCodeAddModForm.ca-ES.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Afegir codi Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel·lar</value>
+ </data>
+ <data name="label1.Text">
+ <value>Codi:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Descripció:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.da-DK.resx b/GameGenieCodeAddModForm.da-DK.resx
new file mode 100644
index 00000000..755ec109
--- /dev/null
+++ b/GameGenieCodeAddModForm.da-DK.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Tilføj Game Genie kode</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuller</value>
+ </data>
+ <data name="label1.Text">
+ <value>Code:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Beskrivelse:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.de-DE.resx b/GameGenieCodeAddModForm.de-DE.resx
index 56cecb47..a1e5b8af 100644
--- a/GameGenieCodeAddModForm.de-DE.resx
+++ b/GameGenieCodeAddModForm.de-DE.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1304 +58,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="$this.Text">
+ <value>Game Genie Code hinzufügen</value>
</data>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="buttonCancel.Text">
<value>Abbrechen</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="textBoxCode.Size" type="System.Drawing.Size, System.Drawing">
- <value>273, 20</value>
- </data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="&gt;&gt;textBoxCode.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
- <value>75, 23</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="textBoxCode.Location" type="System.Drawing.Point, System.Drawing">
- <value>81, 7</value>
- </data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>11, 36</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
+ <data name="label1.Text">
<value>Code:</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>GameGenieCodeAddModForm</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;textBoxDescription.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>11, 10</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxDescription.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>198, 59</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>366, 89</value>
- </data>
- <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
- <value>279, 59</value>
- </data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
- </data>
- <data name="&gt;&gt;textBoxCode.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="textBoxDescription.Size" type="System.Drawing.Size, System.Drawing">
- <value>273, 20</value>
- </data>
- <data name="&gt;&gt;textBoxDescription.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>75, 23</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
+ <data name="label2.Text">
<value>Beschreibung:</value>
</data>
- <data name="textBoxDescription.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="&gt;&gt;textBoxCode.Name" xml:space="preserve">
- <value>textBoxCode</value>
- </data>
- <data name="label1.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>63, 13</value>
- </data>
- <data name="textBoxCode.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>35, 13</value>
- </data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="textBoxDescription.Location" type="System.Drawing.Point, System.Drawing">
- <value>81, 33</value>
- </data>
- <data name="&gt;&gt;textBoxDescription.Name" xml:space="preserve">
- <value>textBoxDescription</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;textBoxCode.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Game Genie Code hinzufügen</value>
- </data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.designer.cs b/GameGenieCodeAddModForm.designer.cs
index 62dc17bc..a5c89f14 100644
--- a/GameGenieCodeAddModForm.designer.cs
+++ b/GameGenieCodeAddModForm.designer.cs
@@ -59,8 +59,8 @@
//
// buttonCancel
//
- resources.ApplyResources(this.buttonCancel, "buttonCancel");
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ resources.ApplyResources(this.buttonCancel, "buttonCancel");
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.UseVisualStyleBackColor = true;
//
diff --git a/GameGenieCodeAddModForm.el-GR.resx b/GameGenieCodeAddModForm.el-GR.resx
new file mode 100644
index 00000000..65946b09
--- /dev/null
+++ b/GameGenieCodeAddModForm.el-GR.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>ΠÏοσθήκη ÎºÏ‰Î´Î¹ÎºÎ¿Ï Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>ΑκÏÏωση</value>
+ </data>
+ <data name="label1.Text">
+ <value>Κωδικός:</value>
+ </data>
+ <data name="label2.Text">
+ <value>ΠεÏιγÏαφή:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.en-GB.resx b/GameGenieCodeAddModForm.en-GB.resx
new file mode 100644
index 00000000..70321d10
--- /dev/null
+++ b/GameGenieCodeAddModForm.en-GB.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Add Game Genie code</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Code:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Description:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.es-AR.resx b/GameGenieCodeAddModForm.es-AR.resx
new file mode 100644
index 00000000..410c4cc4
--- /dev/null
+++ b/GameGenieCodeAddModForm.es-AR.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Agregar código de Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="label1.Text">
+ <value>Código:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Descripción:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.es-ES.resx b/GameGenieCodeAddModForm.es-ES.resx
new file mode 100644
index 00000000..23c58b3a
--- /dev/null
+++ b/GameGenieCodeAddModForm.es-ES.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Añadir código Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="label1.Text">
+ <value>Código:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Descripción:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.fi-FI.resx b/GameGenieCodeAddModForm.fi-FI.resx
new file mode 100644
index 00000000..453e331f
--- /dev/null
+++ b/GameGenieCodeAddModForm.fi-FI.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lisää Game Genie -koodi</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Peruuta</value>
+ </data>
+ <data name="label1.Text">
+ <value>Koodi:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Kuvaus:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.fr-FR.resx b/GameGenieCodeAddModForm.fr-FR.resx
new file mode 100644
index 00000000..b904c359
--- /dev/null
+++ b/GameGenieCodeAddModForm.fr-FR.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Ajouter un code Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuler</value>
+ </data>
+ <data name="label1.Text">
+ <value>Code:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Description:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.id-ID.resx b/GameGenieCodeAddModForm.id-ID.resx
new file mode 100644
index 00000000..949dcf89
--- /dev/null
+++ b/GameGenieCodeAddModForm.id-ID.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Tambahkan kode Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Batal</value>
+ </data>
+ <data name="label1.Text">
+ <value>Kode:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Deskripsi:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.it-IT.resx b/GameGenieCodeAddModForm.it-IT.resx
new file mode 100644
index 00000000..78a78738
--- /dev/null
+++ b/GameGenieCodeAddModForm.it-IT.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Aggiungi codice Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancella</value>
+ </data>
+ <data name="label1.Text">
+ <value>Codice:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Descrizione:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.nl.resx b/GameGenieCodeAddModForm.nl.resx
new file mode 100644
index 00000000..934ad093
--- /dev/null
+++ b/GameGenieCodeAddModForm.nl.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Voeg een Game Genie code toe</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuleer</value>
+ </data>
+ <data name="label1.Text">
+ <value>Code:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Beschrijving:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.pl-PL.resx b/GameGenieCodeAddModForm.pl-PL.resx
index 99abdfbb..c65e668d 100644
--- a/GameGenieCodeAddModForm.pl-PL.resx
+++ b/GameGenieCodeAddModForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1149 +58,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="$this.Text">
+ <value>Dodaj kody Game Genie</value>
+ </data>
+ <data name="buttonCancel.Text">
<value>Anuluj</value>
</data>
- <data name="label1.Text" xml:space="preserve">
+ <data name="label1.Text">
<value>Kod:</value>
</data>
- <data name="label2.Text" xml:space="preserve">
+ <data name="label2.Text">
<value>Opis:</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Dodaj kody Game Genie</value>
- </data>
</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.pt-PT.resx b/GameGenieCodeAddModForm.pt-PT.resx
new file mode 100644
index 00000000..920efc20
--- /dev/null
+++ b/GameGenieCodeAddModForm.pt-PT.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Adicionar código Genie do jogo</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="label1.Text">
+ <value>Código:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Descrição:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.resx b/GameGenieCodeAddModForm.resx
index 6db0b80a..78b4cbde 100644
--- a/GameGenieCodeAddModForm.resx
+++ b/GameGenieCodeAddModForm.resx
@@ -117,161 +117,160 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="buttonCancel.Text" xml:space="preserve">
- <value>Cancel</value>
- </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="textBoxCode.Location" type="System.Drawing.Point, System.Drawing">
+ <value>81, 7</value>
+ </data>
<data name="textBoxCode.Size" type="System.Drawing.Size, System.Drawing">
<value>273, 20</value>
</data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="&gt;&gt;textBoxCode.ZOrder" xml:space="preserve">
- <value>5</value>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="textBoxCode.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
</data>
- <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
- <value>75, 23</value>
+ <data name="&gt;&gt;textBoxCode.Name" xml:space="preserve">
+ <value>textBoxCode</value>
</data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;textBoxCode.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="textBoxCode.Location" type="System.Drawing.Point, System.Drawing">
- <value>81, 7</value>
+ <data name="&gt;&gt;textBoxCode.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
+ <data name="&gt;&gt;textBoxCode.ZOrder" xml:space="preserve">
<value>5</value>
</data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>11, 36</value>
+ <data name="textBoxDescription.Location" type="System.Drawing.Point, System.Drawing">
+ <value>81, 33</value>
</data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="textBoxDescription.Size" type="System.Drawing.Size, System.Drawing">
+ <value>273, 20</value>
</data>
- <data name="label1.Text" xml:space="preserve">
- <value>Code:</value>
+ <data name="textBoxDescription.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>GameGenieCodeAddModForm</value>
+ <data name="&gt;&gt;textBoxDescription.Name" xml:space="preserve">
+ <value>textBoxDescription</value>
</data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;textBoxDescription.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
+ <data name="&gt;&gt;textBoxDescription.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBoxDescription.ZOrder" xml:space="preserve">
<value>4</value>
</data>
- <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 10</value>
</data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxDescription.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>35, 13</value>
</data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
</data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Code:</value>
</data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>198, 59</value>
+ <data name="&gt;&gt;label1.Name" xml:space="preserve">
+ <value>label1</value>
</data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>366, 89</value>
+ <data name="&gt;&gt;label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
- <value>279, 59</value>
+ <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>11, 36</value>
</data>
- <data name="&gt;&gt;textBoxCode.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>63, 13</value>
</data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Description:</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
- <data name="textBoxDescription.Size" type="System.Drawing.Size, System.Drawing">
- <value>273, 20</value>
+ <data name="&gt;&gt;label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;textBoxDescription.Parent" xml:space="preserve">
+ <data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
+ <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>279, 59</value>
+ </data>
+ <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
- <data name="label2.Text" xml:space="preserve">
- <value>Description:</value>
+ <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
</data>
- <data name="textBoxDescription.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
+ <data name="buttonCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
</data>
- <data name="&gt;&gt;textBoxCode.Name" xml:space="preserve">
- <value>textBoxCode</value>
+ <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
+ <value>buttonCancel</value>
</data>
- <data name="label1.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
+ <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>63, 13</value>
+ <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="textBoxCode.TabIndex" type="System.Int32, mscorlib">
+ <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>Ok</value>
+ <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
+ <value>198, 59</value>
</data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>35, 13</value>
+ <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
+ <value>75, 23</value>
</data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
</data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="buttonOk.Text" xml:space="preserve">
+ <value>OK</value>
</data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>0</value>
+ <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
+ <value>buttonOk</value>
</data>
- <data name="textBoxDescription.Location" type="System.Drawing.Point, System.Drawing">
- <value>81, 33</value>
+ <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;textBoxDescription.Name" xml:space="preserve">
- <value>textBoxDescription</value>
+ <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
<data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
<value>1</value>
</data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
</data>
- <data name="&gt;&gt;textBoxCode.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>366, 89</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1405,16 +1404,17 @@
//////////////////////////////////8=
</value>
</data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
<data name="$this.Text" xml:space="preserve">
<value>Add Game Genie code</value>
</data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>2</value>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>GameGenieCodeAddModForm</value>
</data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.ru-RU.resx b/GameGenieCodeAddModForm.ru-RU.resx
index c5cd9c63..cbae5433 100644
--- a/GameGenieCodeAddModForm.ru-RU.resx
+++ b/GameGenieCodeAddModForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1155 +58,16 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>29, 13</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>Код:</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>60, 13</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>ОпиÑание:</value>
+ <data name="$this.Text">
+ <value>Добавить Game Genie код</value>
</data>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="buttonCancel.Text">
<value>Отмена</value>
</data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
+ <data name="label1.Text">
+ <value>Код:</value>
</data>
- <data name="$this.Text" xml:space="preserve">
- <value>Добавить Game Genie код</value>
+ <data name="label2.Text">
+ <value>ОпиÑание:</value>
</data>
</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.sk-SK.resx b/GameGenieCodeAddModForm.sk-SK.resx
new file mode 100644
index 00000000..8f67a92f
--- /dev/null
+++ b/GameGenieCodeAddModForm.sk-SK.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Pridať Game Genie kód</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Zrušiť</value>
+ </data>
+ <data name="label1.Text">
+ <value>Kód:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Popis:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.sv-SE.resx b/GameGenieCodeAddModForm.sv-SE.resx
new file mode 100644
index 00000000..2fac3d32
--- /dev/null
+++ b/GameGenieCodeAddModForm.sv-SE.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lägg till Game Genie kod</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Avbryt</value>
+ </data>
+ <data name="label1.Text">
+ <value>Kod:</value>
+ </data>
+ <data name="label2.Text">
+ <value>Beskrivning:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.uk-UA.resx b/GameGenieCodeAddModForm.uk-UA.resx
new file mode 100644
index 00000000..80f4d3b4
--- /dev/null
+++ b/GameGenieCodeAddModForm.uk-UA.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Додати Game Genie код</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Відміна</value>
+ </data>
+ <data name="label1.Text">
+ <value>Код:</value>
+ </data>
+ <data name="label2.Text">
+ <value>ОпиÑ:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.zh-CHS.resx b/GameGenieCodeAddModForm.zh-CHS.resx
new file mode 100644
index 00000000..75f0be5c
--- /dev/null
+++ b/GameGenieCodeAddModForm.zh-CHS.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>新增游æˆä½œå¼Šä»£ç </value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="label1.Text">
+ <value>ä»£ç  :</value>
+ </data>
+ <data name="label2.Text">
+ <value>说明 :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.zh-CHT.resx b/GameGenieCodeAddModForm.zh-CHT.resx
new file mode 100644
index 00000000..8476524b
--- /dev/null
+++ b/GameGenieCodeAddModForm.zh-CHT.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>新增éŠæˆ²ä½œå¼Šä»£ç¢¼</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="label1.Text">
+ <value>代碼 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>說明 :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeAddModForm.zh-TW.resx b/GameGenieCodeAddModForm.zh-TW.resx
new file mode 100644
index 00000000..8476524b
--- /dev/null
+++ b/GameGenieCodeAddModForm.zh-TW.resx
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>新增éŠæˆ²ä½œå¼Šä»£ç¢¼</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="label1.Text">
+ <value>代碼 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>說明 :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.bg-BG.resx b/GameGenieCodeForm.bg-BG.resx
new file mode 100644
index 00000000..7ee51962
--- /dev/null
+++ b/GameGenieCodeForm.bg-BG.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>СпиÑък на кодовете за Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Добави</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Добави</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Ðнулирай</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Импорт</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Редактиране</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Изтрий</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.ca-ES.resx b/GameGenieCodeForm.ca-ES.resx
new file mode 100644
index 00000000..9e4cf08c
--- /dev/null
+++ b/GameGenieCodeForm.ca-ES.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Llista de codis del Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Afegir</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Afegir</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel·lar</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editar</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.da-DK.resx b/GameGenieCodeForm.da-DK.resx
new file mode 100644
index 00000000..b38f0e70
--- /dev/null
+++ b/GameGenieCodeForm.da-DK.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Game Genie kode liste</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Tilføj</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Tilføj</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuller</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importér</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Rediger</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Slet</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.de-DE.resx b/GameGenieCodeForm.de-DE.resx
index 98afdc9c..15f11b53 100644
--- a/GameGenieCodeForm.de-DE.resx
+++ b/GameGenieCodeForm.de-DE.resx
@@ -1,64 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1355 +58,25 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="$this.Text">
+ <value>Game Genie Codes</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>392, 458</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="checkedListBoxGameCode.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;addToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGameCode.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
- <value>295, 425</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>GameGenieCodeForm</value>
- </data>
- <data name="addToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>107, 22</value>
- </data>
- <data name="buttonImport.Location" type="System.Drawing.Point, System.Drawing">
- <value>101, 425</value>
- </data>
- <data name="&gt;&gt;buttonAdd.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGameCode.Name" xml:space="preserve">
- <value>checkedListBoxGameCode</value>
- </data>
- <data name="buttonAdd.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="buttonCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Right</value>
- </data>
- <data name="buttonAdd.Text" xml:space="preserve">
+ <data name="addToolStripMenuItem.Text">
<value>Hinzufügen</value>
</data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="&gt;&gt;addToolStripMenuItem.Name" xml:space="preserve">
- <value>addToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;removeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonImport.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonAdd.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="checkedListBoxGameCode.Size" type="System.Drawing.Size, System.Drawing">
- <value>380, 409</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
- <value>contextMenuStrip</value>
- </data>
- <data name="addToolStripMenuItem.Text" xml:space="preserve">
+ <data name="buttonAdd.Text">
<value>Hinzufügen</value>
</data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGameCode.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="&gt;&gt;ofdXmlFile.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonImport.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="buttonCancel.Text">
<value>Abbrechen</value>
</data>
- <data name="buttonImport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Left</value>
- </data>
- <data name="removeToolStripMenuItem.Text" xml:space="preserve">
- <value>Löschen</value>
- </data>
- <data name="checkedListBoxGameCode.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 4</value>
- </data>
- <data name="buttonAdd.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
- </data>
- <data name="&gt;&gt;editToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Right</value>
- </data>
- <data name="&gt;&gt;removeToolStripMenuItem.Name" xml:space="preserve">
- <value>removeToolStripMenuItem</value>
- </data>
- <data name="buttonImport.Text" xml:space="preserve">
+ <data name="buttonImport.Text">
<value>Importieren</value>
</data>
- <data name="&gt;&gt;buttonImport.Name" xml:space="preserve">
- <value>buttonImport</value>
- </data>
- <data name="buttonAdd.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Left</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="checkedListBoxGameCode.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>108, 70</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="removeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>107, 22</value>
- </data>
- <data name="&gt;&gt;buttonAdd.Name" xml:space="preserve">
- <value>buttonAdd</value>
- </data>
- <data name="buttonAdd.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 425</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="buttonImport.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Game Genie Codeliste</value>
- </data>
- <data name="ofdXmlFile.Filter" xml:space="preserve">
- <value>XML files|*.xml</value>
- </data>
- <data name="&gt;&gt;buttonAdd.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;editToolStripMenuItem.Name" xml:space="preserve">
- <value>editToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;checkedListBoxGameCode.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="editToolStripMenuItem.Text" xml:space="preserve">
+ <data name="editToolStripMenuItem.Text">
<value>Bearbeiten</value>
</data>
- <data name="&gt;&gt;buttonImport.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="ofdXmlFile.Title" xml:space="preserve">
- <value>Wähle Nestopia Game Genie XML Datei</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>199, 425</value>
- </data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="&gt;&gt;ofdXmlFile.Name" xml:space="preserve">
- <value>ofdXmlFile</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>107, 22</value>
- </data>
- <data name="buttonImport.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Löschen</value>
</data>
- <metadata name="ofdXmlFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>279, 20</value>
- </metadata>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>133, 17</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.designer.cs b/GameGenieCodeForm.designer.cs
index 0851b487..2482b00d 100644
--- a/GameGenieCodeForm.designer.cs
+++ b/GameGenieCodeForm.designer.cs
@@ -45,37 +45,37 @@
//
// checkedListBoxGameCode
//
- resources.ApplyResources(this.checkedListBoxGameCode, "checkedListBoxGameCode");
this.checkedListBoxGameCode.AllowDrop = true;
+ resources.ApplyResources(this.checkedListBoxGameCode, "checkedListBoxGameCode");
this.checkedListBoxGameCode.FormattingEnabled = true;
this.checkedListBoxGameCode.Name = "checkedListBoxGameCode";
this.checkedListBoxGameCode.MouseDown += new System.Windows.Forms.MouseEventHandler(this.checkedListBoxGameCode_MouseDown);
//
// contextMenuStrip
//
- resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addToolStripMenuItem,
this.editToolStripMenuItem,
this.removeToolStripMenuItem});
this.contextMenuStrip.Name = "contextMenuStrip";
+ resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
//
// addToolStripMenuItem
//
- resources.ApplyResources(this.addToolStripMenuItem, "addToolStripMenuItem");
this.addToolStripMenuItem.Name = "addToolStripMenuItem";
+ resources.ApplyResources(this.addToolStripMenuItem, "addToolStripMenuItem");
this.addToolStripMenuItem.Click += new System.EventHandler(this.buttonAdd_Click);
//
// editToolStripMenuItem
//
- resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem");
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
+ resources.ApplyResources(this.editToolStripMenuItem, "editToolStripMenuItem");
this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click);
//
// removeToolStripMenuItem
//
- resources.ApplyResources(this.removeToolStripMenuItem, "removeToolStripMenuItem");
this.removeToolStripMenuItem.Name = "removeToolStripMenuItem";
+ resources.ApplyResources(this.removeToolStripMenuItem, "removeToolStripMenuItem");
this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click);
//
// buttonOk
diff --git a/GameGenieCodeForm.el-GR.resx b/GameGenieCodeForm.el-GR.resx
new file mode 100644
index 00000000..92b36820
--- /dev/null
+++ b/GameGenieCodeForm.el-GR.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Λίστα κωδικών Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>ΠÏοσθήκη</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>ΠÏοσθήκη</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>ΑκÏÏωση</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Εισαγωγή</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>ΕπεξεÏγασία</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>ΔιαγÏαφή</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.en-GB.resx b/GameGenieCodeForm.en-GB.resx
new file mode 100644
index 00000000..147400ec
--- /dev/null
+++ b/GameGenieCodeForm.en-GB.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Game Genie code list</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Add</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Add</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancel</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Import</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Edit</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Delete</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.es-AR.resx b/GameGenieCodeForm.es-AR.resx
new file mode 100644
index 00000000..6ca55e6e
--- /dev/null
+++ b/GameGenieCodeForm.es-AR.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lista de códigos de Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Agregar</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Agregar</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editar</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.es-ES.resx b/GameGenieCodeForm.es-ES.resx
new file mode 100644
index 00000000..450f3e26
--- /dev/null
+++ b/GameGenieCodeForm.es-ES.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lista de códigos de Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Añadir</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Añadir</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editar</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Eliminar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.fi-FI.resx b/GameGenieCodeForm.fi-FI.resx
new file mode 100644
index 00000000..6736239e
--- /dev/null
+++ b/GameGenieCodeForm.fi-FI.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gem Genie -koodilista</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Lisää</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Lisää</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Peruuta</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Tuo</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Muokkaa</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Poista</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.fr-FR.resx b/GameGenieCodeForm.fr-FR.resx
new file mode 100644
index 00000000..dac964e5
--- /dev/null
+++ b/GameGenieCodeForm.fr-FR.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Liste des codes Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Ajouter</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Ajouter</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuler</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importer</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editer</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Supprimer</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.id-ID.resx b/GameGenieCodeForm.id-ID.resx
new file mode 100644
index 00000000..f638ecf7
--- /dev/null
+++ b/GameGenieCodeForm.id-ID.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Daftar kode Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Tambah</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Tambah</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Batal</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Impor</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Edit</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Hapus</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.it-IT.resx b/GameGenieCodeForm.it-IT.resx
new file mode 100644
index 00000000..e8f1aa5a
--- /dev/null
+++ b/GameGenieCodeForm.it-IT.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lista codici Game Genie</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Aggiungi</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Aggiungi</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancella</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importa</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Modifica</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Cancella</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.nl.resx b/GameGenieCodeForm.nl.resx
new file mode 100644
index 00000000..c6ba358a
--- /dev/null
+++ b/GameGenieCodeForm.nl.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Game Genie code lijst</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Voeg toe</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Voeg toe</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Annuleer</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importeer</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Bewerken</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Verwijderen</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.pl-PL.resx b/GameGenieCodeForm.pl-PL.resx
index 6744df1b..6f7682b1 100644
--- a/GameGenieCodeForm.pl-PL.resx
+++ b/GameGenieCodeForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1164 +58,25 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Game Genie lista kodów</value>
</data>
- <data name="buttonAdd.Text" xml:space="preserve">
+ <data name="addToolStripMenuItem.Text">
<value>Dodaj</value>
</data>
- <data name="addToolStripMenuItem.Text" xml:space="preserve">
+ <data name="buttonAdd.Text">
<value>Dodaj</value>
</data>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="buttonCancel.Text">
<value>Anuluj</value>
</data>
- <data name="removeToolStripMenuItem.Text" xml:space="preserve">
- <value>Usuń</value>
- </data>
- <data name="buttonImport.Text" xml:space="preserve">
+ <data name="buttonImport.Text">
<value>Importuj</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="ofdXmlFile.Filter" xml:space="preserve">
- <value>Pliki XML|*.xml</value>
- </data>
- <data name="editToolStripMenuItem.Text" xml:space="preserve">
+ <data name="editToolStripMenuItem.Text">
<value>Edytuj</value>
</data>
- <data name="ofdXmlFile.Title" xml:space="preserve">
- <value>Wybierz plik XML Nestopia Game Genie</value>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Usuń</value>
</data>
</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.pt-PT.resx b/GameGenieCodeForm.pt-PT.resx
new file mode 100644
index 00000000..6178505b
--- /dev/null
+++ b/GameGenieCodeForm.pt-PT.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Lista de códigos Genie do jogo</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Adicionar</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Adicionar</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Cancelar</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editar</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Excluir</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.resx b/GameGenieCodeForm.resx
index ca001235..180ee79d 100644
--- a/GameGenieCodeForm.resx
+++ b/GameGenieCodeForm.resx
@@ -117,128 +117,128 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="checkedListBoxGameCode.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
+ <data name="checkedListBoxGameCode.Location" type="System.Drawing.Point, System.Drawing">
+ <value>5, 4</value>
</data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>392, 458</value>
+ <data name="checkedListBoxGameCode.Size" type="System.Drawing.Size, System.Drawing">
+ <value>380, 409</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="checkedListBoxGameCode.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;addToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;checkedListBoxGameCode.Name" xml:space="preserve">
+ <value>checkedListBoxGameCode</value>
</data>
<data name="&gt;&gt;checkedListBoxGameCode.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
- <value>295, 425</value>
+ <data name="&gt;&gt;checkedListBoxGameCode.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>GameGenieCodeForm</value>
+ <data name="&gt;&gt;checkedListBoxGameCode.ZOrder" xml:space="preserve">
+ <value>5</value>
</data>
+ <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>133, 17</value>
+ </metadata>
<data name="addToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>107, 22</value>
</data>
- <data name="buttonImport.Location" type="System.Drawing.Point, System.Drawing">
- <value>101, 425</value>
+ <data name="addToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add</value>
</data>
- <data name="&gt;&gt;buttonAdd.ZOrder" xml:space="preserve">
- <value>1</value>
+ <data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>107, 22</value>
</data>
- <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
+ <data name="editToolStripMenuItem.Text" xml:space="preserve">
+ <value>Edit</value>
</data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="removeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>107, 22</value>
</data>
- <data name="&gt;&gt;checkedListBoxGameCode.Name" xml:space="preserve">
- <value>checkedListBoxGameCode</value>
+ <data name="removeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete</value>
</data>
- <data name="buttonAdd.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
+ <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>108, 70</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="buttonCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
+ <value>contextMenuStrip</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
- <data name="buttonAdd.Text" xml:space="preserve">
- <value>Add</value>
+ <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
+ <value>199, 425</value>
</data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
+ <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
+ <value>90, 23</value>
</data>
- <data name="&gt;&gt;addToolStripMenuItem.Name" xml:space="preserve">
- <value>addToolStripMenuItem</value>
+ <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
</data>
- <data name="&gt;&gt;removeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="buttonOk.Text" xml:space="preserve">
+ <value>OK</value>
</data>
- <data name="&gt;&gt;buttonImport.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
+ <value>buttonOk</value>
</data>
- <data name="&gt;&gt;buttonAdd.Type" xml:space="preserve">
+ <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="checkedListBoxGameCode.Size" type="System.Drawing.Size, System.Drawing">
- <value>380, 409</value>
+ <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
- <value>contextMenuStrip</value>
+ <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
+ <value>4</value>
</data>
- <data name="addToolStripMenuItem.Text" xml:space="preserve">
- <value>Add</value>
+ <data name="buttonCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
</data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
+ <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
+ <value>295, 425</value>
</data>
- <data name="&gt;&gt;checkedListBoxGameCode.ZOrder" xml:space="preserve">
- <value>5</value>
+ <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
+ <value>90, 23</value>
</data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
+ <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
</data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
+ <data name="buttonCancel.Text" xml:space="preserve">
+ <value>Cancel</value>
</data>
- <data name="&gt;&gt;ofdXmlFile.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
+ <value>buttonCancel</value>
</data>
- <data name="&gt;&gt;buttonImport.ZOrder" xml:space="preserve">
- <value>2</value>
+ <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonCancel.Text" xml:space="preserve">
- <value>Cancel</value>
+ <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
+ <value>3</value>
</data>
<data name="buttonImport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
- <data name="removeToolStripMenuItem.Text" xml:space="preserve">
- <value>Delete</value>
- </data>
- <data name="checkedListBoxGameCode.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 4</value>
+ <data name="buttonImport.Location" type="System.Drawing.Point, System.Drawing">
+ <value>101, 425</value>
</data>
- <data name="buttonAdd.Size" type="System.Drawing.Size, System.Drawing">
+ <data name="buttonImport.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 23</value>
</data>
- <data name="&gt;&gt;editToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Right</value>
- </data>
- <data name="&gt;&gt;removeToolStripMenuItem.Name" xml:space="preserve">
- <value>removeToolStripMenuItem</value>
+ <data name="buttonImport.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
</data>
<data name="buttonImport.Text" xml:space="preserve">
<value>Import</value>
@@ -246,32 +246,59 @@
<data name="&gt;&gt;buttonImport.Name" xml:space="preserve">
<value>buttonImport</value>
</data>
+ <data name="&gt;&gt;buttonImport.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <metadata name="ofdXmlFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>279, 20</value>
+ </metadata>
+ <data name="ofdXmlFile.Filter" xml:space="preserve">
+ <value>XML files|*.xml</value>
+ </data>
+ <data name="ofdXmlFile.Title" xml:space="preserve">
+ <value>Select Nestopia Game Genie XML file</value>
+ </data>
<data name="buttonAdd.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="checkedListBoxGameCode.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
+ <data name="buttonAdd.Location" type="System.Drawing.Point, System.Drawing">
+ <value>5, 425</value>
</data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>108, 70</value>
+ <data name="buttonAdd.Size" type="System.Drawing.Size, System.Drawing">
+ <value>90, 23</value>
</data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="buttonAdd.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
</data>
- <data name="removeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>107, 22</value>
+ <data name="buttonAdd.Text" xml:space="preserve">
+ <value>Add</value>
</data>
<data name="&gt;&gt;buttonAdd.Name" xml:space="preserve">
<value>buttonAdd</value>
</data>
- <data name="buttonAdd.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 425</value>
+ <data name="&gt;&gt;buttonAdd.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;buttonAdd.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonAdd.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>392, 458</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1405,67 +1432,40 @@
//////////////////////////////////8=
</value>
</data>
- <data name="buttonImport.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Game Genie code list</value>
</data>
- <data name="ofdXmlFile.Filter" xml:space="preserve">
- <value>XML files|*.xml</value>
+ <data name="&gt;&gt;addToolStripMenuItem.Name" xml:space="preserve">
+ <value>addToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;buttonAdd.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;addToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;editToolStripMenuItem.Name" xml:space="preserve">
<value>editToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;checkedListBoxGameCode.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="editToolStripMenuItem.Text" xml:space="preserve">
- <value>Edit</value>
- </data>
- <data name="&gt;&gt;buttonImport.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="ofdXmlFile.Title" xml:space="preserve">
- <value>Select Nestopia Game Genie XML file</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>199, 425</value>
+ <data name="&gt;&gt;editToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>3</value>
+ <data name="&gt;&gt;removeToolStripMenuItem.Name" xml:space="preserve">
+ <value>removeToolStripMenuItem</value>
</data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>Ok</value>
+ <data name="&gt;&gt;removeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ofdXmlFile.Name" xml:space="preserve">
<value>ofdXmlFile</value>
</data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;ofdXmlFile.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>GameGenieCodeForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>107, 22</value>
- </data>
- <data name="buttonImport.Size" type="System.Drawing.Size, System.Drawing">
- <value>90, 23</value>
- </data>
- <metadata name="ofdXmlFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>279, 20</value>
- </metadata>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>133, 17</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.ru-RU.resx b/GameGenieCodeForm.ru-RU.resx
index f13c58d0..fc48cdc8 100644
--- a/GameGenieCodeForm.ru-RU.resx
+++ b/GameGenieCodeForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1176 +58,25 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="addToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>154, 22</value>
+ <data name="$this.Text">
+ <value>Game Genie коды</value>
</data>
- <data name="addToolStripMenuItem.Text" xml:space="preserve">
+ <data name="addToolStripMenuItem.Text">
<value>Добавить</value>
</data>
- <data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>154, 22</value>
- </data>
- <data name="editToolStripMenuItem.Text" xml:space="preserve">
- <value>Редактировать</value>
- </data>
- <data name="removeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>154, 22</value>
- </data>
- <data name="removeToolStripMenuItem.Text" xml:space="preserve">
- <value>Удалить</value>
- </data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>155, 70</value>
+ <data name="buttonAdd.Text">
+ <value>Добавить</value>
</data>
- <data name="buttonCancel.Text" xml:space="preserve">
+ <data name="buttonCancel.Text">
<value>Отмена</value>
</data>
- <data name="buttonImport.Text" xml:space="preserve">
- <value>Импорт.</value>
+ <data name="buttonImport.Text">
+ <value>Импорт</value>
</data>
- <data name="ofdXmlFile.Filter" xml:space="preserve">
- <value>XML файлы|*.xml</value>
- </data>
- <data name="ofdXmlFile.Title" xml:space="preserve">
- <value>Выберите Game Genie XML файл от Nestopia</value>
- </data>
- <data name="buttonAdd.Text" xml:space="preserve">
- <value>Добавить</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
+ <data name="editToolStripMenuItem.Text">
+ <value>Редактировать</value>
</data>
- <data name="$this.Text" xml:space="preserve">
- <value>Game Genie коды</value>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Удалить</value>
</data>
</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.sk-SK.resx b/GameGenieCodeForm.sk-SK.resx
new file mode 100644
index 00000000..37944e7b
--- /dev/null
+++ b/GameGenieCodeForm.sk-SK.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Zoznam Game Genie kódov</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Pridať</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Pridať</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Zrušiť</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importovať</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Upraviť</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Vymazať</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.sv-SE.resx b/GameGenieCodeForm.sv-SE.resx
new file mode 100644
index 00000000..49378e50
--- /dev/null
+++ b/GameGenieCodeForm.sv-SE.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gem Genie kodlista</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Lägg till</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Lägg till</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Avbryt</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importera</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Editera</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Ta bort</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.uk-UA.resx b/GameGenieCodeForm.uk-UA.resx
new file mode 100644
index 00000000..96ba5533
--- /dev/null
+++ b/GameGenieCodeForm.uk-UA.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Game Genie коди</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>Додати</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>Додати</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>Відміна</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Імпорт</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>Редагувати</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>Видалити</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.zh-CHS.resx b/GameGenieCodeForm.zh-CHS.resx
new file mode 100644
index 00000000..1f902b81
--- /dev/null
+++ b/GameGenieCodeForm.zh-CHS.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>游æˆä½œå¼Šä»£ç æ¸…å•</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>汇入</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>编辑</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>删除</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.zh-CHT.resx b/GameGenieCodeForm.zh-CHT.resx
new file mode 100644
index 00000000..366fe5bb
--- /dev/null
+++ b/GameGenieCodeForm.zh-CHT.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>éŠæˆ²ä½œå¼Šä»£ç¢¼æ¸…å–®</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>匯入</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>編輯</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>刪除</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieCodeForm.zh-TW.resx b/GameGenieCodeForm.zh-TW.resx
new file mode 100644
index 00000000..366fe5bb
--- /dev/null
+++ b/GameGenieCodeForm.zh-TW.resx
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>éŠæˆ²ä½œå¼Šä»£ç¢¼æ¸…å–®</value>
+ </data>
+ <data name="addToolStripMenuItem.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonAdd.Text">
+ <value>新增</value>
+ </data>
+ <data name="buttonCancel.Text">
+ <value>å–消</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>匯入</value>
+ </data>
+ <data name="editToolStripMenuItem.Text">
+ <value>編輯</value>
+ </data>
+ <data name="removeToolStripMenuItem.Text">
+ <value>刪除</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/GameGenieDataBase.cs b/GameGenieDataBase.cs
index 93762d06..a6f5d05a 100644
--- a/GameGenieDataBase.cs
+++ b/GameGenieDataBase.cs
@@ -62,11 +62,11 @@ namespace com.clusterrr.hakchi_gui
class GameGenieDataBase
{
- private readonly string DataBasePath;
private XmlDocument FXml = new XmlDocument();
private XmlNode FGameNode = null;
private List<GameGenieCode> FGameCodes = null;
- private string FDBName = "";
+ private string originalDatabasePath = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "data"), "GameGenieDB.xml");
+ private string userDatabasePath = Path.Combine(Path.Combine(Program.BaseDirectoryExternal, ConfigIni.ConfigDir), "GameGenieDB.xml");
private NesMiniApplication FGame = null;
private bool FModified = false;
@@ -80,7 +80,7 @@ namespace com.clusterrr.hakchi_gui
if (FGameNode == null)
{
- string lGamesDir = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "games");
+ string lGamesDir = Path.Combine(Program.BaseDirectoryExternal, "games");
NesFile lGame = new NesFile(Path.Combine(Path.Combine(lGamesDir, FGame.Code), FGame.Code + ".nes"));
XmlAttribute lXmlAttribute;
@@ -133,11 +133,13 @@ namespace com.clusterrr.hakchi_gui
public GameGenieDataBase(NesMiniApplication AGame)
{
- DataBasePath = Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "data"), "GameGenieDB.xml");
+ //DataBasePath = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "data"), "GameGenieDB.xml");
FGame = AGame;
- FDBName = DataBasePath;
- if (File.Exists(FDBName))
- FXml.Load(FDBName);
+ //FDBName = DataBasePath;
+ if (File.Exists(userDatabasePath))
+ FXml.Load(userDatabasePath);
+ else if (File.Exists(originalDatabasePath))
+ FXml.Load(originalDatabasePath);
else
FXml.AppendChild(FXml.CreateElement("database"));
}
@@ -207,7 +209,7 @@ namespace com.clusterrr.hakchi_gui
}
GameCodes.Clear();
- string lGameFileName = Path.Combine(Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "games"), FGame.Code), FGame.Code + ".nes");
+ string lGameFileName = Path.Combine(Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "games"), FGame.Code), FGame.Code + ".nes");
foreach (XmlNode lCurCode in lCodes)
{
NesFile lGame = new NesFile(lGameFileName);
@@ -246,7 +248,8 @@ namespace com.clusterrr.hakchi_gui
{
if (GameCodes.Count == 0)
GameNode.ParentNode.RemoveChild(GameNode);
- FXml.Save(FDBName);
+ Directory.CreateDirectory(Path.GetDirectoryName(userDatabasePath));
+ FXml.Save(userDatabasePath);
}
}
}
diff --git a/GameGeniePatcher.cs b/GameGeniePatcher.cs
index 2f24d207..f5832288 100644
--- a/GameGeniePatcher.cs
+++ b/GameGeniePatcher.cs
@@ -35,7 +35,7 @@ namespace com.clusterrr.Famicom
if (result.Length <= 0x8000)
{
- result[result.Length % address] = value;
+ result[address % result.Length] = value;
}
else
{
@@ -73,7 +73,7 @@ namespace com.clusterrr.Famicom
}
pos += 0x2000;
}
- if (!replaced) throw new GameGenieNotFoundException("Can't apply code: " + code);
+ if (!replaced) throw new GameGenieNotFoundException(code);
}
else throw new GameGenieFormatException(code);
@@ -104,7 +104,8 @@ namespace com.clusterrr.Famicom
public class GameGenieFormatException : Exception
{
public readonly string Code;
- public GameGenieFormatException(string code) : base()
+ public GameGenieFormatException(string code)
+ : base(string.Format("Invalid code \"{0}\"", code))
{
Code = code;
}
@@ -114,7 +115,7 @@ namespace com.clusterrr.Famicom
{
public readonly string Code;
public GameGenieNotFoundException(string code)
- : base()
+ : base(string.Format("Invalid code \"{0}\"", code))
{
Code = code;
}
diff --git a/ImageGooglerForm.Designer.cs b/ImageGooglerForm.Designer.cs
index 6f54962f..218f3c35 100644
--- a/ImageGooglerForm.Designer.cs
+++ b/ImageGooglerForm.Designer.cs
@@ -36,35 +36,26 @@
//
// listView
//
- this.listView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
+ resources.ApplyResources(this.listView, "listView");
this.listView.LargeImageList = this.imageList;
- this.listView.Location = new System.Drawing.Point(12, 12);
this.listView.Name = "listView";
- this.listView.Size = new System.Drawing.Size(802, 469);
this.listView.SmallImageList = this.imageList;
- this.listView.TabIndex = 0;
this.listView.UseCompatibleStateImageBehavior = false;
this.listView.DoubleClick += new System.EventHandler(this.listView_DoubleClick);
//
// imageList
//
this.imageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
- this.imageList.ImageSize = new System.Drawing.Size(204, 204);
+ resources.ApplyResources(this.imageList, "imageList");
this.imageList.TransparentColor = System.Drawing.Color.Transparent;
//
// ImageGooglerForm
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(826, 493);
this.Controls.Add(this.listView);
- this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimizeBox = false;
this.Name = "ImageGooglerForm";
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "Google Images";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImageGooglerForm_FormClosing);
this.ResumeLayout(false);
diff --git a/ImageGooglerForm.bg-BG.resx b/ImageGooglerForm.bg-BG.resx
new file mode 100644
index 00000000..dc60ac11
--- /dev/null
+++ b/ImageGooglerForm.bg-BG.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google ИзображениÑ</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.ca-ES.resx b/ImageGooglerForm.ca-ES.resx
new file mode 100644
index 00000000..3c50dd09
--- /dev/null
+++ b/ImageGooglerForm.ca-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Imatges de Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.cs b/ImageGooglerForm.cs
index bba4760f..92fc2507 100644
--- a/ImageGooglerForm.cs
+++ b/ImageGooglerForm.cs
@@ -24,7 +24,8 @@ namespace com.clusterrr.hakchi_gui
public ImageGooglerForm(NesMiniApplication app)
{
InitializeComponent();
- Text = "Google Images - " + app.Name ?? "";
+ if (!string.IsNullOrEmpty(app.Name))
+ Text += " - " + app.Name;
searchThread = new Thread(SearchThread);
searchThread.Start(app);
}
@@ -32,7 +33,7 @@ namespace com.clusterrr.hakchi_gui
public static string[] GetImageUrls(NesMiniApplication app)
{
string query = app.Name ?? "";
- query += " " + app.GoogleSuffix + " (box|cover) art";
+ query += " " + app.GoogleSuffix + " (box|cover) art";
var url = string.Format("https://www.google.com/search?q={0}&source=lnms&tbm=isch", HttpUtility.UrlEncode(query));
Debug.WriteLine("Web request: " + url);
var request = WebRequest.Create(url);
diff --git a/ImageGooglerForm.da-DK.resx b/ImageGooglerForm.da-DK.resx
new file mode 100644
index 00000000..5fd0ce9e
--- /dev/null
+++ b/ImageGooglerForm.da-DK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google Images</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.de-DE.resx b/ImageGooglerForm.de-DE.resx
new file mode 100644
index 00000000..b4ab263d
--- /dev/null
+++ b/ImageGooglerForm.de-DE.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Bilder von Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.el-GR.resx b/ImageGooglerForm.el-GR.resx
new file mode 100644
index 00000000..5db0b010
--- /dev/null
+++ b/ImageGooglerForm.el-GR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Εικόνες Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.en-GB.resx b/ImageGooglerForm.en-GB.resx
new file mode 100644
index 00000000..5fd0ce9e
--- /dev/null
+++ b/ImageGooglerForm.en-GB.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google Images</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.es-AR.resx b/ImageGooglerForm.es-AR.resx
new file mode 100644
index 00000000..182b8a1a
--- /dev/null
+++ b/ImageGooglerForm.es-AR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google Imágenes</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.es-ES.resx b/ImageGooglerForm.es-ES.resx
new file mode 100644
index 00000000..bed89101
--- /dev/null
+++ b/ImageGooglerForm.es-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Imágenes de Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.fi-FI.resx b/ImageGooglerForm.fi-FI.resx
new file mode 100644
index 00000000..52ca8d64
--- /dev/null
+++ b/ImageGooglerForm.fi-FI.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google Kuvahaku</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.fr-FR.resx b/ImageGooglerForm.fr-FR.resx
new file mode 100644
index 00000000..31421c13
--- /dev/null
+++ b/ImageGooglerForm.fr-FR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Images depuis Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.id-ID.resx b/ImageGooglerForm.id-ID.resx
new file mode 100644
index 00000000..2d21805a
--- /dev/null
+++ b/ImageGooglerForm.id-ID.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gambar Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.it-IT.resx b/ImageGooglerForm.it-IT.resx
new file mode 100644
index 00000000..73530776
--- /dev/null
+++ b/ImageGooglerForm.it-IT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Immagini da Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.nl.resx b/ImageGooglerForm.nl.resx
new file mode 100644
index 00000000..9c195fde
--- /dev/null
+++ b/ImageGooglerForm.nl.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google afbeeldingen</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.pl-PL.resx b/ImageGooglerForm.pl-PL.resx
new file mode 100644
index 00000000..e00d64a7
--- /dev/null
+++ b/ImageGooglerForm.pl-PL.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Zdjęcia Google</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.pt-PT.resx b/ImageGooglerForm.pt-PT.resx
new file mode 100644
index 00000000..1616cbb7
--- /dev/null
+++ b/ImageGooglerForm.pt-PT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google imagens</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.resx b/ImageGooglerForm.resx
index 41608a80..0d372a37 100644
--- a/ImageGooglerForm.resx
+++ b/ImageGooglerForm.resx
@@ -117,10 +117,48 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="listView.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
<metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="imageList.ImageSize" type="System.Drawing.Size, System.Drawing">
+ <value>204, 204</value>
+ </data>
+ <data name="listView.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 12</value>
+ </data>
+ <data name="listView.Size" type="System.Drawing.Size, System.Drawing">
+ <value>802, 469</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="listView.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="&gt;&gt;listView.Name" xml:space="preserve">
+ <value>listView</value>
+ </data>
+ <data name="&gt;&gt;listView.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;listView.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;listView.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>826, 493</value>
+ </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
@@ -1253,4 +1291,22 @@
//////////////////////////////////8=
</value>
</data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
+ </data>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Google Images</value>
+ </data>
+ <data name="&gt;&gt;imageList.Name" xml:space="preserve">
+ <value>imageList</value>
+ </data>
+ <data name="&gt;&gt;imageList.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>ImageGooglerForm</value>
+ </data>
+ <data name="&gt;&gt;$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
</root> \ No newline at end of file
diff --git a/ImageGooglerForm.ru-RU.resx b/ImageGooglerForm.ru-RU.resx
new file mode 100644
index 00000000..5fd0ce9e
--- /dev/null
+++ b/ImageGooglerForm.ru-RU.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google Images</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.sk-SK.resx b/ImageGooglerForm.sk-SK.resx
new file mode 100644
index 00000000..809c0325
--- /dev/null
+++ b/ImageGooglerForm.sk-SK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google obrázky</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.sv-SE.resx b/ImageGooglerForm.sv-SE.resx
new file mode 100644
index 00000000..b10525fc
--- /dev/null
+++ b/ImageGooglerForm.sv-SE.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google bilder</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.uk-UA.resx b/ImageGooglerForm.uk-UA.resx
new file mode 100644
index 00000000..69aea76f
--- /dev/null
+++ b/ImageGooglerForm.uk-UA.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google ЗображеннÑ</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.zh-CHS.resx b/ImageGooglerForm.zh-CHS.resx
new file mode 100644
index 00000000..f6851a74
--- /dev/null
+++ b/ImageGooglerForm.zh-CHS.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google 图片</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.zh-CHT.resx b/ImageGooglerForm.zh-CHT.resx
new file mode 100644
index 00000000..1253ba70
--- /dev/null
+++ b/ImageGooglerForm.zh-CHT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google 圖片</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImageGooglerForm.zh-TW.resx b/ImageGooglerForm.zh-TW.resx
new file mode 100644
index 00000000..1253ba70
--- /dev/null
+++ b/ImageGooglerForm.zh-TW.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Google 圖片</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/ImagesForm.Designer.cs b/ImagesForm.Designer.cs
new file mode 100644
index 00000000..65047c42
--- /dev/null
+++ b/ImagesForm.Designer.cs
@@ -0,0 +1,114 @@
+namespace com.clusterrr.hakchi_gui
+{
+ partial class ImagesForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.pictureBox2 = new System.Windows.Forms.PictureBox();
+ this.pictureBox3 = new System.Windows.Forms.PictureBox();
+ this.pictureBox4 = new System.Windows.Forms.PictureBox();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
+ this.SuspendLayout();
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.Location = new System.Drawing.Point(4, 4);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(256, 244);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox1.TabIndex = 0;
+ this.pictureBox1.TabStop = false;
+ //
+ // pictureBox2
+ //
+ this.pictureBox2.Location = new System.Drawing.Point(266, 4);
+ this.pictureBox2.Name = "pictureBox2";
+ this.pictureBox2.Size = new System.Drawing.Size(256, 244);
+ this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox2.TabIndex = 1;
+ this.pictureBox2.TabStop = false;
+ //
+ // pictureBox3
+ //
+ this.pictureBox3.Location = new System.Drawing.Point(528, 4);
+ this.pictureBox3.Name = "pictureBox3";
+ this.pictureBox3.Size = new System.Drawing.Size(256, 244);
+ this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox3.TabIndex = 2;
+ this.pictureBox3.TabStop = false;
+ //
+ // pictureBox4
+ //
+ this.pictureBox4.Location = new System.Drawing.Point(790, 4);
+ this.pictureBox4.Name = "pictureBox4";
+ this.pictureBox4.Size = new System.Drawing.Size(256, 244);
+ this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox4.TabIndex = 3;
+ this.pictureBox4.TabStop = false;
+ //
+ // ImagesForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.AutoSize = true;
+ this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.ClientSize = new System.Drawing.Size(1186, 269);
+ this.ControlBox = false;
+ this.Controls.Add(this.pictureBox4);
+ this.Controls.Add(this.pictureBox3);
+ this.Controls.Add(this.pictureBox2);
+ this.Controls.Add(this.pictureBox1);
+ this.DoubleBuffered = true;
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Name = "ImagesForm";
+ this.ShowIcon = false;
+ this.ShowInTaskbar = false;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
+ this.Text = "ImagesForm";
+ this.TopMost = true;
+ this.TransparencyKey = System.Drawing.Color.Transparent;
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ImagesForm_FormClosing);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.PictureBox pictureBox2;
+ private System.Windows.Forms.PictureBox pictureBox3;
+ private System.Windows.Forms.PictureBox pictureBox4;
+ }
+} \ No newline at end of file
diff --git a/ImagesForm.cs b/ImagesForm.cs
new file mode 100644
index 00000000..5a623cdf
--- /dev/null
+++ b/ImagesForm.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class ImagesForm : Form
+ {
+ public ImagesForm()
+ {
+ InitializeComponent();
+ Left = Cursor.Position.X + 5;
+ Top = Cursor.Position.Y + 5;
+ }
+
+ public void ShowImages(IEnumerable<Image> images)
+ {
+ int i = 0;
+ Control[] pboxes;
+ do
+ {
+ i++;
+ pboxes = this.Controls.Find("pictureBox" + i, true);
+ if (pboxes.Length > 0)
+ {
+ (pboxes[0] as PictureBox).Image = null;
+ (pboxes[0] as PictureBox).Visible = false;
+ }
+ } while (pboxes.Length > 0);
+ i = 0;
+ foreach(var image in images)
+ {
+ i++;
+ pboxes = this.Controls.Find("pictureBox"+i, true);
+ if (pboxes.Length > 0)
+ {
+ (pboxes[0] as PictureBox).Image = image;
+ (pboxes[0] as PictureBox).Visible = true;
+ }
+ }
+ }
+
+ private void ImagesForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ e.Cancel = true;
+ }
+ }
+}
diff --git a/ImagesForm.resx b/ImagesForm.resx
new file mode 100644
index 00000000..5ea0895e
--- /dev/null
+++ b/ImagesForm.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/ClassCodeType.cs b/LibWinUsb/Descriptors/ClassCodeType.cs
new file mode 100644
index 00000000..87a5129e
--- /dev/null
+++ b/LibWinUsb/Descriptors/ClassCodeType.cs
@@ -0,0 +1,60 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Descriptors
+{
+ ///<summary> Device and/or Interface Class codes</summary>
+ [Flags]
+ public enum ClassCodeType : byte
+ {
+ ///<summary>In the context of a "device descriptor", this bDeviceClass value indicates that each interface specifies its own class information and all interfaces operate independently.</summary>
+ PerInterface = 0,
+
+ ///<summary>Audio class</summary>
+ Audio = 1,
+
+ ///<summary> Communications class</summary>
+ Comm = 2,
+
+ ///<summary> Human Interface Device class</summary>
+ Hid = 3,
+
+ ///<summary> Printer dclass</summary>
+ Printer = 7,
+
+ ///<summary> Picture transfer protocol class</summary>
+ Ptp = 6,
+
+ ///<summary> Mass storage class</summary>
+ MassStorage = 8,
+
+ ///<summary> Hub class</summary>
+ Hub = 9,
+
+ ///<summary> Data class</summary>
+ Data = 10,
+
+ ///<summary> Class is vendor-specific</summary>
+ VendorSpec = 0xff
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/DescriptorType.cs b/LibWinUsb/Descriptors/DescriptorType.cs
new file mode 100644
index 00000000..f91bda53
--- /dev/null
+++ b/LibWinUsb/Descriptors/DescriptorType.cs
@@ -0,0 +1,89 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+using System;
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Standard USB descriptor types.
+ /// </summary>
+ [Flags]
+ public enum DescriptorType : byte
+ {
+ /// <summary>
+ /// Device descriptor type.
+ /// </summary>
+ Device = 1,
+ /// <summary>
+ /// Configuration descriptor type.
+ /// </summary>
+ Configuration = 2,
+ /// <summary>
+ /// String descriptor type.
+ /// </summary>
+ String = 3,
+ /// <summary>
+ /// Interface descriptor type.
+ /// </summary>
+ Interface = 4,
+ /// <summary>
+ /// Endpoint descriptor type.
+ /// </summary>
+ Endpoint = 5,
+ /// <summary>
+ /// Device Qualifier descriptor type.
+ /// </summary>
+ DeviceQualifier = 6,
+ /// <summary>
+ /// Other Speed Configuration descriptor type.
+ /// </summary>
+ OtherSpeedConfiguration = 7,
+ /// <summary>
+ /// Interface Power descriptor type.
+ /// </summary>
+ InterfacePower = 8,
+ /// <summary>
+ /// OTG descriptor type.
+ /// </summary>
+ OTG = 9,
+ /// <summary>
+ /// Debug descriptor type.
+ /// </summary>
+ Debug = 10,
+ /// <summary>
+ /// Interface Association descriptor type.
+ /// </summary>
+ InterfaceAssociation = 11,
+
+ ///<summary> HID descriptor</summary>
+ Hid = 0x21,
+
+ ///<summary> HID report descriptor</summary>
+ HidReport = 0x22,
+
+ ///<summary> Physical descriptor</summary>
+ Physical = 0x23,
+
+ ///<summary> Hub descriptor</summary>
+ Hub = 0x29
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/LangStringDescriptor.cs b/LibWinUsb/Descriptors/LangStringDescriptor.cs
new file mode 100644
index 00000000..3f3d384d
--- /dev/null
+++ b/LibWinUsb/Descriptors/LangStringDescriptor.cs
@@ -0,0 +1,131 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace LibUsbDotNet.Descriptors
+{
+ internal abstract class UsbMemChunk
+ {
+ private readonly int mMaxSize;
+
+ private IntPtr mMemPointer = IntPtr.Zero;
+
+ protected UsbMemChunk(int maxSize)
+ {
+ mMaxSize = maxSize;
+ mMemPointer = Marshal.AllocHGlobal(maxSize);
+ }
+
+ public int MaxSize
+ {
+ get { return mMaxSize; }
+ }
+
+ public IntPtr Ptr
+ {
+ get { return mMemPointer; }
+ }
+
+ public void Free()
+ {
+ if (mMemPointer != IntPtr.Zero)
+ {
+ Marshal.FreeHGlobal(mMemPointer);
+ mMemPointer = IntPtr.Zero;
+ }
+ }
+
+ ~UsbMemChunk() { Free(); }
+ }
+
+ internal class LangStringDescriptor : UsbMemChunk
+ {
+ #region FIELD_OFFSETS
+
+ private static readonly int OfsDescriptorType = Marshal.OffsetOf(typeof (UsbDescriptor), "DescriptorType").ToInt32();
+ private static readonly int OfsLength = Marshal.OffsetOf(typeof (UsbDescriptor), "Length").ToInt32();
+
+ #endregion
+
+ public LangStringDescriptor(int maxSize)
+ : base(maxSize) { }
+
+ public DescriptorType DescriptorType
+ {
+ get { return (DescriptorType) Marshal.ReadByte(Ptr, OfsDescriptorType); }
+ set { Marshal.WriteByte(Ptr, OfsDescriptorType, (byte) value); }
+ }
+
+ public byte Length
+ {
+ get { return Marshal.ReadByte(Ptr, OfsLength); }
+ set { Marshal.WriteByte(Ptr, OfsLength, value); }
+ }
+
+ public bool Get(out short[] langIds)
+ {
+ langIds = new short[0];
+ int totalLength = Length;
+ if (totalLength <= 2) return false;
+
+ int elementCount = (totalLength - 2)/2;
+ langIds = new short[elementCount];
+
+ int startOffset = UsbDescriptor.Size;
+ for (int iElement = 0; iElement < langIds.Length; iElement++)
+ {
+ langIds[iElement] = Marshal.ReadInt16(Ptr, startOffset + (sizeof (ushort)*iElement));
+ }
+ return true;
+ }
+
+ public bool Get(out byte[] bytes)
+ {
+ bytes = new byte[Length];
+ Marshal.Copy(Ptr, bytes, 0, bytes.Length);
+ return true;
+ }
+
+ public bool Get(out string str)
+ {
+ str = string.Empty;
+
+ byte[] bytes;
+ if (Get(out bytes))
+ {
+ if (bytes.Length <= UsbDescriptor.Size)
+ {
+ str = string.Empty;
+ }
+ else
+ {
+ str = Encoding.Unicode.GetString(bytes, UsbDescriptor.Size, bytes.Length - UsbDescriptor.Size);
+ }
+ return true;
+ }
+
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/StringDescriptor.cs b/LibWinUsb/Descriptors/StringDescriptor.cs
new file mode 100644
index 00000000..282f1f97
--- /dev/null
+++ b/LibWinUsb/Descriptors/StringDescriptor.cs
@@ -0,0 +1,24 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Descriptors
+{
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/UsbConfigDescriptor.cs b/LibWinUsb/Descriptors/UsbConfigDescriptor.cs
new file mode 100644
index 00000000..423b9458
--- /dev/null
+++ b/LibWinUsb/Descriptors/UsbConfigDescriptor.cs
@@ -0,0 +1,113 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+#pragma warning disable 649
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Usb Configuration Descriptor.
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public class UsbConfigDescriptor : UsbDescriptor
+ {
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public new static readonly int Size = Marshal.SizeOf(typeof (UsbConfigDescriptor));
+
+ /// <summary>
+ /// Total length in bytes of data returned
+ /// </summary>
+ public readonly short TotalLength;
+
+ /// <summary>
+ /// Number of Interfaces
+ /// </summary>
+ public readonly byte InterfaceCount;
+
+ /// <summary>
+ /// Value to use as an argument to select this Configuration
+ /// </summary>
+ public readonly byte ConfigID;
+
+ /// <summary>
+ /// Index of String Descriptor describing this Configuration
+ /// </summary>
+ public readonly byte StringIndex;
+
+ /// <summary>
+ /// D7 Reserved, set to 1. (USB 1.0 Bus Powered)
+ /// D6 Self Powered
+ /// D5 Remote Wakeup
+ /// D4..0 Reserved, set to 0.
+ /// </summary>
+ public readonly byte Attributes;
+
+ /// <summary>
+ /// Maximum Power Consumption in 2mA units
+ /// </summary>
+ public readonly byte MaxPower;
+
+ internal UsbConfigDescriptor(MonoUsbConfigDescriptor descriptor)
+ {
+ Attributes = descriptor.bmAttributes;
+ ConfigID = descriptor.bConfigurationValue;
+ DescriptorType = descriptor.bDescriptorType;
+ InterfaceCount = descriptor.bNumInterfaces;
+ Length = descriptor.bLength;
+ MaxPower = descriptor.MaxPower;
+ StringIndex = descriptor.iConfiguration;
+ TotalLength = (short) descriptor.wTotalLength;
+ }
+
+ internal UsbConfigDescriptor() { }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbConfigDescriptor"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbConfigDescriptor"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", ToStringParamValueSeperator, ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbConfigDescriptor"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbConfigDescriptor"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {Length, DescriptorType, TotalLength, InterfaceCount, ConfigID, StringIndex, "0x" + Attributes.ToString("X2"), MaxPower};
+ string[] names = {"Length", "DescriptorType", "TotalLength", "InterfaceCount", "ConfigID", "StringIndex", "Attributes", "MaxPower"};
+
+ return Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/UsbDescriptor.cs b/LibWinUsb/Descriptors/UsbDescriptor.cs
new file mode 100644
index 00000000..7135ad65
--- /dev/null
+++ b/LibWinUsb/Descriptors/UsbDescriptor.cs
@@ -0,0 +1,73 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+#pragma warning disable 649
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Base class for all usb descriptors structures.
+ /// </summary>
+ /// <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public abstract class UsbDescriptor
+ {
+ /// <summary>
+ /// String value used to seperate the name/value pairs for all ToString overloads of the descriptor classes.
+ /// </summary>
+ public static string ToStringParamValueSeperator = ":";
+
+ /// <summary>
+ /// String value used to seperate the name/value groups for all ToString overloads of the descriptor classes.
+ /// </summary>
+ public static string ToStringFieldSeperator = "\r\n";
+
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public static readonly int Size = Marshal.SizeOf(typeof (UsbDescriptor));
+
+ /// <summary>
+ /// Length of structure reported by the associated usb device.
+ /// </summary>
+ public byte Length;
+
+ /// <summary>
+ /// Type of structure reported by the associated usb device.
+ /// </summary>
+ public DescriptorType DescriptorType;
+
+ /// <summary>
+ /// String representation of the UsbDescriptor class.
+ /// </summary>
+ public override string ToString()
+ {
+ Object[] values = {Length, DescriptorType};
+ string[] names = {"Length", "DescriptorType"};
+
+ return Helper.ToString("", names, ToStringParamValueSeperator, values, ToStringFieldSeperator);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/UsbDeviceDescriptor.cs b/LibWinUsb/Descriptors/UsbDeviceDescriptor.cs
new file mode 100644
index 00000000..f545ce13
--- /dev/null
+++ b/LibWinUsb/Descriptors/UsbDeviceDescriptor.cs
@@ -0,0 +1,232 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+#pragma warning disable 649
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Usb Device Descriptor
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public class UsbDeviceDescriptor : UsbDescriptor
+ {
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public new static readonly int Size = Marshal.SizeOf(typeof (UsbDeviceDescriptor));
+
+ /// <summary>
+ /// USB Specification Number which device complies too.
+ /// </summary>
+ public short BcdUsb;
+
+ /// <summary>
+ /// Class Code (Assigned by USB Org)
+ /// If equal to Zero, each interface specifies it’s own class code; If equal to 0xFF, the class code is vendor specified; Otherwise field is valid Class Code.
+ /// </summary>
+ public ClassCodeType Class;
+
+ /// <summary>
+ /// Subclass Code (Assigned by USB Org)
+ /// </summary>
+ public byte SubClass;
+
+ /// <summary>
+ /// Protocol Code (Assigned by USB Org)
+ /// </summary>
+ public byte Protocol;
+
+ /// <summary>
+ /// Maximum Packet Size for Zero Endpoint. Valid Sizes are 8, 16, 32, 64
+ /// </summary>
+ public byte MaxPacketSize0;
+
+ /// <summary>
+ /// Vendor ID (Assigned by USB Org)
+ /// </summary>
+ public short VendorID;
+
+ /// <summary>
+ /// Product ID (Assigned by Manufacturer)
+ /// </summary>
+ public short ProductID;
+
+ /// <summary>
+ /// Device Release Number
+ /// </summary>
+ public short BcdDevice;
+
+ /// <summary>
+ /// Index of Manufacturer String Descriptor
+ /// </summary>
+ public byte ManufacturerStringIndex;
+
+ /// <summary>
+ /// Index of Product String Descriptor
+ /// </summary>
+ public byte ProductStringIndex;
+
+ /// <summary>
+ /// Index of Serial Number String Descriptor
+ /// </summary>
+ public byte SerialStringIndex;
+
+ /// <summary>
+ /// Number of Possible Configurations
+ /// </summary>
+ public byte ConfigurationCount;
+
+ internal UsbDeviceDescriptor() { }
+
+ internal UsbDeviceDescriptor(MonoUsbDeviceDescriptor usbDeviceDescriptor)
+ {
+ BcdDevice = usbDeviceDescriptor.BcdDevice;
+ BcdUsb = usbDeviceDescriptor.BcdUsb;
+ Class = usbDeviceDescriptor.Class;
+ ConfigurationCount = usbDeviceDescriptor.ConfigurationCount;
+ DescriptorType = usbDeviceDescriptor.DescriptorType;
+ Length = usbDeviceDescriptor.Length;
+ ManufacturerStringIndex = usbDeviceDescriptor.ManufacturerStringIndex;
+ MaxPacketSize0 = usbDeviceDescriptor.MaxPacketSize0;
+ ProductID = usbDeviceDescriptor.ProductID;
+ ProductStringIndex = usbDeviceDescriptor.ProductStringIndex;
+ Protocol = usbDeviceDescriptor.Protocol;
+ SerialStringIndex = usbDeviceDescriptor.SerialStringIndex;
+ SubClass = usbDeviceDescriptor.SubClass;
+ VendorID = usbDeviceDescriptor.VendorID;
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbDeviceDescriptor"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbDeviceDescriptor"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", ToStringParamValueSeperator, ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbDeviceDescriptor"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbDeviceDescriptor"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {
+ Length, DescriptorType, "0x" + BcdUsb.ToString("X4"), Class, "0x" + SubClass.ToString("X2"),
+ "0x" + Protocol.ToString("X2"), MaxPacketSize0,
+ "0x" + VendorID.ToString("X4"), "0x" + ProductID.ToString("X4"), "0x" + BcdDevice.ToString("X4"),
+ ManufacturerStringIndex, ProductStringIndex, SerialStringIndex, ConfigurationCount
+ };
+ string[] names = {
+ "Length", "DescriptorType", "BcdUsb", "Class", "SubClass", "Protocol", "MaxPacketSize0", "VendorID", "ProductID",
+ "BcdDevice",
+ "ManufacturerStringIndex", "ProductStringIndex", "SerialStringIndex", "ConfigurationCount"
+ };
+
+ return Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+
+ /// <summary>
+ /// Determines whether the specified <see cref="UsbDeviceDescriptor"/> is equal to the current <see cref="UsbDeviceDescriptor"/>.
+ /// </summary>
+ /// <returns>
+ /// true if the specified <see cref="UsbDeviceDescriptor"/> is equal to the current <see cref="UsbDeviceDescriptor"/>; otherwise, false.
+ /// </returns>
+ /// <param name="other">The <see cref="UsbDeviceDescriptor"/> to compare with the current <see cref="UsbDeviceDescriptor"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="other"/> parameter is null.</exception><filterpriority>2</filterpriority>
+ public bool Equals(UsbDeviceDescriptor other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+ return other.BcdUsb == BcdUsb && other.Class == Class && other.SubClass == SubClass && other.Protocol == Protocol &&
+ other.MaxPacketSize0 == MaxPacketSize0 && other.VendorID == VendorID && other.ProductID == ProductID &&
+ other.BcdDevice == BcdDevice && other.ManufacturerStringIndex == ManufacturerStringIndex &&
+ other.ProductStringIndex == ProductStringIndex && other.SerialStringIndex == SerialStringIndex &&
+ other.ConfigurationCount == ConfigurationCount;
+ }
+
+ /// <summary>
+ /// Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
+ /// </summary>
+ /// <returns>
+ /// true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
+ /// </returns>
+ /// <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="obj"/> parameter is null.</exception><filterpriority>2</filterpriority>
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ if (obj.GetType() != typeof (UsbDeviceDescriptor)) return false;
+ return Equals((UsbDeviceDescriptor) obj);
+ }
+
+ /// <summary>
+ /// Serves as a hash function for a particular type.
+ /// </summary>
+ /// <returns>
+ /// A hash code for the current <see cref="T:System.Object"/>.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ int result = BcdUsb.GetHashCode();
+ result = (result*397) ^ Class.GetHashCode();
+ result = (result*397) ^ SubClass.GetHashCode();
+ result = (result*397) ^ Protocol.GetHashCode();
+ result = (result*397) ^ MaxPacketSize0.GetHashCode();
+ result = (result*397) ^ VendorID.GetHashCode();
+ result = (result*397) ^ ProductID.GetHashCode();
+ result = (result*397) ^ BcdDevice.GetHashCode();
+ result = (result*397) ^ ManufacturerStringIndex.GetHashCode();
+ result = (result*397) ^ ProductStringIndex.GetHashCode();
+ result = (result*397) ^ SerialStringIndex.GetHashCode();
+ result = (result*397) ^ ConfigurationCount.GetHashCode();
+ return result;
+ }
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="left"></param>
+ /// <param name="right"></param>
+ /// <returns></returns>
+ public static bool operator ==(UsbDeviceDescriptor left, UsbDeviceDescriptor right) { return Equals(left, right); }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="left"></param>
+ /// <param name="right"></param>
+ /// <returns></returns>
+ public static bool operator !=(UsbDeviceDescriptor left, UsbDeviceDescriptor right) { return !Equals(left, right); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/UsbEndpointDescriptor.cs b/LibWinUsb/Descriptors/UsbEndpointDescriptor.cs
new file mode 100644
index 00000000..cc7f41a9
--- /dev/null
+++ b/LibWinUsb/Descriptors/UsbEndpointDescriptor.cs
@@ -0,0 +1,134 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+#pragma warning disable 649
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Usb Endpoint Descriptor
+ /// </summary>
+ /// <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public class UsbEndpointDescriptor : UsbDescriptor
+ {
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public new static readonly int Size = Marshal.SizeOf(typeof (UsbEndpointDescriptor));
+
+ /// <summary>
+ /// Endpoint Address
+ /// Bits 0..3b Endpoint Number.
+ /// Bits 4..6b Reserved. Set to Zero
+ /// Bits 7 Direction 0 = Out, 1 = In (Ignored for Control Endpoints)
+ /// </summary>
+ public readonly byte EndpointID;
+
+ /// <summary>
+ /// Bits 0..1 Transfer Type
+ /// 00 = Control
+ /// 01 = Isochronous
+ /// 10 = Bulk
+ /// 11 = Interrupt
+ ///
+ /// Bits 2..7 are reserved. If Isochronous endpoint,
+ /// Bits 3..2 = Synchronisation Type (Iso Mode)
+ /// 00 = No Synchonisation
+ /// 01 = Asynchronous
+ /// 10 = Adaptive
+ /// 11 = Synchronous
+ ///
+ /// Bits 5..4 = Usage Type (Iso Mode)
+ /// 00 = Data Endpoint
+ /// 01 = Feedback Endpoint
+ /// 10 = Explicit Feedback Data Endpoint
+ /// 11 = Reserved
+ /// </summary>
+ public readonly byte Attributes;
+
+ /// <summary>
+ /// Maximum Packet Size this endpoint is capable of sending or receiving
+ /// </summary>
+ public readonly short MaxPacketSize;
+
+ /// <summary>
+ /// Interval for polling endpoint data transfers. Value in frame counts. Ignored for Bulk and Control Endpoints. Isochronous must equal 1 and field may range from 1 to 255 for interrupt endpoints.
+ /// </summary>
+ public readonly byte Interval;
+
+ /// <summary>
+ /// Audio endpoint specific.
+ /// </summary>
+ public readonly byte Refresh;
+
+ /// <summary>
+ /// Audio endpoint specific.
+ /// </summary>
+ public readonly byte SynchAddress;
+
+ internal UsbEndpointDescriptor() { }
+
+ internal UsbEndpointDescriptor(MonoUsbEndpointDescriptor descriptor)
+ {
+ Attributes = descriptor.bmAttributes;
+ DescriptorType = descriptor.bDescriptorType;
+ EndpointID = descriptor.bEndpointAddress;
+ Interval = descriptor.bInterval;
+ Length = descriptor.bLength;
+ MaxPacketSize = (short) descriptor.wMaxPacketSize;
+ SynchAddress = descriptor.bSynchAddress;
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbEndpointDescriptor"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbEndpointDescriptor"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", ToStringParamValueSeperator, ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbEndpointDescriptor"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbEndpointDescriptor"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {
+ Length, DescriptorType, "0x" + EndpointID.ToString("X2"), "0x" + Attributes.ToString("X2"), MaxPacketSize, Interval,
+ Refresh, "0x" + SynchAddress.ToString("X2")
+ };
+ string[] names = {"Length", "DescriptorType", "EndpointID", "Attributes", "MaxPacketSize", "Interval", "Refresh", "SynchAddress"};
+
+ return Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Descriptors/UsbInterfaceDescriptor.cs b/LibWinUsb/Descriptors/UsbInterfaceDescriptor.cs
new file mode 100644
index 00000000..66246020
--- /dev/null
+++ b/LibWinUsb/Descriptors/UsbInterfaceDescriptor.cs
@@ -0,0 +1,126 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+#pragma warning disable 649
+
+namespace LibUsbDotNet.Descriptors
+{
+ /// <summary> Usb Interface Descriptor.
+ /// </summary>
+ /// <remarks> This is the actual descriptor as described in the USB 2.0 Specifications.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public class UsbInterfaceDescriptor : UsbDescriptor
+ {
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public new static readonly int Size = Marshal.SizeOf(typeof (UsbInterfaceDescriptor));
+
+ /// <summary>
+ /// Number of Interface
+ /// </summary>
+ public readonly byte InterfaceID;
+
+ /// <summary>
+ /// Value used to select alternative setting
+ /// </summary>
+ public readonly byte AlternateID;
+
+ /// <summary>
+ /// Number of Endpoints used for this interface
+ /// </summary>
+ public readonly byte EndpointCount;
+
+ /// <summary>
+ /// Class Code (Assigned by USB Org)
+ /// </summary>
+ public readonly ClassCodeType Class;
+
+ /// <summary>
+ /// Subclass Code (Assigned by USB Org)
+ /// </summary>
+ public readonly byte SubClass;
+
+ /// <summary>
+ /// Protocol Code (Assigned by USB Org)
+ /// </summary>
+ public readonly byte Protocol;
+
+ /// <summary>
+ /// Index of String Descriptor Describing this interface
+ /// </summary>
+ public readonly byte StringIndex;
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceDescriptor"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbInterfaceDescriptor"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", ToStringParamValueSeperator, ToStringFieldSeperator); }
+
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceDescriptor"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbInterfaceDescriptor"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {
+ Length, DescriptorType, InterfaceID, AlternateID, EndpointCount, Class, "0x" + SubClass.ToString("X2"),
+ "0x" + Protocol.ToString("X2"), StringIndex
+ };
+ string[] names = {
+ "Length", "DescriptorType", "InterfaceID", "AlternateID", "EndpointCount", "Class", "SubClass", "Protocol",
+ "StringIndex"
+ };
+
+ return Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+
+
+ internal UsbInterfaceDescriptor() { }
+
+ internal UsbInterfaceDescriptor(MonoUsbAltInterfaceDescriptor altInterfaceDescriptor)
+ {
+ AlternateID = altInterfaceDescriptor.bAlternateSetting;
+ Class = altInterfaceDescriptor.bInterfaceClass;
+ DescriptorType = altInterfaceDescriptor.bDescriptorType;
+ EndpointCount = altInterfaceDescriptor.bNumEndpoints;
+ InterfaceID = altInterfaceDescriptor.bInterfaceNumber;
+ Length = altInterfaceDescriptor.bLength;
+ Protocol = altInterfaceDescriptor.bInterfaceProtocol;
+ StringIndex = altInterfaceDescriptor.iInterface;
+ SubClass = altInterfaceDescriptor.bInterfaceSubClass;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/DeviceNotifier.cs b/LibWinUsb/DeviceNotify/DeviceNotifier.cs
new file mode 100644
index 00000000..37991c93
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/DeviceNotifier.cs
@@ -0,0 +1,48 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using LibUsbDotNet.DeviceNotify.Linux;
+
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Platform independent class for linux/windows device notification.
+ /// </summary>
+ /// <code source="..\Examples\Device.Notification\DeviceNotification.cs" lang="cs"/>
+ public static class DeviceNotifier
+ {
+ /// <summary>
+ /// Creates a new instance of a device notifier class.
+ /// </summary>
+ /// <returns>A <see cref="WindowsDeviceNotifier"/> under windows and a <see cref="LinuxDeviceNotifier"/> under linux.</returns>
+ public static IDeviceNotifier OpenDeviceNotifier()
+ {
+ if (UsbDevice.IsLinux)
+ {
+ return new LinuxDeviceNotifier();
+ }
+ else
+ {
+ return new WindowsDeviceNotifier();
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/DeviceNotifyEventArgs.cs b/LibWinUsb/DeviceNotify/DeviceNotifyEventArgs.cs
new file mode 100644
index 00000000..18b40618
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/DeviceNotifyEventArgs.cs
@@ -0,0 +1,112 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.DeviceNotify.Info;
+
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Describes the device notify event
+ /// </summary>
+ public abstract class DeviceNotifyEventArgs : EventArgs
+ {
+ internal IUsbDeviceNotifyInfo mDevice;
+ internal DeviceType mDeviceType;
+ internal EventType mEventType;
+ internal object mObject;
+ internal IPortNotifyInfo mPort;
+ internal IVolumeNotifyInfo mVolume;
+
+ /// <summary>
+ /// Gets the <see cref="VolumeNotifyInfo"/> class.
+ /// </summary>
+ /// <remarks>
+ /// This value is null if the <see cref="DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="DeviceNotify.DeviceType.Volume"/>
+ /// </remarks>
+ public IVolumeNotifyInfo Volume
+ {
+ get { return mVolume; }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="PortNotifyInfo"/> class.
+ /// </summary>
+ /// <remarks>
+ /// This value is null if the <see cref="DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="DeviceNotify.DeviceType.Port"/>
+ /// </remarks>
+ public IPortNotifyInfo Port
+ {
+ get { return mPort; }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="UsbDeviceNotifyInfo"/> class.
+ /// </summary>
+ /// <remarks>
+ /// This value is null if the <see cref="DeviceNotifyEventArgs.DeviceType"/> is not set to <see cref="DeviceNotify.DeviceType.DeviceInterface"/>
+ /// </remarks>
+ public IUsbDeviceNotifyInfo Device
+ {
+ get { return mDevice; }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="EventType"/> for this notification.
+ /// </summary>
+ public EventType EventType
+ {
+ get { return mEventType; }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="DeviceType"/> for this notification.
+ /// </summary>
+ public DeviceType DeviceType
+ {
+ get { return mDeviceType; }
+ }
+
+ /// <summary>
+ /// Gets the notification class as an object.
+ /// </summary>
+ /// <remarks>
+ /// This value is never null.
+ /// </remarks>
+ public object Object
+ {
+ get { return mObject; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="DeviceNotifyEventArgs"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="DeviceNotifyEventArgs"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ object[] o = {DeviceType, EventType, mObject.ToString()};
+ return string.Format("[DeviceType:{0}] [EventType:{1}] {2}", o);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/DeviceType.cs b/LibWinUsb/DeviceNotify/DeviceType.cs
new file mode 100644
index 00000000..e671bfb6
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/DeviceType.cs
@@ -0,0 +1,58 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Type of notification device.
+ /// </summary>
+ public enum DeviceType
+ {
+ /// <summary>
+ /// oem-defined device type.
+ /// </summary>
+ Oem = 0x00000000,
+ /// <summary>
+ /// devnode number.
+ /// </summary>
+ DevNode = 0x00000001,
+ /// <summary>
+ /// logical volume.
+ /// </summary>
+ Volume = 0x00000002,
+ /// <summary>
+ /// serial, parallel.
+ /// </summary>
+ Port = 0x00000003,
+ /// <summary>
+ /// network resource.
+ /// </summary>
+ Net = 0x00000004,
+ /// <summary>
+ /// device interface class
+ /// </summary>
+ DeviceInterface = 0x00000005,
+ /// <summary>
+ /// file system handle.
+ /// </summary>
+ Handle = 0x00000006
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/EventType.cs b/LibWinUsb/DeviceNotify/EventType.cs
new file mode 100644
index 00000000..88ed700f
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/EventType.cs
@@ -0,0 +1,58 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Type of notification event.
+ /// </summary>
+ public enum EventType
+ {
+ /// <summary>
+ /// A custom event has occurred.
+ /// </summary>
+ CustomEvent = 0x8006,
+ /// <summary>
+ /// A device or piece of media has been inserted and is now available.
+ /// </summary>
+ DeviceArrival = 0x8000,
+ /// <summary>
+ /// Permission is requested to remove a device or piece of media. Any application can deny this request and cancel the removal.
+ /// </summary>
+ DeviceQueryRemove = 0x8001,
+ /// <summary>
+ /// A request to remove a device or piece of media has been canceled.
+ /// </summary>
+ DeviceQueryRemoveFailed = 0x8002,
+ /// <summary>
+ /// A device or piece of media has been removed.
+ /// </summary>
+ DeviceRemoveComplete = 0x8004,
+ /// <summary>
+ /// A device or piece of media is about to be removed. Cannot be denied.
+ /// </summary>
+ DeviceRemovePending = 0x8003,
+ /// <summary>
+ /// A device-specific event has occurred.
+ /// </summary>
+ DeviceTypeSpecific = 0x8005
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/IDeviceNotifier.cs b/LibWinUsb/DeviceNotify/IDeviceNotifier.cs
new file mode 100644
index 00000000..02b59e37
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/IDeviceNotifier.cs
@@ -0,0 +1,52 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Notifies an application of a change to the hardware Configuration of a device or
+ /// the computer.
+ /// </summary>
+ /// <remarks>
+ /// For devices that offer software-controllable features, such as ejection and locking,
+ /// the system typically sends a <see cref="EventType.DeviceRemovePending"/> message to
+ /// let applications and device drivers end their use of the device gracefully. If the
+ /// system forcibly removes a device, it may not send a
+ /// <see cref="EventType.DeviceQueryRemove"/> message before doing so.
+ /// </remarks>
+ /// <example>
+ /// <code source="..\Test_DeviceNotify\fTestDeviceNotify.cs" lang="cs"/>
+ /// </example>
+ public interface IDeviceNotifier
+ {
+ ///<summary>
+ /// Enables/Disables notification events.
+ ///</summary>
+ bool Enabled { get; set; }
+
+ /// <summary>
+ /// Main Notify event for all device notifications.
+ /// </summary>
+ event EventHandler<DeviceNotifyEventArgs> OnDeviceNotify;
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/IPortNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/IPortNotifyInfo.cs
new file mode 100644
index 00000000..fdb17286
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/IPortNotifyInfo.cs
@@ -0,0 +1,43 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Common interface describing a communication port arrival or removal notification.
+ /// </summary>
+ public interface IPortNotifyInfo
+ {
+ /// <summary>
+ /// Under windows, Gets the name of the port that caused the event.
+ /// Under windows, Gets the full path of the device caused the event.
+ /// </summary>
+ string Name { get; }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="PortNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="PortNotifyInfo"/>.
+ ///</returns>
+ string ToString();
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/IUsbDeviceNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/IUsbDeviceNotifyInfo.cs
new file mode 100644
index 00000000..2228e3f9
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/IUsbDeviceNotifyInfo.cs
@@ -0,0 +1,70 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Common inteface describing USB DEVICE INTERFACE arrival and removal events.
+ /// </summary>
+ public interface IUsbDeviceNotifyInfo
+ {
+ /// <summary>
+ /// The symbolc name class for this device. For more information, see <see cref="UsbSymbolicName"/>.
+ /// </summary>
+ UsbSymbolicName SymbolicName { get; }
+
+ /// <summary>
+ /// Gets the full name of the USB device that caused the notification.
+ /// </summary>
+ string Name { get; }
+
+ /// <summary>
+ /// Gets the Class Guid of the USB device that caused the notification.
+ /// </summary>
+ Guid ClassGuid { get; }
+
+ /// <summary>
+ /// Parses and returns the VID from the <see cref="Name"/> property.
+ /// </summary>
+ int IdVendor { get; }
+
+ /// <summary>
+ /// Parses and returns the PID from the <see cref="Name"/> property.
+ /// </summary>
+ int IdProduct { get; }
+
+ /// <summary>
+ /// Parses and returns the serial number from the <see cref="Name"/> property.
+ /// </summary>
+ string SerialNumber { get; }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</returns>
+ string ToString();
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/IVolumeNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/IVolumeNotifyInfo.cs
new file mode 100644
index 00000000..26a2c42b
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/IVolumeNotifyInfo.cs
@@ -0,0 +1,63 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Common interface describing a storage volume arrival or removal notification.
+ /// </summary>
+ public interface IVolumeNotifyInfo
+ {
+ /// <summary>
+ /// Under windows, gets the letter representation of the unitmask.
+ /// Under linux, gets the full path of the device name.
+ /// </summary>
+ string Letter { get; }
+
+ ///<summary>
+ /// If true, change affects media in drive. If false, change affects physical device or drive.
+ ///</summary>
+ bool ChangeAffectsMediaInDrive { get; }
+
+ /// <summary>
+ /// If True, the indicated logical volume is a network volume
+ /// </summary>
+ bool IsNetworkVolume { get; }
+
+ /// <summary>
+ /// Raw DevBroadcastVolume flags.
+ /// </summary>
+ short Flags { get; }
+
+ /// <summary>
+ /// Gets the bit unit mask of the device. IE (bit 0 = A:, bit 1 = B:, etc..)
+ /// </summary>
+ int Unitmask { get; }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="VolumeNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="VolumeNotifyInfo"/>.
+ ///</returns>
+ string ToString();
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/PortNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/PortNotifyInfo.cs
new file mode 100644
index 00000000..d7662fb5
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/PortNotifyInfo.cs
@@ -0,0 +1,63 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.DeviceNotify.Internal;
+
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Notify information for a communication port
+ /// </summary>
+ public class PortNotifyInfo : IPortNotifyInfo
+ {
+ private readonly DevBroadcastPort mBaseHdr = new DevBroadcastPort();
+ private readonly string mName;
+
+ internal PortNotifyInfo(IntPtr lParam)
+ {
+ Marshal.PtrToStructure(lParam, mBaseHdr);
+ IntPtr pName = new IntPtr(lParam.ToInt64() + Marshal.OffsetOf(typeof (DevBroadcastPort), "mNameHolder").ToInt64());
+ mName = Marshal.PtrToStringAuto(pName);
+ }
+
+ #region IPortNotifyInfo Members
+
+ /// <summary>
+ /// Gets the name of the port that caused the event.
+ /// </summary>
+ public string Name
+ {
+ get { return mName; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="PortNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="PortNotifyInfo"/>.
+ ///</returns>
+ public override string ToString() { return string.Format("[Port Name:{0}] ", Name); }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/UsbDeviceNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/UsbDeviceNotifyInfo.cs
new file mode 100644
index 00000000..085e1dab
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/UsbDeviceNotifyInfo.cs
@@ -0,0 +1,112 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.DeviceNotify.Internal;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Describes the USB device that caused the notification.
+ /// See the <see cref="IUsbDeviceNotifyInfo"/> inteface for more information.
+ /// </summary>
+ public class UsbDeviceNotifyInfo : IUsbDeviceNotifyInfo
+ {
+ private readonly DevBroadcastDeviceinterface mBaseHdr = new DevBroadcastDeviceinterface();
+ private readonly string mName;
+ private UsbSymbolicName mSymbolicName;
+
+ internal UsbDeviceNotifyInfo(IntPtr lParam)
+ {
+ Marshal.PtrToStructure(lParam, mBaseHdr);
+ IntPtr pName = new IntPtr(lParam.ToInt64() + Marshal.OffsetOf(typeof (DevBroadcastDeviceinterface), "mNameHolder").ToInt64());
+ mName = Marshal.PtrToStringAuto(pName);
+ }
+
+ #region IUsbDeviceNotifyInfo Members
+
+ /// <summary>
+ /// The symbolc name class for this device. For more information, see <see cref="UsbSymbolicName"/>.
+ /// </summary>
+ public UsbSymbolicName SymbolicName
+ {
+ get
+ {
+ if (ReferenceEquals(mSymbolicName, null))
+ mSymbolicName = new UsbSymbolicName(mName);
+
+ return mSymbolicName;
+ }
+ }
+
+ /// <summary>
+ /// Gets the full name of the USB device that caused the notification.
+ /// </summary>
+ public string Name
+ {
+ get { return mName; }
+ }
+
+ /// <summary>
+ /// Gets the Class Guid of the USB device that caused the notification.
+ /// </summary>
+ public Guid ClassGuid
+ {
+ get { return SymbolicName.ClassGuid; }
+ }
+
+ /// <summary>
+ /// Parses and returns the VID from the <see cref="Name"/> property.
+ /// </summary>
+ public int IdVendor
+ {
+ get { return SymbolicName.Vid; }
+ }
+
+ /// <summary>
+ /// Parses and returns the PID from the <see cref="Name"/> property.
+ /// </summary>
+ public int IdProduct
+ {
+ get { return SymbolicName.Pid; }
+ }
+
+ /// <summary>
+ /// Parses and returns the serial number from the <see cref="Name"/> property.
+ /// </summary>
+ public string SerialNumber
+ {
+ get { return SymbolicName.SerialNumber; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</returns>
+ public override string ToString() { return SymbolicName.ToString(); }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Info/VolumeNotifyInfo.cs b/LibWinUsb/DeviceNotify/Info/VolumeNotifyInfo.cs
new file mode 100644
index 00000000..d13268e9
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Info/VolumeNotifyInfo.cs
@@ -0,0 +1,114 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.DeviceNotify.Internal;
+
+namespace LibUsbDotNet.DeviceNotify.Info
+{
+ /// <summary> Describes the storage volume that caused the notification.
+ /// See <see cref="IVolumeNotifyInfo"/> for more information.
+ /// </summary>
+ public class VolumeNotifyInfo : IVolumeNotifyInfo
+ {
+ private const int DBTF_MEDIA = 0x0001;
+ private const int DBTF_NET = 0x0002;
+
+ private readonly DevBroadcastVolume mBaseHdr = new DevBroadcastVolume();
+
+ internal VolumeNotifyInfo(IntPtr lParam) { Marshal.PtrToStructure(lParam, mBaseHdr); }
+
+ #region IVolumeNotifyInfo Members
+
+ /// <summary>
+ /// Gets the letter representation of the unitmask.
+ /// </summary>
+ public string Letter
+ {
+ get
+ {
+ Int32 tempMask = Unitmask;
+ for (byte b = 65; b < (65 + 32); b++)
+ {
+ Byte bValue = b;
+ if (bValue > 90)
+ bValue -= 43;
+ if ((tempMask & 0x1) == 1)
+ return ((char) bValue).ToString();
+
+ tempMask >>= 1;
+ }
+
+ return ((char) 63).ToString();
+ }
+ }
+
+ ///<summary>
+ /// If true, change affects media in drive. If false, change affects physical device or drive.
+ ///</summary>
+ public bool ChangeAffectsMediaInDrive
+ {
+ get { return ((Flags & DBTF_MEDIA) == DBTF_MEDIA); }
+ }
+
+ /// <summary>
+ /// If True, the indicated logical volume is a network volume
+ /// </summary>
+ public bool IsNetworkVolume
+ {
+ get { return ((Flags & DBTF_NET) == DBTF_NET); }
+ }
+
+ /// <summary>
+ /// Raw DevBroadcastVolume flags.
+ /// </summary>
+ public short Flags
+ {
+ get { return mBaseHdr.Flags; }
+ }
+
+ /// <summary>
+ /// Gets the bit unit mask of the device. IE (bit 0 = A:, bit 1 = B:, etc..)
+ /// </summary>
+ public int Unitmask
+ {
+ get { return mBaseHdr.UnitMask; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="VolumeNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="VolumeNotifyInfo"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ return string.Format("[Letter:{0}] [IsNetworkVolume:{1}] [ChangeAffectsMediaInDrive:{2}] ",
+ Letter,
+ IsNetworkVolume,
+ ChangeAffectsMediaInDrive);
+ }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/DevBroadcastDeviceinterface.cs b/LibWinUsb/DeviceNotify/Internal/DevBroadcastDeviceinterface.cs
new file mode 100644
index 00000000..148e063b
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/DevBroadcastDeviceinterface.cs
@@ -0,0 +1,44 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+
+#pragma warning disable 169
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ [StructLayout(LayoutKind.Sequential)]
+ internal class DevBroadcastDeviceinterface : DevBroadcastHdr
+ {
+ public Guid ClassGuid = Guid.Empty;
+ private char mNameHolder;
+
+ public DevBroadcastDeviceinterface()
+ {
+ Size = Marshal.SizeOf(this);
+ DeviceType = DeviceType.DeviceInterface;
+ }
+
+ public DevBroadcastDeviceinterface(Guid guid)
+ : this() { ClassGuid = guid; }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/DevBroadcastHdr.cs b/LibWinUsb/DeviceNotify/Internal/DevBroadcastHdr.cs
new file mode 100644
index 00000000..5bc907c8
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/DevBroadcastHdr.cs
@@ -0,0 +1,35 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ [StructLayout(LayoutKind.Sequential)]
+ internal class DevBroadcastHdr
+ {
+ public int Size;
+ public DeviceType DeviceType;
+ public int Rsrvd1;
+
+ internal DevBroadcastHdr() { Size = Marshal.SizeOf(this); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/DevBroadcastPort.cs b/LibWinUsb/DeviceNotify/Internal/DevBroadcastPort.cs
new file mode 100644
index 00000000..8d9b28f0
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/DevBroadcastPort.cs
@@ -0,0 +1,39 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+
+#pragma warning disable 169
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ [StructLayout(LayoutKind.Sequential)]
+ internal class DevBroadcastPort : DevBroadcastHdr
+ {
+ private char mNameHolder;
+
+ public DevBroadcastPort()
+ {
+ Size = Marshal.SizeOf(this);
+ DeviceType = DeviceType.Port;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/DevBroadcastVolume.cs b/LibWinUsb/DeviceNotify/Internal/DevBroadcastVolume.cs
new file mode 100644
index 00000000..6f69572d
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/DevBroadcastVolume.cs
@@ -0,0 +1,38 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ [StructLayout(LayoutKind.Sequential)]
+ internal class DevBroadcastVolume : DevBroadcastHdr
+ {
+ public int UnitMask;
+ public short Flags;
+
+ public DevBroadcastVolume()
+ {
+ Size = Marshal.SizeOf(this);
+ DeviceType = DeviceType.Volume;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/DevNotifyNativeWindow.cs b/LibWinUsb/DeviceNotify/Internal/DevNotifyNativeWindow.cs
new file mode 100644
index 00000000..03a6d993
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/DevNotifyNativeWindow.cs
@@ -0,0 +1,79 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Windows.Forms;
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ internal sealed class DevNotifyNativeWindow : NativeWindow
+ {
+ private const string WINDOW_CAPTION = "{18662f14-0871-455c-bf99-eff135425e3a}";
+ private const int WM_DEVICECHANGE = 0x219;
+ private readonly OnDeviceChangeDelegate mDelDeviceChange;
+ private readonly OnHandleChangeDelegate mDelHandleChanged;
+
+ internal DevNotifyNativeWindow(OnHandleChangeDelegate delHandleChanged, OnDeviceChangeDelegate delDeviceChange)
+ {
+ mDelHandleChanged = delHandleChanged;
+ mDelDeviceChange = delDeviceChange;
+
+ CreateParams cp = new CreateParams();
+ cp.Caption = WINDOW_CAPTION;
+ cp.X = -100;
+ cp.Y = -100;
+ cp.Width = 50;
+ cp.Height = 50;
+ CreateHandle(cp);
+ }
+
+ protected override void OnHandleChange()
+ {
+ mDelHandleChanged(Handle);
+ base.OnHandleChange();
+ }
+
+ protected override void WndProc(ref Message m)
+ {
+ if (m.Msg == WM_DEVICECHANGE)
+ {
+ mDelDeviceChange(ref m);
+ }
+ base.WndProc(ref m);
+ }
+
+ #region Nested Types
+
+ #region Nested type: OnDeviceChangeDelegate
+
+ internal delegate void OnDeviceChangeDelegate(ref Message m);
+
+ #endregion
+
+ #region Nested type: OnHandleChangeDelegate
+
+ internal delegate void OnHandleChangeDelegate(IntPtr windowHandle);
+
+ #endregion
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Internal/SafeNotifyHandle.cs b/LibWinUsb/DeviceNotify/Internal/SafeNotifyHandle.cs
new file mode 100644
index 00000000..5960eaad
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Internal/SafeNotifyHandle.cs
@@ -0,0 +1,45 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using Microsoft.Win32.SafeHandles;
+
+namespace LibUsbDotNet.DeviceNotify.Internal
+{
+ internal class SafeNotifyHandle : SafeHandleZeroOrMinusOneIsInvalid
+ {
+ public SafeNotifyHandle()
+ : base(true) { }
+
+ public SafeNotifyHandle(IntPtr pHandle)
+ : base(true) { SetHandle(pHandle); }
+
+ protected override bool ReleaseHandle()
+ {
+ if (handle != IntPtr.Zero)
+ {
+ bool bSuccess = WindowsDeviceNotifier.UnregisterDeviceNotification(handle);
+ handle = IntPtr.Zero;
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDevItem.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDevItem.cs
new file mode 100644
index 00000000..13e892b9
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDevItem.cs
@@ -0,0 +1,90 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using MonoLibUsb.Descriptors;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ internal class LinuxDevItem
+ {
+ public readonly byte BusNumber;
+ public readonly byte DeviceAddress;
+ public readonly UsbDeviceDescriptor DeviceDescriptor;
+ public readonly string DeviceFileName;
+
+ public LinuxDevItem(string deviceFileName, byte busNumber, byte deviceAddress, byte[] fileDescriptor)
+ {
+ DeviceFileName = deviceFileName;
+ BusNumber = busNumber;
+ DeviceAddress = deviceAddress;
+
+
+ DeviceDescriptor = new UsbDeviceDescriptor();
+ GCHandle gcFileDescriptor = GCHandle.Alloc(DeviceDescriptor, GCHandleType.Pinned);
+ Marshal.Copy(fileDescriptor, 0, gcFileDescriptor.AddrOfPinnedObject(), Marshal.SizeOf(DeviceDescriptor));
+
+ gcFileDescriptor.Free();
+ }
+
+ public LinuxDevItem(string deviceFileName, byte busNumber, byte deviceAddress, MonoUsbDeviceDescriptor monoUsbDeviceDescriptor)
+ {
+ DeviceFileName = deviceFileName;
+ BusNumber = busNumber;
+ DeviceAddress = deviceAddress;
+
+
+ DeviceDescriptor = new UsbDeviceDescriptor(monoUsbDeviceDescriptor);
+ }
+
+ public bool Equals(LinuxDevItem other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+ return Equals(other.DeviceFileName, DeviceFileName) && other.BusNumber == BusNumber && other.DeviceAddress == DeviceAddress &&
+ Equals(other.DeviceDescriptor, DeviceDescriptor);
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ if (obj.GetType() != typeof (LinuxDevItem)) return false;
+ return Equals((LinuxDevItem) obj);
+ }
+
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ int result = (DeviceFileName != null ? DeviceFileName.GetHashCode() : 0);
+ result = (result*397) ^ BusNumber.GetHashCode();
+ result = (result*397) ^ DeviceAddress.GetHashCode();
+ result = (result*397) ^ (DeviceDescriptor != null ? DeviceDescriptor.GetHashCode() : 0);
+ return result;
+ }
+ }
+
+ public static bool operator ==(LinuxDevItem left, LinuxDevItem right) { return Equals(left, right); }
+ public static bool operator !=(LinuxDevItem left, LinuxDevItem right) { return !Equals(left, right); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDevItemList.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDevItemList.cs
new file mode 100644
index 00000000..e319aac3
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDevItemList.cs
@@ -0,0 +1,36 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Collections.Generic;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ internal class LinuxDevItemList : List<LinuxDevItem>
+ {
+ public LinuxDevItem FindByName(string deviceFileName)
+ {
+ foreach (LinuxDevItem item in this)
+ if (item.DeviceFileName == deviceFileName) return item;
+
+ return null;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DevMonitor.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DevMonitor.cs
new file mode 100644
index 00000000..bbdab1f1
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DevMonitor.cs
@@ -0,0 +1,187 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.IO;
+using System.Text.RegularExpressions;
+using LibUsbDotNet.Descriptors;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ public partial class LinuxDeviceNotifier
+ {
+ private static Regex _RegParseDeviceInterface;
+ private static string DeviceIntefaceMatchExpression = "usbdev(?<BusNumber>[0-9]+)\\.(?<DeviceAddress>[0-9]+)$";
+ private readonly string mDevDir;
+ private FileSystemWatcher mUsbFS;
+
+ private static Regex RegParseDeviceInterface
+ {
+ get
+ {
+ if (ReferenceEquals(_RegParseDeviceInterface, null))
+ {
+ _RegParseDeviceInterface = new Regex(DeviceIntefaceMatchExpression,
+ RegexOptions.Compiled | RegexOptions.ExplicitCapture | RegexOptions.CultureInvariant |
+ RegexOptions.Singleline);
+ }
+ return _RegParseDeviceInterface;
+ }
+ }
+
+
+ private static bool IsDeviceEnterface(string name, out byte busNumber, out byte deviceAddress)
+ {
+ busNumber = 0;
+ deviceAddress = 0;
+
+ Match match = RegParseDeviceInterface.Match(name);
+ if (match.Success)
+ {
+ try
+ {
+ busNumber = byte.Parse(match.Groups["BusNumber"].Value);
+ deviceAddress = byte.Parse(match.Groups["DeviceAddress"].Value);
+ return true;
+ }
+ catch
+ {
+ return false;
+ }
+ }
+ return false;
+ }
+
+ private static bool ReadFileDescriptor(string fullPath, out byte[] deviceDescriptorBytes)
+ {
+ try
+ {
+ FileStream f = File.Open(fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
+ deviceDescriptorBytes = new byte[UsbDeviceDescriptor.Size];
+ int iRead = f.Read(deviceDescriptorBytes, 0, UsbDeviceDescriptor.Size);
+ f.Close();
+
+ return iRead == UsbDeviceDescriptor.Size;
+ }
+ catch
+ {
+ deviceDescriptorBytes = null;
+ return false;
+ }
+ }
+
+ private void StartDevDirectoryMonitor()
+ {
+ if (!ReferenceEquals(mUsbFS, null)) return;
+
+ BuildDevList();
+ mUsbFS = new FileSystemWatcher(mDevDir);
+ mUsbFS.IncludeSubdirectories = false;
+ mUsbFS.Created += FileAdded;
+ mUsbFS.Deleted += FileRemoved;
+ mUsbFS.EnableRaisingEvents = true;
+ }
+
+ private void BuildDevList()
+ {
+ mLinuxDevItemList.Clear();
+ string[] deviceInterfaceFiles = Directory.GetFiles(mDevDir, "usbdev*", SearchOption.TopDirectoryOnly);
+ foreach (string deviceInterfaceFile in deviceInterfaceFiles)
+ {
+ byte busNumber;
+ byte deviceAddress;
+ string deviceFileName = Path.GetFileName(deviceInterfaceFile);
+ if (IsDeviceEnterface(deviceFileName, out busNumber, out deviceAddress))
+ {
+ byte[] descriptorBytes;
+ if (ReadFileDescriptor(deviceInterfaceFile, out descriptorBytes))
+ {
+ LinuxDevItem addedItem = new LinuxDevItem(deviceFileName, busNumber, deviceAddress, descriptorBytes);
+ mLinuxDevItemList.Add(addedItem);
+ }
+ }
+ }
+ //Console.WriteLine("LinuxDeviceNotifier:BuildDevList Count:{0}",mLinuxDevItemList.Count);
+ }
+
+ private void FileRemoved(object sender, FileSystemEventArgs e)
+ {
+ byte busNumber;
+ byte deviceAddress;
+ if (IsDeviceEnterface(e.Name, out busNumber, out deviceAddress))
+ {
+ LinuxDevItem foundLinuxDevItem;
+ if ((foundLinuxDevItem = mLinuxDevItemList.FindByName(e.Name)) == null) throw new Exception("FileRemoved:Invalid LinuxDevItem");
+
+ //Console.WriteLine("Removed Vid:{0:X4} Pid:{1:X4}", foundLinuxDevItem.DeviceDescriptor.VendorID, foundLinuxDevItem.DeviceDescriptor.ProductID);
+ //////////////////////
+ // TODO:DEVICE REMOVAL
+ //////////////////////
+
+ mLinuxDevItemList.Remove(foundLinuxDevItem);
+ EventHandler<DeviceNotifyEventArgs> deviceNotify = OnDeviceNotify;
+ if (!ReferenceEquals(deviceNotify, null))
+ {
+ deviceNotify(this, new LinuxDeviceNotifyEventArgs(foundLinuxDevItem, DeviceType.DeviceInterface, EventType.DeviceRemoveComplete));
+ }
+ }
+ }
+
+ private void FileAdded(object sender, FileSystemEventArgs e)
+ {
+ byte busNumber;
+ byte deviceAddress;
+ if (IsDeviceEnterface(e.Name, out busNumber, out deviceAddress))
+ {
+ byte[] descriptorBytes;
+ if (ReadFileDescriptor(e.FullPath, out descriptorBytes))
+ {
+ LinuxDevItem addedItem = new LinuxDevItem(e.Name, busNumber, deviceAddress, descriptorBytes);
+ if (mLinuxDevItemList.FindByName(e.Name) != null) throw new Exception("FileAdded:Invalid LinuxDevItem");
+ mLinuxDevItemList.Add(addedItem);
+
+ //Console.WriteLine("Added Vid:{0:X4} Pid:{1:X4}", addedItem.DeviceDescriptor.VendorID, addedItem.DeviceDescriptor.ProductID);
+ //////////////////////
+ // TODO:DEVICE ARRIVAL
+ //////////////////////
+
+ EventHandler<DeviceNotifyEventArgs> deviceNotify = OnDeviceNotify;
+ if (!ReferenceEquals(deviceNotify, null))
+ {
+ deviceNotify(this, new LinuxDeviceNotifyEventArgs(addedItem, DeviceType.DeviceInterface, EventType.DeviceArrival));
+ }
+ }
+ }
+ }
+
+ private void StopDevDirectoryMonitor()
+ {
+ if (!ReferenceEquals(mUsbFS, null))
+ {
+ mUsbFS.EnableRaisingEvents = false;
+ mUsbFS.Created -= FileAdded;
+ mUsbFS.Deleted -= FileRemoved;
+ mUsbFS.Dispose();
+ mUsbFS = null;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DeviceListPolling.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DeviceListPolling.cs
new file mode 100644
index 00000000..78173e0b
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.DeviceListPolling.cs
@@ -0,0 +1,99 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Timers;
+using LibUsbDotNet.LudnMonoLibUsb;
+using MonoLibUsb.Profile;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ public partial class LinuxDeviceNotifier
+ {
+ ///<summary>
+ /// The interval (milliseconds) in which the device list is queried for changes when using the <see cref="LinuxDeviceNotifierMode.PollDeviceList"/> mode.
+ ///</summary>
+ public static int PollingInterval = 750;
+
+ private Timer mDeviceListPollTimer;
+ private object PollTimerLock = new object();
+
+ private void StartDeviceListPolling()
+ {
+ lock (PollTimerLock)
+ {
+ if (mDeviceListPollTimer != null) return;
+
+ MonoUsbDevice.RefreshProfileList();
+
+ MonoUsbDevice.ProfileList.AddRemoveEvent += OnAddRemoveEvent;
+ mDeviceListPollTimer = new Timer(PollingInterval);
+ mDeviceListPollTimer.Elapsed += PollTimer_Elapsed;
+ mDeviceListPollTimer.Start();
+ }
+ }
+
+ private void PollTimer_Elapsed(object sender, ElapsedEventArgs e)
+ {
+ lock (PollTimerLock)
+ {
+ mDeviceListPollTimer.Stop();
+ MonoUsbDevice.RefreshProfileList();
+ mDeviceListPollTimer.Start();
+ }
+ }
+
+ private void StopDeviceListPolling()
+ {
+ lock (PollTimerLock)
+ {
+ if (mDeviceListPollTimer == null) return;
+ mDeviceListPollTimer.Stop();
+ mDeviceListPollTimer.Elapsed -= PollTimer_Elapsed;
+ mDeviceListPollTimer.Dispose();
+ MonoUsbDevice.ProfileList.AddRemoveEvent -= OnAddRemoveEvent;
+ mDeviceListPollTimer = null;
+ }
+ }
+
+
+ private void OnAddRemoveEvent(object sender, AddRemoveEventArgs e)
+ {
+ EventHandler<DeviceNotifyEventArgs> deviceNotify = OnDeviceNotify;
+ if (!ReferenceEquals(deviceNotify, null))
+ {
+ string deviceFileName = String.Format("usbdev{0}.{1}", e.MonoUSBProfile.BusNumber, e.MonoUSBProfile.DeviceAddress);
+
+ LinuxDevItem linuxDevItem = new LinuxDevItem(deviceFileName,
+ e.MonoUSBProfile.BusNumber,
+ e.MonoUSBProfile.DeviceAddress,
+ e.MonoUSBProfile.DeviceDescriptor);
+
+ deviceNotify(this,
+ new LinuxDeviceNotifyEventArgs(linuxDevItem,
+ DeviceType.DeviceInterface,
+ e.EventType == AddRemoveType.Added
+ ? EventType.DeviceArrival
+ : EventType.DeviceRemoveComplete));
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.cs
new file mode 100644
index 00000000..9c9b1c18
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifier.cs
@@ -0,0 +1,139 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ ///<summary>
+ /// Creates an instance of the <see cref="LinuxDeviceNotifier"/> class.
+ /// See the <see cref="IDeviceNotifier"/> interface or <see cref="DeviceNotifier.OpenDeviceNotifier"/> method for more information
+ ///</summary>
+ ///<remarks>
+ ///To make your code platform-independent use the <see cref="DeviceNotifier.OpenDeviceNotifier"/> method for creating instances.
+ ///</remarks>
+ public partial class LinuxDeviceNotifier : IDeviceNotifier
+ {
+ private readonly LinuxDevItemList mLinuxDevItemList = new LinuxDevItemList();
+ private readonly LinuxDeviceNotifierMode mMode = LinuxDeviceNotifierMode.None;
+
+ /// <summary>
+ /// Creates a new instance of the LinuxDeviceNotifier using 'devDir' as the root device path. (IE. '/dev').
+ /// </summary>
+ /// <param name="devDir">The directory to monitor; usually '/dev'.</param>
+ public LinuxDeviceNotifier(string devDir)
+ {
+ mDevDir = devDir;
+ try
+ {
+ StartDevDirectoryMonitor();
+ if (mLinuxDevItemList.Count == 0) throw new NotSupportedException("LinuxDeviceNotifier:Dev directory monitor not supported.");
+ mMode = LinuxDeviceNotifierMode.MonitorDevDirectory;
+ return;
+ }
+ catch
+ {
+ StopDevDirectoryMonitor();
+ }
+ mMode = LinuxDeviceNotifierMode.PollDeviceList;
+ StartDeviceListPolling();
+ }
+
+ /// <summary>
+ /// Creates a new instance of the LinuxDeviceNotifier using '/dev' as the root device path.
+ /// </summary>
+ public LinuxDeviceNotifier()
+ : this("/dev") { }
+
+ ///<summary>
+ /// Gets the mode being used to detect notification events.
+ ///</summary>
+ public LinuxDeviceNotifierMode Mode
+ {
+ get { return mMode; }
+ }
+
+ #region IDeviceNotifier Members
+
+ ///<summary>
+ /// Enables/Disables notification events.
+ ///</summary>
+ public bool Enabled
+ {
+ get
+ {
+ switch (mMode)
+ {
+ case LinuxDeviceNotifierMode.PollDeviceList:
+ return mDeviceListPollTimer != null;
+ case LinuxDeviceNotifierMode.MonitorDevDirectory:
+ return mUsbFS != null;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+ set
+ {
+ if (value)
+ Start();
+ else
+ Stop();
+ }
+ }
+
+ /// <summary>
+ /// Main Notify event for all device notifications.
+ /// </summary>
+ public event EventHandler<DeviceNotifyEventArgs> OnDeviceNotify;
+
+ #endregion
+
+ private void Stop()
+ {
+ switch (mMode)
+ {
+ case LinuxDeviceNotifierMode.PollDeviceList:
+ StopDeviceListPolling();
+ break;
+ case LinuxDeviceNotifierMode.MonitorDevDirectory:
+ StopDevDirectoryMonitor();
+ break;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+
+ private void Start()
+ {
+ switch (mMode)
+ {
+ case LinuxDeviceNotifierMode.PollDeviceList:
+ StartDeviceListPolling();
+ break;
+ case LinuxDeviceNotifierMode.MonitorDevDirectory:
+ StartDevDirectoryMonitor();
+ break;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifierMode.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifierMode.cs
new file mode 100644
index 00000000..a7b9ec56
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifierMode.cs
@@ -0,0 +1,44 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.IO;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ ///<summary>
+ /// Modes the linux device notifier can use to detect notification events.
+ ///</summary>
+ public enum LinuxDeviceNotifierMode
+ {
+ /// <summary>
+ /// The device notifier is unavailable on this platform.
+ /// </summary>
+ None,
+ /// <summary>
+ /// The device notifier is polling the device list every 750ms to detect usb add and removal events.
+ /// </summary>
+ PollDeviceList,
+ /// <summary>
+ /// The device notifier is using a <see cref="FileSystemWatcher"/> to monitor the "/dev" directory for file add and delete.
+ /// </summary>
+ MonitorDevDirectory
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifyEventArgs.cs b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifyEventArgs.cs
new file mode 100644
index 00000000..0a3c667d
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxDeviceNotifyEventArgs.cs
@@ -0,0 +1,70 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ /// <summary>
+ /// Describes the device notify event
+ /// </summary>
+ public class LinuxDeviceNotifyEventArgs : DeviceNotifyEventArgs
+ {
+ internal LinuxDeviceNotifyEventArgs(LinuxDevItem linuxDevItem, DeviceType deviceType, EventType eventType)
+ {
+ mEventType = eventType;
+ mDeviceType = deviceType;
+ switch (mDeviceType)
+ {
+ case DeviceType.Volume:
+ throw new NotImplementedException(mDeviceType.ToString());
+ case DeviceType.Port:
+ throw new NotImplementedException(mDeviceType.ToString());
+ case DeviceType.DeviceInterface:
+ mDevice = new LinuxUsbDeviceNotifyInfo(linuxDevItem);
+ mObject = mDevice;
+ break;
+ }
+ }
+
+ //internal LinuxDeviceNotifyEventArgs(DevBroadcastHdr hdr, IntPtr ptrHdr, EventType eventType)
+ //{
+ // mBaseHdr = hdr;
+ // mEventType = eventType;
+ // mDeviceType = mBaseHdr.DeviceType;
+ // switch (mDeviceType)
+ // {
+ // case DeviceType.Volume:
+ // mVolume = new VolumeNotifyInfo(ptrHdr);
+ // mObject = mVolume;
+ // break;
+ // case DeviceType.Port:
+ // mPort = new PortNotifyInfo(ptrHdr);
+ // mObject = mPort;
+ // break;
+ // case DeviceType.DeviceInterface:
+ // mDevice = new UsbDeviceNotifyInfo(ptrHdr);
+ // mObject = mDevice;
+ // break;
+ // }
+ //}
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/Linux/LinuxUsbDeviceNotifyInfo.cs b/LibWinUsb/DeviceNotify/Linux/LinuxUsbDeviceNotifyInfo.cs
new file mode 100644
index 00000000..cbdc17f5
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/Linux/LinuxUsbDeviceNotifyInfo.cs
@@ -0,0 +1,127 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.DeviceNotify.Info;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.DeviceNotify.Linux
+{
+ /// <summary> Describes the USB device that caused the notification.
+ /// see the <see cref="IUsbDeviceNotifyInfo"/> inteface for more information.
+ /// </summary>
+ public class LinuxUsbDeviceNotifyInfo : IUsbDeviceNotifyInfo
+ {
+ private readonly LinuxDevItem mLinuxDevItem;
+
+ internal LinuxUsbDeviceNotifyInfo(LinuxDevItem linuxDevItem) { mLinuxDevItem = linuxDevItem; }
+
+ ///<summary>
+ /// Gets the <see cref="UsbDeviceDescriptor"/> for the device that caused the event.
+ ///</summary>
+ public UsbDeviceDescriptor DeviceDescriptor
+ {
+ get { return mLinuxDevItem.DeviceDescriptor; }
+ }
+
+ /// <summary>
+ /// Gets the bus number the device is connected to.
+ /// </summary>
+ public byte BusNumber
+ {
+ get { return mLinuxDevItem.BusNumber; }
+ }
+
+ /// <summary>
+ /// Get the device instance address.
+ /// </summary>
+ public byte DeviceAddress
+ {
+ get { return mLinuxDevItem.DeviceAddress; }
+ }
+
+ #region IUsbDeviceNotifyInfo Members
+
+ /// <summary>
+ /// Not supported. Always returns null.
+ /// </summary>
+ public UsbSymbolicName SymbolicName
+ {
+ get { return null; }
+ }
+
+ /// <summary>
+ /// Gets the name of the USB device file descriptor that caused the notification.
+ /// </summary>
+ public string Name
+ {
+ get { return mLinuxDevItem.DeviceFileName; }
+ }
+
+ /// <summary>
+ /// Not supported. Always returs Guid.Empty.
+ /// </summary>
+ public Guid ClassGuid
+ {
+ get { return Guid.Empty; }
+ }
+
+ /// <summary>
+ /// Parses and returns the VID from the <see cref="IUsbDeviceNotifyInfo.Name"/> property.
+ /// </summary>
+ public int IdVendor
+ {
+ get { return (int)((ushort)mLinuxDevItem.DeviceDescriptor.VendorID); }
+ }
+
+ /// <summary>
+ /// Parses and returns the PID from the <see cref="IUsbDeviceNotifyInfo.Name"/> property.
+ /// </summary>
+ public int IdProduct
+ {
+ get { return (int)((ushort)mLinuxDevItem.DeviceDescriptor.ProductID); }
+ }
+
+ /// <summary>
+ /// Not supported. Always returns String.Empty.
+ /// </summary>
+ public string SerialNumber
+ {
+ get { return string.Empty; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbDeviceNotifyInfo"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ object[] values = new object[] {Name, BusNumber, DeviceAddress, DeviceDescriptor.ToString()};
+ return string.Format("Name:{0} BusNumber:{1} DeviceAddress:{2}\n{3}", values);
+ }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/WindowsDeviceNotifier.cs b/LibWinUsb/DeviceNotify/WindowsDeviceNotifier.cs
new file mode 100644
index 00000000..275f0c2a
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/WindowsDeviceNotifier.cs
@@ -0,0 +1,146 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using System.Windows.Forms;
+using LibUsbDotNet.DeviceNotify.Internal;
+
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Notifies an application of a change to the hardware Configuration of a device or
+ /// the computer. See <see cref="IDeviceNotifier"/> or <see cref="DeviceNotifier.OpenDeviceNotifier"/> interface for more information
+ /// </summary>
+ /// <remarks>
+ /// This is the windows implementation of the device notifier.
+ /// </remarks>
+ public class WindowsDeviceNotifier : IDeviceNotifier
+ {
+ private readonly DevBroadcastDeviceinterface mDevInterface = new DevBroadcastDeviceinterface(new Guid("A5DCBF10-6530-11D2-901F-00C04FB951ED"));
+
+ private SafeNotifyHandle mDevInterfaceHandle;
+ private bool mEnabled = true;
+ private DevNotifyNativeWindow mNotifyWindow;
+
+ ///<summary>
+ /// Creates an instance of the <see cref="WindowsDeviceNotifier"/> class.
+ /// See the <see cref="IDeviceNotifier"/> interface or <see cref="DeviceNotifier.OpenDeviceNotifier"/> method for more information
+ ///</summary>
+ ///<remarks>
+ ///To make your code platform-independent use the <see cref="DeviceNotifier.OpenDeviceNotifier"/> method for creating instances.
+ ///</remarks>
+ public WindowsDeviceNotifier() { mNotifyWindow = new DevNotifyNativeWindow(OnHandleChange, OnDeviceChange); }
+
+ #region IDeviceNotifier Members
+
+ ///<summary>
+ /// Enables/Disables notification events.
+ ///</summary>
+ public bool Enabled
+ {
+ get { return mEnabled; }
+ set { mEnabled = value; }
+ }
+
+
+ /// <summary>
+ /// Main Notify event for all device notifications.
+ /// </summary>
+ public event EventHandler<DeviceNotifyEventArgs> OnDeviceNotify;
+
+ #endregion
+
+ [DllImport("user32.dll", SetLastError = true, EntryPoint = "RegisterDeviceNotificationA", CharSet = CharSet.Ansi)]
+ private static extern SafeNotifyHandle RegisterDeviceNotification(IntPtr hRecipient,
+ [MarshalAs(UnmanagedType.AsAny), In] object notificationFilter,
+ int flags);
+
+ [DllImport("user32.dll", SetLastError = true)]
+ internal static extern bool UnregisterDeviceNotification(IntPtr handle);
+
+ ///<summary>
+ ///Releases the resources associated with this window.
+ ///</summary>
+ ///
+ ~WindowsDeviceNotifier()
+ {
+ if (mNotifyWindow != null) mNotifyWindow.DestroyHandle();
+ mNotifyWindow = null;
+
+ if (mDevInterfaceHandle != null) mDevInterfaceHandle.Dispose();
+ mDevInterfaceHandle = null;
+ }
+
+ internal bool RegisterDeviceInterface(IntPtr windowHandle)
+ {
+ if (mDevInterfaceHandle != null)
+ {
+ mDevInterfaceHandle.Dispose();
+ mDevInterfaceHandle = null;
+ }
+ if (windowHandle != IntPtr.Zero)
+ {
+ mDevInterfaceHandle = RegisterDeviceNotification(windowHandle, mDevInterface, 0);
+ if (mDevInterfaceHandle != null && !mDevInterfaceHandle.IsInvalid)
+ return true;
+ return false;
+ }
+ return false;
+ }
+
+
+ private void OnDeviceChange(ref Message m)
+ {
+ if (!mEnabled) return;
+ if (m.LParam.ToInt32() != 0)
+ {
+ EventHandler<DeviceNotifyEventArgs> temp = OnDeviceNotify;
+ if (!ReferenceEquals(temp, null))
+ {
+ DeviceNotifyEventArgs args;
+ DevBroadcastHdr hdr = new DevBroadcastHdr();
+ Marshal.PtrToStructure(m.LParam, hdr);
+ switch (hdr.DeviceType)
+ {
+ case DeviceType.Port:
+ case DeviceType.Volume:
+ case DeviceType.DeviceInterface:
+ args = new WindowsDeviceNotifyEventArgs(hdr, m.LParam, (EventType) m.WParam.ToInt32());
+ break;
+ default:
+ args = null;
+ break;
+ }
+
+ if (!ReferenceEquals(args, null)) temp(this, args);
+ }
+ }
+ }
+
+ private void OnHandleChange(IntPtr newWindowHandle)
+ {
+ bool bSuccess = RegisterDeviceInterface(newWindowHandle);
+ Debug.Print("RegisterDeviceInterface:" + bSuccess);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/DeviceNotify/WindowsDeviceNotifyEventArgs.cs b/LibWinUsb/DeviceNotify/WindowsDeviceNotifyEventArgs.cs
new file mode 100644
index 00000000..b68246e9
--- /dev/null
+++ b/LibWinUsb/DeviceNotify/WindowsDeviceNotifyEventArgs.cs
@@ -0,0 +1,57 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.DeviceNotify.Info;
+using LibUsbDotNet.DeviceNotify.Internal;
+
+namespace LibUsbDotNet.DeviceNotify
+{
+ /// <summary>
+ /// Describes the device notify event
+ /// </summary>
+ public class WindowsDeviceNotifyEventArgs : DeviceNotifyEventArgs
+ {
+ private readonly DevBroadcastHdr mBaseHdr;
+
+ internal WindowsDeviceNotifyEventArgs(DevBroadcastHdr hdr, IntPtr ptrHdr, EventType eventType)
+ {
+ mBaseHdr = hdr;
+ mEventType = eventType;
+ mDeviceType = mBaseHdr.DeviceType;
+ switch (mDeviceType)
+ {
+ case DeviceType.Volume:
+ mVolume = new VolumeNotifyInfo(ptrHdr);
+ mObject = mVolume;
+ break;
+ case DeviceType.Port:
+ mPort = new PortNotifyInfo(ptrHdr);
+ mObject = mPort;
+ break;
+ case DeviceType.DeviceInterface:
+ mDevice = new UsbDeviceNotifyInfo(ptrHdr);
+ mObject = mDevice;
+ break;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/IUsbDevice.cs b/LibWinUsb/IUsbDevice.cs
new file mode 100644
index 00000000..d3339701
--- /dev/null
+++ b/LibWinUsb/IUsbDevice.cs
@@ -0,0 +1,100 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using LibUsbDotNet.LudnMonoLibUsb;
+using LibUsbDotNet.WinUsb;
+
+namespace LibUsbDotNet
+{
+ /// <summary>
+ /// The <see cref="IUsbDevice"/> interface contains members needed to configure a USB device for use.
+ /// </summary>
+ /// <remarks>
+ /// Only "whole" usb devices have a <see cref="IUsbDevice"/> interface such as a
+ /// <see cref="LibUsb.LibUsbDevice"/> or a <see cref="MonoUsbDevice"/>. This indicates
+ /// the USB device must be properly configured by the user before it can be used.
+ /// Partial or interfaces of devices such as a <see cref="WinUsbDevice"/> do not have an <see cref="IUsbDevice"/>
+ /// interface. This indicates that the driver is handling device configuration.
+ /// </remarks>
+ /// <example>
+ /// This example uses the <see cref="IUsbDevice"/> interface to select the desired configuration and interface
+ /// for usb devices that require it.
+ /// <code source="..\Examples\Read.Write\ReadWrite.cs" lang="cs"/>
+ /// </example>
+ public interface IUsbDevice : IUsbInterface
+ {
+ /// <summary>
+ /// Sets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ /// <remarks>
+ /// A USB device can have several different configurations, but only one active configuration.
+ /// </remarks>
+ bool SetConfiguration(byte config);
+
+ /// <summary>
+ /// Gets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ bool GetConfiguration(out byte config);
+
+ /// <summary>
+ /// Sets an alternate interface for the most recent claimed interface.
+ /// </summary>
+ /// <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="MonoUsbDevice.ClaimInterface"/>.</param>
+ /// <returns>True on success.</returns>
+ bool SetAltInterface(int alternateID);
+
+ /// <summary>
+ /// Gets the selected alternate interface of the specified interface.
+ /// </summary>
+ /// <param name="interfaceID">The interface settings number (index) to retrieve the selected alternate interface setting for.</param>
+ /// <param name="selectedAltInterfaceID">The alternate interface setting selected for use with the specified interface.</param>
+ /// <returns>True on success.</returns>
+ bool GetAltInterfaceSetting(byte interfaceID, out byte selectedAltInterfaceID);
+
+ /// <summary>
+ /// Claims the specified interface of the device.
+ /// </summary>
+ /// <param name="interfaceID">The interface to claim.</param>
+ /// <returns>True on success.</returns>
+ bool ClaimInterface(int interfaceID);
+
+ /// <summary>
+ /// Releases an interface that was previously claimed with <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <param name="interfaceID">The interface to release.</param>
+ /// <returns>True on success.</returns>
+ bool ReleaseInterface(int interfaceID);
+
+ /// <summary>
+ /// Sends a usb device reset command.
+ /// </summary>
+ /// <remarks>
+ /// After calling <see cref="ResetDevice"/>, the <see cref="UsbDevice"/> instance is disposed and
+ /// no longer usable. A new <see cref="UsbDevice"/> instance must be obtained from the device list.
+ /// </remarks>
+ /// <returns>True on success.</returns>
+ bool ResetDevice();
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/IUsbInterface.cs b/LibWinUsb/IUsbInterface.cs
new file mode 100644
index 00000000..a023f70f
--- /dev/null
+++ b/LibWinUsb/IUsbInterface.cs
@@ -0,0 +1,187 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.ObjectModel;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Info;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet
+{
+ /// <summary>
+ /// The <see cref="IUsbInterface"/> interface contains members needed communicate with an
+ /// interface of a usb device.
+ /// </summary>
+ /// <remarks>
+ /// All USB device classes implement these members.
+ /// </remarks>
+ public interface IUsbInterface
+ {
+ /// <summary>
+ /// A list of endpoints that have beened opened by this <see cref="UsbDevice"/> class.
+ /// </summary>
+ UsbEndpointList ActiveEndpoints { get; }
+
+ ///<summary>
+ /// Gets the available configurations for this <see cref="UsbDevice"/>
+ ///</summary>
+ /// <remarks>
+ /// The first time this property is accessed it will query the <see cref="UsbDevice"/> for all configurations. Subsequent request will return a cached copy of all configurations.
+ /// </remarks>
+ ReadOnlyCollection<UsbConfigInfo> Configs { get; }
+
+ /// <summary>
+ /// Returns the DriverMode this USB device is using.
+ /// </summary>
+ UsbDevice.DriverModeType DriverMode { get; }
+
+ /// <summary>
+ /// Gets the actual device descriptor the the current <see cref="UsbDevice"/>.
+ /// </summary>
+ UsbDeviceInfo Info { get; }
+
+ /// <summary>
+ /// Gets a value indication if the device handle is valid.
+ /// </summary>
+ bool IsOpen { get; }
+
+ /// <summary>
+ /// Gets the <see cref="UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="UsbRegistry"/> class.
+ /// </summary>
+ UsbRegistry UsbRegistryInfo { get; }
+
+ /// <summary>
+ /// Closes and frees device resources. Once closed the device cannot be reopened. A new <see cref="UsbDevice"/> class must be obtained using the <see cref="UsbGlobals"/> class.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ bool Close();
+
+ /// <summary>
+ /// Sends/Receives an IO control message to endpoint 0.
+ /// </summary>
+ /// <param name="setupPacket">Contains parameters for the control request. See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
+ /// <param name="buffer">Data to be sent/received from the device.</param>
+ /// <param name="bufferLength">Length of the buffer param.</param>
+ /// <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
+ /// <returns>True on success.</returns>
+ bool ControlTransfer(ref UsbSetupPacket setupPacket, IntPtr buffer, int bufferLength, out int lengthTransferred);
+
+ /// <summary>
+ /// Transmits io control message to endpoint 0.
+ /// </summary>
+ /// <param name="setupPacket">Contains parameters for the control request. See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
+ /// <param name="buffer">Data to be sent/received from the device. Th</param>
+ /// <param name="bufferLength">Length of the buffer param.</param>
+ /// <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
+ /// <returns>True on success.</returns>
+ bool ControlTransfer(ref UsbSetupPacket setupPacket, object buffer, int bufferLength, out int lengthTransferred);
+
+ /// <summary>
+ /// Gets a specific descriptor from the device. See <see cref="DescriptorType"/> for more information.
+ /// </summary>
+ /// <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="DescriptorType"/> enumerations.</param>
+ /// <param name="index">Descriptor index.</param>
+ /// <param name="langId">Descriptor language id.</param>
+ /// <param name="buffer">Memory to store the returned descriptor in.</param>
+ /// <param name="bufferLength">Length of the buffer parameter in bytes.</param>
+ /// <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
+ /// <returns>True on success.</returns>
+ bool GetDescriptor(byte descriptorType, byte index, short langId, IntPtr buffer, int bufferLength, out int transferLength);
+
+ /// <summary>
+ /// Gets a specific descriptor from the device. See <see cref="DescriptorType"/> for more information.
+ /// </summary>
+ /// <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="DescriptorType"/> enumerations.</param>
+ /// <param name="index">Descriptor index.</param>
+ /// <param name="langId">Descriptor language id.</param>
+ /// <param name="buffer">Memory to store the returned descriptor in.</param>
+ /// <param name="bufferLength">Length of the buffer parameter in bytes.</param>
+ /// <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
+ /// <returns>True on success.</returns>
+ bool GetDescriptor(byte descriptorType, byte index, short langId, object buffer, int bufferLength, out int transferLength);
+
+ /// <summary>
+ /// Asking for the zero'th index is special - it returns a string
+ /// descriptor that contains all the language IDs supported by the
+ /// device. Typically there aren't many - often only one. The
+ /// language IDs are 16 bit numbers, and they start at the third byte
+ /// in the descriptor. See USB 2.0 specification, section 9.6.7, for
+ /// more information on this.
+ /// </summary>
+ /// <returns>A collection of LCIDs that the current <see cref="UsbDevice"/> supports.</returns>
+ bool GetLangIDs(out short[] langIDs);
+
+ /// <summary>
+ /// Gets a string descriptor from the device.
+ /// </summary>
+ /// <param name="stringData">Buffer to store the returned string in upon success.</param>
+ /// <param name="langId">The language ID to retrieve the string in. (0x409 for english).</param>
+ /// <param name="stringIndex">The string index to retrieve.</param>
+ /// <returns>True on success.</returns>
+ bool GetString(out string stringData, short langId, byte stringIndex);
+
+ ///<summary>
+ /// Opens/re-opens this USB device instance for communication.
+ ///</summary>
+ ///<returns>True if the device is already opened or was opened successfully. False if the device does not exists or is no longer valid.</returns>
+ bool Open();
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <param name="readBufferSize">Size of the read buffer allocated for the <see cref="UsbEndpointReader.DataReceived"/> event.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID, int readBufferSize);
+
+ /// <summary>
+ /// Opens an endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <param name="readBufferSize">Size of the read buffer allocated for the <see cref="UsbEndpointReader.DataReceived"/> event.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID, int readBufferSize, EndpointType endpointType);
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID);
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for writing
+ /// </summary>
+ /// <param name="writeEndpointID">Endpoint number for read operations.</param>
+ /// <returns>A <see cref="UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="UsbEndpointWriter"/> class is returned.</returns>
+ UsbEndpointWriter OpenEndpointWriter(WriteEndpointID writeEndpointID);
+
+ /// <summary>
+ /// Opens an endpoint for writing
+ /// </summary>
+ /// <param name="writeEndpointID">Endpoint number for read operations.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="UsbEndpointWriter"/> class is returned.</returns>
+ UsbEndpointWriter OpenEndpointWriter(WriteEndpointID writeEndpointID, EndpointType endpointType);
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Info/UsbBaseInfo.cs b/LibWinUsb/Info/UsbBaseInfo.cs
new file mode 100644
index 00000000..9cd13fdd
--- /dev/null
+++ b/LibWinUsb/Info/UsbBaseInfo.cs
@@ -0,0 +1,44 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+
+namespace LibUsbDotNet.Info
+{
+ /// <summary> Base class for all Usb descriptors.
+ /// <see cref="LibUsbDotNet.Info.UsbConfigInfo"/>, <see cref="T:LibUsbDotNet.Info.UsbEndpointInfo"/>, <see cref="T:LibUsbDotNet.Info.UsbInterfaceInfo"/></summary>
+ /// <remarks><p>LibUsbDotNet supports and parses all the basic usb descriptors.</p><p>
+ /// Unknown descriptors such as driver specific class descriptors are stored as byte arrays and are accessible from the <see cref="P:LibUsbDotNet.Info.UsbBaseInfo.CustomDescriptors"/> property.
+ /// </p></remarks>
+ public abstract class UsbBaseInfo
+ {
+ internal List<byte[]> mRawDescriptors = new List<byte[]>();
+
+ /// <summary>
+ /// Gets the device-specific custom descriptor lists.
+ /// </summary>
+ public ReadOnlyCollection<byte[]> CustomDescriptors
+ {
+ get { return mRawDescriptors.AsReadOnly(); }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Info/UsbConfigInfo.cs b/LibWinUsb/Info/UsbConfigInfo.cs
new file mode 100644
index 00000000..5e1aff63
--- /dev/null
+++ b/LibWinUsb/Info/UsbConfigInfo.cs
@@ -0,0 +1,158 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.LudnMonoLibUsb;
+using MonoLibUsb.Descriptors;
+
+namespace LibUsbDotNet.Info
+{
+ /// <summary> Contains all Configuration information for the current <see cref="T:LibUsbDotNet.UsbDevice"/>.
+ /// </summary>
+ public class UsbConfigInfo : UsbBaseInfo
+ {
+ private readonly List<UsbInterfaceInfo> mInterfaceList = new List<UsbInterfaceInfo>();
+ internal readonly UsbConfigDescriptor mUsbConfigDescriptor;
+ private String mConfigString;
+ internal UsbDevice mUsbDevice;
+
+ internal UsbConfigInfo(UsbDevice usbDevice, UsbConfigDescriptor descriptor, ref List<byte[]> rawDescriptors)
+ {
+ mUsbDevice = usbDevice;
+ mUsbConfigDescriptor = descriptor;
+ mRawDescriptors = rawDescriptors;
+
+ UsbInterfaceInfo currentInterface = null;
+ for (int iRawDescriptor = 0; iRawDescriptor < rawDescriptors.Count; iRawDescriptor++)
+ {
+ byte[] bytesRawDescriptor = rawDescriptors[iRawDescriptor];
+
+ switch (bytesRawDescriptor[1])
+ {
+ case (byte) DescriptorType.Interface:
+ currentInterface = new UsbInterfaceInfo(usbDevice, bytesRawDescriptor);
+ mRawDescriptors.RemoveAt(iRawDescriptor);
+ mInterfaceList.Add(currentInterface);
+ iRawDescriptor--;
+ break;
+ case (byte) DescriptorType.Endpoint:
+ if (currentInterface == null)
+ throw new UsbException(this, "Recieved and endpoint descriptor before receiving an interface descriptor.");
+
+ currentInterface.mEndpointInfo.Add(new UsbEndpointInfo(bytesRawDescriptor));
+ mRawDescriptors.RemoveAt(iRawDescriptor);
+ iRawDescriptor--;
+ break;
+ default:
+ if (currentInterface != null)
+ {
+ currentInterface.mRawDescriptors.Add(bytesRawDescriptor);
+ mRawDescriptors.RemoveAt(iRawDescriptor);
+ iRawDescriptor--;
+ }
+ break;
+ }
+ }
+ }
+
+ internal UsbConfigInfo(MonoUsbDevice usbDevice, MonoUsbConfigDescriptor configDescriptor)
+ {
+ mUsbDevice = usbDevice;
+
+ mUsbConfigDescriptor = new UsbConfigDescriptor(configDescriptor);
+
+ List<MonoUsbInterface> monoUSBInterfaces = configDescriptor.InterfaceList;
+ foreach (MonoUsbInterface usbInterface in monoUSBInterfaces)
+ {
+ List<MonoUsbAltInterfaceDescriptor> monoUSBAltInterfaces = usbInterface.AltInterfaceList;
+ foreach (MonoUsbAltInterfaceDescriptor monoUSBAltInterface in monoUSBAltInterfaces)
+ {
+ UsbInterfaceInfo usbInterfaceInfo = new UsbInterfaceInfo(mUsbDevice, monoUSBAltInterface);
+ mInterfaceList.Add(usbInterfaceInfo);
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets the actual <see cref="UsbConfigDescriptor"/> for the current config.
+ /// </summary>
+ public UsbConfigDescriptor Descriptor
+ {
+ get { return mUsbConfigDescriptor; }
+ }
+
+ /// <summary>
+ /// Gets the string representation of the <see cref="UsbConfigDescriptor.StringIndex"/> string index.
+ /// </summary>
+ public String ConfigString
+ {
+ get
+ {
+ if (ReferenceEquals(mConfigString, null))
+ {
+ mConfigString = String.Empty;
+ if (Descriptor.StringIndex > 0)
+ {
+ mUsbDevice.GetString(out mConfigString, mUsbDevice.Info.CurrentCultureLangID, Descriptor.StringIndex);
+ }
+ }
+ return mConfigString;
+ }
+ }
+
+ /// <summary>
+ /// Gets the collection of USB device interfaces associated with this <see cref="UsbConfigInfo"/> instance.
+ /// </summary>
+ public ReadOnlyCollection<UsbInterfaceInfo> InterfaceInfoList
+ {
+ get { return mInterfaceList.AsReadOnly(); }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbConfigInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbConfigInfo"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", UsbDescriptor.ToStringParamValueSeperator, UsbDescriptor.ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbConfigInfo"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbConfigInfo"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {ConfigString};
+ string[] names = {"ConfigString"};
+ return Descriptor.ToString(prefixSeperator, entitySperator, suffixSeperator) +
+ Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Info/UsbDeviceInfo.cs b/LibWinUsb/Info/UsbDeviceInfo.cs
new file mode 100644
index 00000000..173b5ef7
--- /dev/null
+++ b/LibWinUsb/Info/UsbDeviceInfo.cs
@@ -0,0 +1,215 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+namespace LibUsbDotNet.Info
+{
+ /// <summary> Contains USB device descriptor information.
+ /// </summary>
+ public class UsbDeviceInfo
+ {
+ private const short NO_LANG = short.MaxValue;
+ private readonly UsbDeviceDescriptor mDeviceDescriptor;
+ private short mCurrentCultureLangID = NO_LANG;
+ private String mManufacturerString;
+ private String mProductString;
+ private String mSerialString;
+ internal UsbDevice mUsbDevice;
+
+ internal UsbDeviceInfo(UsbDevice usbDevice)
+ {
+ mUsbDevice = usbDevice;
+ GetDeviceDescriptor(mUsbDevice, out mDeviceDescriptor);
+ }
+
+ internal UsbDeviceInfo(UsbDevice usbDevice, MonoUsbDeviceDescriptor usbDeviceDescriptor)
+ {
+ mUsbDevice = usbDevice;
+
+ mDeviceDescriptor = new UsbDeviceDescriptor();
+ mDeviceDescriptor.BcdDevice = usbDeviceDescriptor.BcdDevice;
+ mDeviceDescriptor.BcdUsb = usbDeviceDescriptor.BcdUsb;
+ mDeviceDescriptor.Class = usbDeviceDescriptor.Class;
+ mDeviceDescriptor.ConfigurationCount = usbDeviceDescriptor.ConfigurationCount;
+ mDeviceDescriptor.DescriptorType = usbDeviceDescriptor.DescriptorType;
+ mDeviceDescriptor.Length = usbDeviceDescriptor.Length;
+ mDeviceDescriptor.ManufacturerStringIndex = usbDeviceDescriptor.ManufacturerStringIndex;
+ mDeviceDescriptor.MaxPacketSize0 = usbDeviceDescriptor.MaxPacketSize0;
+ mDeviceDescriptor.ProductID = usbDeviceDescriptor.ProductID;
+ mDeviceDescriptor.ProductStringIndex = usbDeviceDescriptor.ProductStringIndex;
+ mDeviceDescriptor.Protocol = usbDeviceDescriptor.Protocol;
+ mDeviceDescriptor.SerialStringIndex = usbDeviceDescriptor.SerialStringIndex;
+ mDeviceDescriptor.SubClass = usbDeviceDescriptor.SubClass;
+ mDeviceDescriptor.VendorID = usbDeviceDescriptor.VendorID;
+ }
+
+ /// <summary>
+ /// The raw <see cref="UsbDeviceDescriptor"/> for the current <see cref="UsbDevice"/>.
+ /// </summary>
+ public UsbDeviceDescriptor Descriptor
+ {
+ get { return mDeviceDescriptor; }
+ }
+
+ /// <summary>
+ /// Request all available languages from the USB device (string index 0) and return the most appropriate LCID given the current operating systems locale settings. See System.Globalization.CultureInfo.CurrentCulture.LCID.
+ /// </summary>
+ /// <remarks>
+ /// Once the USB devices CurrentCultureLangID has been retreived, subsequent request will return a cached copy of the LCID.
+ /// </remarks>
+ public short CurrentCultureLangID
+ {
+ get
+ {
+ if (mCurrentCultureLangID == NO_LANG)
+ {
+ short currentCultureLangID = (short) CultureInfo.CurrentCulture.LCID;
+ short[] deviceLangIDs;
+ if (mUsbDevice.GetLangIDs(out deviceLangIDs))
+ {
+ foreach (short deviceLangID in deviceLangIDs)
+ {
+ if (deviceLangID == currentCultureLangID)
+ {
+ mCurrentCultureLangID = deviceLangID;
+ return mCurrentCultureLangID;
+ }
+ }
+ }
+ mCurrentCultureLangID = deviceLangIDs.Length > 0 ? deviceLangIDs[0] : (short) 0;
+ }
+ return mCurrentCultureLangID;
+ }
+ }
+
+ /// <summary>
+ /// Gets the string representation of the <see cref="UsbDeviceDescriptor.ManufacturerStringIndex"/> string index.
+ /// </summary>
+ public String ManufacturerString
+ {
+ get
+ {
+ if (ReferenceEquals(mManufacturerString, null))
+ {
+ mManufacturerString = String.Empty;
+ if (Descriptor.ManufacturerStringIndex > 0)
+ {
+ mUsbDevice.GetString(out mManufacturerString, CurrentCultureLangID, Descriptor.ManufacturerStringIndex);
+ }
+ }
+ return mManufacturerString;
+ }
+ }
+
+ /// <summary>
+ /// Gets the string representation of the <see cref="UsbDeviceDescriptor.ProductStringIndex"/> string index.
+ /// </summary>
+ public String ProductString
+ {
+ get
+ {
+ if (ReferenceEquals(mProductString, null))
+ {
+ mProductString = String.Empty;
+ if (Descriptor.ProductStringIndex > 0)
+ {
+ mUsbDevice.GetString(out mProductString, CurrentCultureLangID, Descriptor.ProductStringIndex);
+ }
+ }
+ return mProductString;
+ }
+ }
+
+ /// <summary>
+ /// Gets the string representation of the <see cref="UsbDeviceDescriptor.SerialStringIndex"/> string index.
+ /// </summary>
+ public String SerialString
+ {
+ get
+ {
+ if (ReferenceEquals(mSerialString, null))
+ {
+ mSerialString = String.Empty;
+ if (Descriptor.SerialStringIndex > 0)
+ {
+ mUsbDevice.GetString(out mSerialString, 0x0409, Descriptor.SerialStringIndex);
+ }
+ }
+ return mSerialString;
+ }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", UsbDescriptor.ToStringParamValueSeperator, UsbDescriptor.ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbInterfaceInfo"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ string[] names = {"ManufacturerString", "ProductString", "SerialString"};
+ Object[] values = {ManufacturerString, ProductString, SerialString};
+ return Descriptor.ToString(prefixSeperator, entitySperator, suffixSeperator) +
+ Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+
+ internal static bool GetDeviceDescriptor(UsbDevice usbDevice, out UsbDeviceDescriptor deviceDescriptor)
+ {
+ if (usbDevice.mCachedDeviceDescriptor!=null)
+ {
+ deviceDescriptor = usbDevice.mCachedDeviceDescriptor;
+ return true;
+ }
+ deviceDescriptor = new UsbDeviceDescriptor();
+
+ GCHandle gcDeviceDescriptor = GCHandle.Alloc(deviceDescriptor, GCHandleType.Pinned);
+ int ret;
+ bool bSuccess = usbDevice.GetDescriptor((byte) DescriptorType.Device,
+ 0,
+ 0,
+ gcDeviceDescriptor.AddrOfPinnedObject(),
+ UsbDeviceDescriptor.Size,
+ out ret);
+ gcDeviceDescriptor.Free();
+
+ if (bSuccess) return true;
+
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Info/UsbEndpointInfo.cs b/LibWinUsb/Info/UsbEndpointInfo.cs
new file mode 100644
index 00000000..30cc19f4
--- /dev/null
+++ b/LibWinUsb/Info/UsbEndpointInfo.cs
@@ -0,0 +1,70 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+namespace LibUsbDotNet.Info
+{
+ /// <summary> Contains Endpoint information for the current <see cref="T:LibUsbDotNet.Info.UsbConfigInfo"/>.
+ /// </summary>
+ public class UsbEndpointInfo : UsbBaseInfo
+ {
+ internal UsbEndpointDescriptor mUsbEndpointDescriptor;
+
+ internal UsbEndpointInfo(byte[] descriptor)
+ {
+ mUsbEndpointDescriptor = new UsbEndpointDescriptor();
+ Helper.BytesToObject(descriptor, 0, Math.Min(UsbEndpointDescriptor.Size, descriptor[0]), mUsbEndpointDescriptor);
+ }
+
+ internal UsbEndpointInfo(MonoUsbEndpointDescriptor monoUsbEndpointDescriptor) { mUsbEndpointDescriptor = new UsbEndpointDescriptor(monoUsbEndpointDescriptor); }
+
+ /// <summary>
+ /// Gets the <see cref="UsbEndpointDescriptor"/> information.
+ /// </summary>
+ public UsbEndpointDescriptor Descriptor
+ {
+ get { return mUsbEndpointDescriptor; }
+ }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbEndpointInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbEndpointInfo"/>.
+ ///</returns>
+ public override string ToString() { return Descriptor.ToString(); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbEndpointInfo"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbEndpointInfo"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator) { return Descriptor.ToString(prefixSeperator, entitySperator, suffixSeperator); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Info/UsbInterfaceInfo.cs b/LibWinUsb/Info/UsbInterfaceInfo.cs
new file mode 100644
index 00000000..1791efad
--- /dev/null
+++ b/LibWinUsb/Info/UsbInterfaceInfo.cs
@@ -0,0 +1,120 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+namespace LibUsbDotNet.Info
+{
+ /// <summary> Describes a USB device interface.
+ /// </summary>
+ public class UsbInterfaceInfo : UsbBaseInfo
+ {
+ internal readonly UsbInterfaceDescriptor mUsbInterfaceDescriptor;
+ internal List<UsbEndpointInfo> mEndpointInfo = new List<UsbEndpointInfo>();
+ private String mInterfaceString;
+ internal UsbDevice mUsbDevice;
+
+ internal UsbInterfaceInfo(UsbDevice usbDevice, byte[] descriptor)
+ {
+ mUsbDevice = usbDevice;
+ mUsbInterfaceDescriptor = new UsbInterfaceDescriptor();
+ Helper.BytesToObject(descriptor, 0, Math.Min(UsbInterfaceDescriptor.Size, descriptor[0]), mUsbInterfaceDescriptor);
+ }
+
+ internal UsbInterfaceInfo(UsbDevice usbDevice, MonoUsbAltInterfaceDescriptor monoUSBAltInterfaceDescriptor)
+ {
+ mUsbDevice = usbDevice;
+
+ mUsbInterfaceDescriptor = new UsbInterfaceDescriptor(monoUSBAltInterfaceDescriptor);
+ List<MonoUsbEndpointDescriptor> monoUsbEndpoints = monoUSBAltInterfaceDescriptor.EndpointList;
+ foreach (MonoUsbEndpointDescriptor monoUSBEndpoint in monoUsbEndpoints)
+ {
+ mEndpointInfo.Add(new UsbEndpointInfo(monoUSBEndpoint));
+ }
+ }
+
+ /// <summary>
+ /// Gets the actual interface descriptor.
+ /// </summary>
+ public UsbInterfaceDescriptor Descriptor
+ {
+ get { return mUsbInterfaceDescriptor; }
+ }
+
+ /// <summary>
+ /// Gets the collection of endpoint descriptors associated with this interface.
+ /// </summary>
+ public ReadOnlyCollection<UsbEndpointInfo> EndpointInfoList
+ {
+ get { return mEndpointInfo.AsReadOnly(); }
+ }
+
+ /// <summary>
+ /// Gets the string representation of the <see cref="UsbInterfaceDescriptor.StringIndex"/> string index.
+ /// </summary>
+ public String InterfaceString
+ {
+ get
+ {
+ if (ReferenceEquals(mInterfaceString, null))
+ {
+ mInterfaceString = String.Empty;
+ if (Descriptor.StringIndex > 0)
+ {
+ mUsbDevice.GetString(out mInterfaceString, mUsbDevice.Info.CurrentCultureLangID, Descriptor.StringIndex);
+ }
+ }
+ return mInterfaceString;
+ }
+ }
+
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</returns>
+ public override string ToString() { return ToString("", UsbDescriptor.ToStringParamValueSeperator, UsbDescriptor.ToStringFieldSeperator); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbInterfaceInfo"/>.
+ ///</summary>
+ ///
+ ///<param name="prefixSeperator">The field prefix string.</param>
+ ///<param name="entitySperator">The field/value seperator string.</param>
+ ///<param name="suffixSeperator">The value suffix string.</param>
+ ///<returns>A formatted representation of the <see cref="UsbInterfaceInfo"/>.</returns>
+ public string ToString(string prefixSeperator, string entitySperator, string suffixSeperator)
+ {
+ Object[] values = {InterfaceString};
+ string[] names = {"InterfaceString"};
+ return Descriptor.ToString(prefixSeperator, entitySperator, suffixSeperator) +
+ Helper.ToString(prefixSeperator, names, entitySperator, values, suffixSeperator);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/Kernel32.cs b/LibWinUsb/Internal/Kernel32.cs
new file mode 100644
index 00000000..10ef2965
--- /dev/null
+++ b/LibWinUsb/Internal/Kernel32.cs
@@ -0,0 +1,197 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.Security;
+using System.Text;
+using Microsoft.Win32.SafeHandles;
+
+// ReSharper disable InconsistentNaming
+
+namespace LibUsbDotNet.Internal
+{
+ [SuppressUnmanagedCodeSecurity]
+ internal static class Kernel32
+ {
+ private const int FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000;
+ private static readonly StringBuilder m_sbSysMsg = new StringBuilder(1024);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
+ public static extern SafeFileHandle CreateFile(string fileName,
+ [MarshalAs(UnmanagedType.U4)] NativeFileAccess fileAccess,
+ [MarshalAs(UnmanagedType.U4)] NativeFileShare fileShare,
+ IntPtr securityAttributes,
+ [MarshalAs(UnmanagedType.U4)] NativeFileMode creationDisposition,
+ NativeFileFlag flags,
+ IntPtr template);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
+ private static extern int FormatMessage(int dwFlags,
+ IntPtr lpSource,
+ int dwMessageId,
+ int dwLanguageId,
+ [Out] StringBuilder lpBuffer,
+ int nSize,
+ IntPtr lpArguments);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
+ public static extern bool GetOverlappedResult(SafeHandle hDevice, IntPtr lpOverlapped, out int lpNumberOfBytesTransferred, bool bWait);
+
+
+ public static string FormatSystemMessage(int dwMessageId)
+ {
+ lock (m_sbSysMsg)
+ {
+ int ret = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
+ IntPtr.Zero,
+ dwMessageId,
+ CultureInfo.CurrentCulture.LCID,
+ m_sbSysMsg,
+ m_sbSysMsg.Capacity - 1,
+ IntPtr.Zero);
+
+ if (ret > 0) return m_sbSysMsg.ToString(0, ret);
+ return null;
+ }
+ }
+
+ #region DeviceIoControl
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
+ public static extern bool DeviceIoControl(SafeHandle hDevice,
+ int IoControlCode,
+ [MarshalAs(UnmanagedType.AsAny), In] object InBuffer,
+ int nInBufferSize,
+ IntPtr OutBuffer,
+ int nOutBufferSize,
+ out int pBytesReturned,
+ IntPtr pOverlapped);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
+ public static extern bool DeviceIoControl(SafeHandle hDevice,
+ int IoControlCode,
+ [MarshalAs(UnmanagedType.AsAny), In] object InBuffer,
+ int nInBufferSize,
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 6), Out] byte[] OutBuffer,
+ int nOutBufferSize,
+ out int pBytesReturned,
+ IntPtr Overlapped);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi)]
+ public static extern bool DeviceIoControl(SafeHandle hDevice,
+ int IoControlCode,
+ IntPtr InBuffer,
+ int nInBufferSize,
+ IntPtr OutBuffer,
+ int nOutBufferSize,
+ out int pBytesReturned,
+ IntPtr Overlapped);
+
+ [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Ansi, EntryPoint = "DeviceIoControl")]
+ public static extern bool DeviceIoControlAsObject(SafeHandle hDevice,
+ int IoControlCode,
+ [MarshalAs(UnmanagedType.AsAny), In] object InBuffer,
+ int nInBufferSize,
+ IntPtr OutBuffer,
+ int nOutBufferSize,
+ ref int pBytesReturned,
+ IntPtr Overlapped);
+
+ #endregion
+ }
+
+ [Flags]
+ internal enum NativeFileAccess : uint
+ {
+ FILE_SPECIAL = 0,
+ FILE_APPEND_DATA = (0x0004), // file
+ FILE_READ_DATA = (0x0001), // file & pipe
+ FILE_WRITE_DATA = (0x0002), // file & pipe
+ FILE_READ_EA = (0x0008), // file & directory
+ FILE_WRITE_EA = (0x0010), // file & directory
+ FILE_READ_ATTRIBUTES = (0x0080), // all
+ FILE_WRITE_ATTRIBUTES = (0x0100), // all
+ DELETE = 0x00010000,
+ READ_CONTROL = (0x00020000),
+ WRITE_DAC = (0x00040000),
+ WRITE_OWNER = (0x00080000),
+ SYNCHRONIZE = (0x00100000),
+ STANDARD_RIGHTS_REQUIRED = (0x000F0000),
+ STANDARD_RIGHTS_READ = (READ_CONTROL),
+ STANDARD_RIGHTS_WRITE = (READ_CONTROL),
+ STANDARD_RIGHTS_EXECUTE = (READ_CONTROL),
+ STANDARD_RIGHTS_ALL = (0x001F0000),
+ SPECIFIC_RIGHTS_ALL = (0x0000FFFF),
+ FILE_GENERIC_READ = (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE),
+ FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE),
+ SPECIAL = 0
+ }
+
+ internal enum NativeFileMode : uint
+ {
+ CREATE_NEW = 1,
+ CREATE_ALWAYS = 2,
+ OPEN_EXISTING = 3,
+ OPEN_ALWAYS = 4,
+ TRUNCATE_EXISTING = 5,
+ }
+
+ [Flags]
+ internal enum NativeFileShare : uint
+ {
+ NONE = 0,
+ FILE_SHARE_READ = 0x00000001,
+ FILE_SHARE_WRITE = 0x00000002,
+ FILE_SHARE_DEELETE = 0x00000004,
+ }
+
+ [Flags]
+ internal enum NativeFileFlag : uint
+ {
+ FILE_ATTRIBUTE_READONLY = 0x00000001,
+ FILE_ATTRIBUTE_HIDDEN = 0x00000002,
+ FILE_ATTRIBUTE_SYSTEM = 0x00000004,
+ FILE_ATTRIBUTE_DIRECTORY = 0x00000010,
+ FILE_ATTRIBUTE_ARCHIVE = 0x00000020,
+ FILE_ATTRIBUTE_DEVICE = 0x00000040,
+ FILE_ATTRIBUTE_NORMAL = 0x00000080,
+ FILE_ATTRIBUTE_TEMPORARY = 0x00000100,
+ FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200,
+ FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400,
+ FILE_ATTRIBUTE_COMPRESSED = 0x00000800,
+ FILE_ATTRIBUTE_OFFLINE = 0x00001000,
+ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000,
+ FILE_ATTRIBUTE_ENCRYPTED = 0x00004000,
+ FILE_FLAG_WRITE_THROUGH = 0x80000000,
+ FILE_FLAG_OVERLAPPED = 0x40000000,
+ FILE_FLAG_NO_BUFFERING = 0x20000000,
+ FILE_FLAG_RANDOM_ACCESS = 0x10000000,
+ FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000,
+ FILE_FLAG_DELETE_ON_CLOSE = 0x04000000,
+ FILE_FLAG_BACKUP_SEMANTICS = 0x02000000,
+ FILE_FLAG_POSIX_SEMANTICS = 0x01000000,
+ FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000,
+ FILE_FLAG_OPEN_NO_RECALL = 0x00100000,
+ FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/OverlappedTransferContext.cs b/LibWinUsb/Internal/OverlappedTransferContext.cs
new file mode 100644
index 00000000..bd9a0733
--- /dev/null
+++ b/LibWinUsb/Internal/OverlappedTransferContext.cs
@@ -0,0 +1,113 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Threading;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.Internal
+{
+ internal class OverlappedTransferContext : UsbTransfer
+ {
+ private readonly SafeOverlapped mOverlapped = new SafeOverlapped();
+
+ public OverlappedTransferContext(UsbEndpointBase endpointBase)
+ : base(endpointBase) { }
+
+ public SafeOverlapped Overlapped
+ {
+ get { return mOverlapped; }
+ }
+
+ public override ErrorCode Submit()
+ {
+ int iTransferred;
+ ErrorCode eReturn = ErrorCode.Success;
+
+ if (mTransferCancelEvent.WaitOne(0, false)) return ErrorCode.IoCancelled;
+ if (!mTransferCompleteEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT)) return ErrorCode.ResourceBusy;
+
+ mHasWaitBeenCalled = false;
+ mTransferCompleteEvent.Reset();
+ Overlapped.ClearAndSetEvent(mTransferCompleteEvent.SafeWaitHandle.DangerousGetHandle());
+
+ int ret = EndpointBase.PipeTransferSubmit(NextBufPtr,
+ RequestCount,
+ out iTransferred,
+ mIsoPacketSize,
+ Overlapped.GlobalOverlapped);
+ if (ret != 0 && ret != (int) UsbStatusClodes.ErrorIoPending)
+ {
+ mTransferCompleteEvent.Set();
+ UsbError usbErr = UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "PipeTransferSubmit", EndpointBase);
+
+ eReturn = usbErr.ErrorCode;
+ }
+ return eReturn;
+ }
+
+ public override ErrorCode Wait(out int transferredCount, bool cancel)
+ {
+ if (mHasWaitBeenCalled) throw new UsbException(this, "Repeated calls to wait with a submit is not allowed.");
+
+ transferredCount = 0;
+ bool bSuccess;
+ // Temporarily release the transfer lock while we wait for something to happen.
+ int iWait = WaitHandle.WaitAny(new WaitHandle[] { mTransferCompleteEvent, mTransferCancelEvent }, mTimeout, UsbConstants.EXIT_CONTEXT);
+ if (iWait == WaitHandle.WaitTimeout && !cancel)
+ {
+ return ErrorCode.IoTimedOut;
+ }
+ mHasWaitBeenCalled = true;
+
+ if (iWait != 0)
+ {
+ bSuccess = EndpointBase.mUsbApi.AbortPipe(EndpointBase.Handle, EndpointBase.EpNum);
+ bool bTransferComplete = mTransferCompleteEvent.WaitOne(100, UsbConstants.EXIT_CONTEXT);
+ mTransferCompleteEvent.Set();
+ if (!bSuccess || !bTransferComplete)
+ {
+ ErrorCode ec = bSuccess ? ErrorCode.Win32Error : ErrorCode.CancelIoFailed;
+ UsbError.Error(ec, Marshal.GetLastWin32Error(), "Wait:AbortPipe Failed", this);
+ return ec;
+ }
+ if (iWait == WaitHandle.WaitTimeout) return ErrorCode.IoTimedOut;
+ return ErrorCode.IoCancelled;
+ }
+
+ try
+ {
+ bSuccess = EndpointBase.mUsbApi.GetOverlappedResult(EndpointBase.Handle, Overlapped.GlobalOverlapped, out transferredCount, true);
+ if (!bSuccess)
+ {
+ UsbError usbErr = UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetOverlappedResult", EndpointBase);
+ return usbErr.ErrorCode;
+ }
+ return ErrorCode.None;
+ }
+ catch
+ {
+ return ErrorCode.UnknownError;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/SafeOverlapped.cs b/LibWinUsb/Internal/SafeOverlapped.cs
new file mode 100644
index 00000000..dae0f4e6
--- /dev/null
+++ b/LibWinUsb/Internal/SafeOverlapped.cs
@@ -0,0 +1,115 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Threading;
+
+namespace LibUsbDotNet.Internal
+{
+ internal class SafeOverlapped : IDisposable
+ {
+ // Find the structural starting positions in the NativeOverlapped structure.
+ private static readonly int FieldOffsetEventHandle = Marshal.OffsetOf(typeof (NativeOverlapped), "EventHandle").ToInt32();
+ private static readonly int FieldOffsetInternalHigh = Marshal.OffsetOf(typeof (NativeOverlapped), "InternalHigh").ToInt32();
+ private static readonly int FieldOffsetInternalLow = Marshal.OffsetOf(typeof (NativeOverlapped), "InternalLow").ToInt32();
+ private static readonly int FieldOffsetOffsetHigh = Marshal.OffsetOf(typeof (NativeOverlapped), "OffsetHigh").ToInt32();
+ private static readonly int FieldOffsetOffsetLow = Marshal.OffsetOf(typeof (NativeOverlapped), "OffsetLow").ToInt32();
+ private IntPtr mPtrOverlapped = IntPtr.Zero;
+
+ public SafeOverlapped()
+ {
+ // Globally allocated the memory for the overlapped structure
+ mPtrOverlapped = Marshal.AllocHGlobal(Marshal.SizeOf(typeof (NativeOverlapped)));
+ }
+
+ public IntPtr InternalLow
+ {
+ get { return Marshal.ReadIntPtr(mPtrOverlapped, FieldOffsetInternalLow); }
+ set { Marshal.WriteIntPtr(mPtrOverlapped, FieldOffsetInternalLow, value); }
+ }
+
+ public IntPtr InternalHigh
+ {
+ get { return Marshal.ReadIntPtr(mPtrOverlapped, FieldOffsetInternalHigh); }
+ set { Marshal.WriteIntPtr(mPtrOverlapped, FieldOffsetInternalHigh, value); }
+ }
+
+ public int OffsetLow
+ {
+ get { return Marshal.ReadInt32(mPtrOverlapped, FieldOffsetOffsetLow); }
+ set { Marshal.WriteInt32(mPtrOverlapped, FieldOffsetOffsetLow, value); }
+ }
+
+ public int OffsetHigh
+ {
+ get { return Marshal.ReadInt32(mPtrOverlapped, FieldOffsetOffsetHigh); }
+ set { Marshal.WriteInt32(mPtrOverlapped, FieldOffsetOffsetHigh, value); }
+ }
+
+ /// <summary>
+ /// The overlapped event wait hande.
+ /// </summary>
+ public IntPtr EventHandle
+ {
+ get { return Marshal.ReadIntPtr(mPtrOverlapped, FieldOffsetEventHandle); }
+ set { Marshal.WriteIntPtr(mPtrOverlapped, FieldOffsetEventHandle, value); }
+ }
+
+ /// <summary>
+ /// Pass this into the DeviceIoControl and GetOverlappedResult APIs
+ /// </summary>
+ public IntPtr GlobalOverlapped
+ {
+ get { return mPtrOverlapped; }
+ }
+
+ #region IDisposable Members
+
+ public void Dispose()
+ {
+ if (mPtrOverlapped != IntPtr.Zero)
+ {
+ Marshal.FreeHGlobal(mPtrOverlapped);
+ mPtrOverlapped = IntPtr.Zero;
+ }
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Set the overlapped wait handle and clear out the rest of the structure.
+ /// </summary>
+ /// <param name="hEventOverlapped"></param>
+ public void ClearAndSetEvent(IntPtr hEventOverlapped)
+ {
+ EventHandle = hEventOverlapped;
+ InternalLow = IntPtr.Zero;
+ InternalHigh = IntPtr.Zero;
+ OffsetLow = 0;
+ OffsetHigh = 0;
+ }
+
+
+ // Clean up the globally allocated memory.
+ ~SafeOverlapped() { Dispose(); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/SetupApi.cs b/LibWinUsb/Internal/SetupApi.cs
new file mode 100644
index 00000000..ced66c88
--- /dev/null
+++ b/LibWinUsb/Internal/SetupApi.cs
@@ -0,0 +1,670 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using System.Text;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.WinUsb;
+using Microsoft.Win32;
+
+// ReSharper disable InconsistentNaming
+// ReSharper disable ClassNeverInstantiated.Local
+// ReSharper disable UnusedMember.Local
+// ReSharper disable ConvertIfStatementToConditionalTernaryExpression
+// ReSharper disable UnusedParameter.Local
+
+namespace LibUsbDotNet.Internal
+{
+ internal class SetupApi
+ {
+ #region Delegates
+
+ public delegate bool ClassEnumeratorDelegate(
+ IntPtr DeviceInfoSet, int deviceIndex, ref SP_DEVINFO_DATA DeviceInfoData, object classEnumeratorCallbackParam1);
+
+ #endregion
+
+ #region Enumerations
+
+ #region CR enum
+
+ public enum CR
+ {
+ SUCCESS = (0x00000000),
+ DEFAULT = (0x00000001),
+ OUT_OF_MEMORY = (0x00000002),
+ INVALID_POINTER = (0x00000003),
+ INVALID_FLAG = (0x00000004),
+ INVALID_DEVNODE = (0x00000005),
+ INVALID_DEVINST = INVALID_DEVNODE,
+ INVALID_RES_DES = (0x00000006),
+ INVALID_LOG_CONF = (0x00000007),
+ INVALID_ARBITRATOR = (0x00000008),
+ INVALID_NODELIST = (0x00000009),
+ DEVNODE_HAS_REQS = (0x0000000A),
+ DEVINST_HAS_REQS = DEVNODE_HAS_REQS,
+ INVALID_RESOURCEID = (0x0000000B),
+ DLVXD_NOT_FOUND = (0x0000000C), // WIN 95 ONLY
+ NO_SUCH_DEVNODE = (0x0000000D),
+ NO_SUCH_DEVINST = NO_SUCH_DEVNODE,
+ NO_MORE_LOG_CONF = (0x0000000E),
+ NO_MORE_RES_DES = (0x0000000F),
+ ALREADY_SUCH_DEVNODE = (0x00000010),
+ ALREADY_SUCH_DEVINST = ALREADY_SUCH_DEVNODE,
+ INVALID_RANGE_LIST = (0x00000011),
+ INVALID_RANGE = (0x00000012),
+ FAILURE = (0x00000013),
+ NO_SUCH_LOGICAL_DEV = (0x00000014),
+ CREATE_BLOCKED = (0x00000015),
+ NOT_SYSTEM_VM = (0x00000016), // WIN 95 ONLY
+ REMOVE_VETOED = (0x00000017),
+ APM_VETOED = (0x00000018),
+ INVALID_LOAD_TYPE = (0x00000019),
+ BUFFER_SMALL = (0x0000001A),
+ NO_ARBITRATOR = (0x0000001B),
+ NO_REGISTRY_HANDLE = (0x0000001C),
+ REGISTRY_ERROR = (0x0000001D),
+ INVALID_DEVICE_ID = (0x0000001E),
+ INVALID_DATA = (0x0000001F),
+ INVALID_API = (0x00000020),
+ DEVLOADER_NOT_READY = (0x00000021),
+ NEED_RESTART = (0x00000022),
+ NO_MORE_HW_PROFILES = (0x00000023),
+ DEVICE_NOT_THERE = (0x00000024),
+ NO_SUCH_VALUE = (0x00000025),
+ WRONG_TYPE = (0x00000026),
+ INVALID_PRIORITY = (0x00000027),
+ NOT_DISABLEABLE = (0x00000028),
+ FREE_RESOURCES = (0x00000029),
+ QUERY_VETOED = (0x0000002A),
+ CANT_SHARE_IRQ = (0x0000002B),
+ NO_DEPENDENT = (0x0000002C),
+ SAME_RESOURCES = (0x0000002D),
+ NO_SUCH_REGISTRY_KEY = (0x0000002E),
+ INVALID_MACHINENAME = (0x0000002F), // NT ONLY
+ REMOTE_COMM_FAILURE = (0x00000030), // NT ONLY
+ MACHINE_UNAVAILABLE = (0x00000031), // NT ONLY
+ NO_CM_SERVICES = (0x00000032), // NT ONLY
+ ACCESS_DENIED = (0x00000033), // NT ONLY
+ CALL_NOT_IMPLEMENTED = (0x00000034),
+ INVALID_PROPERTY = (0x00000035),
+ DEVICE_INTERFACE_ACTIVE = (0x00000036),
+ NO_SUCH_DEVICE_INTERFACE = (0x00000037),
+ INVALID_REFERENCE_STRING = (0x00000038),
+ INVALID_CONFLICT_LIST = (0x00000039),
+ INVALID_INDEX = (0x0000003A),
+ INVALID_STRUCTURE_SIZE = (0x0000003B),
+ NUM_CR_RESULTS = (0x0000003C)
+ }
+
+ #endregion
+
+ #region DeviceInterfaceDataFlags enum
+
+ public enum DeviceInterfaceDataFlags : uint
+ {
+ Active = 0x00000001,
+ Default = 0x00000002,
+ Removed = 0x00000004
+ }
+
+ #endregion
+
+ #region DICFG enum
+
+ [Flags]
+ public enum DICFG
+ {
+ /// <summary>
+ /// Return only the device that is associated with the system default device interface, if one is set, for the specified device interface classes.
+ /// only valid with <see cref="DEVICEINTERFACE"/>.
+ /// </summary>
+ DEFAULT = 0x00000001,
+ /// <summary>
+ /// Return only devices that are currently present in a system.
+ /// </summary>
+ PRESENT = 0x00000002,
+ /// <summary>
+ /// Return a list of installed devices for all device setup classes or all device interface classes.
+ /// </summary>
+ ALLCLASSES = 0x00000004,
+ /// <summary>
+ /// Return only devices that are a part of the current hardware profile.
+ /// </summary>
+ PROFILE = 0x00000008,
+ /// <summary>
+ /// Return devices that support device interfaces for the specified device interface classes.
+ /// </summary>
+ DEVICEINTERFACE = 0x00000010,
+ }
+
+ #endregion
+
+ #region DICUSTOMDEVPROP enum
+
+ public enum DICUSTOMDEVPROP
+ {
+ NONE = 0,
+ MERGE_MULTISZ = 0x00000001,
+ }
+
+ #endregion
+
+ [Flags]
+ public enum DevKeyType
+ {
+ DEV = 0x00000001, // Open/Create/Delete device key
+ DRV = 0x00000002, // Open/Create/Delete driver key
+ BOTH = 0x00000004, // Delete both driver and Device key
+
+ }
+ #endregion
+
+ private const string STRUCT_END_MARK = "STRUCT_END_MARK";
+
+ public static readonly Guid GUID_DEVINTERFACE_USB_DEVICE = new Guid("f18a0e88-c30c-11d0-8815-00a0c906bed8");
+
+ public static bool Is64Bit
+ {
+ get { return (IntPtr.Size == 8); }
+ }
+
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="dnDevInst">Caller-supplied device instance handle that is bound to the local machine.</param>
+ /// <param name="Buffer">Address of a buffer to receive a device instance ID string. The required buffer size can be obtained by calling CM_Get_Device_ID_Size, then incrementing the received value to allow room for the string's terminating NULL. </param>
+ /// <param name="BufferLen">Caller-supplied length, in characters, of the buffer specified by Buffer. </param>
+ /// <param name="ulFlags">Not used. set to 0.</param>
+ /// <returns>If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in cfgmgr32.h.</returns>
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto)]
+ public static extern CR CM_Get_Device_ID(IntPtr dnDevInst, IntPtr Buffer, int BufferLen, int ulFlags);
+
+
+ /// <summary>
+ /// The CM_Get_Parent function obtains a device instance handle to the parent node of a specified device node, in the local machine's device tree.
+ /// </summary>
+ /// <param name="pdnDevInst">Caller-supplied pointer to the device instance handle to the parent node that this function retrieves. The retrieved handle is bound to the local machine.</param>
+ /// <param name="dnDevInst">Caller-supplied device instance handle that is bound to the local machine. </param>
+ /// <param name="ulFlags">Not used. set to 0.</param>
+ /// <returns>If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in cfgmgr32.h.</returns>
+ [DllImport("setupapi.dll")]
+ public static extern CR CM_Get_Parent(out IntPtr pdnDevInst, IntPtr dnDevInst, int ulFlags);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto /*, SetLastError = true*/)]
+ public static extern bool SetupDiDestroyDeviceInfoList(IntPtr hDevInfo);
+
+ [DllImport("setupapi.dll", SetLastError = true)]
+ public static extern bool SetupDiEnumDeviceInfo(IntPtr DeviceInfoSet, int MemberIndex, ref SP_DEVINFO_DATA DeviceInfoData);
+
+ /// <summary>
+ /// The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set.
+ /// </summary>
+ /// <param name="hDevInfo">A pointer to a device information set that contains the device interfaces for which to return information. This handle is typically returned by SetupDiGetClassDevs. </param>
+ /// <param name="devInfo">A pointer to an SP_DEVINFO_DATA structure that specifies a device information element in DeviceInfoSet. This parameter is optional and can be NULL. If this parameter is specified, SetupDiEnumDeviceInterfaces constrains the enumeration to the interfaces that are supported by the specified device. If this parameter is NULL, repeated calls to SetupDiEnumDeviceInterfaces return information about the interfaces that are associated with all the device information elements in DeviceInfoSet. This pointer is typically returned by SetupDiEnumDeviceInfo. </param>
+ /// <param name="interfaceClassGuid">A pointer to a GUID that specifies the device interface class for the requested interface. </param>
+ /// <param name="memberIndex">A zero-based index into the list of interfaces in the device information set. The caller should call this function first with MemberIndex set to zero to obtain the first interface. Then, repeatedly increment MemberIndex and retrieve an interface until this function fails and GetLastError returns ERROR_NO_MORE_ITEMS. If DeviceInfoData specifies a particular device, the MemberIndex is relative to only the interfaces exposed by that device.</param>
+ /// <param name="deviceInterfaceData">A pointer to a caller-allocated buffer that contains, on successful return, a completed SP_DEVICE_INTERFACE_DATA structure that identifies an interface that meets the search parameters. The caller must set DeviceInterfaceData.cbSize to sizeof(SP_DEVICE_INTERFACE_DATA) before calling this function. </param>
+ /// <returns></returns>
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern Boolean SetupDiEnumDeviceInterfaces(IntPtr hDevInfo,
+ ref SP_DEVINFO_DATA devInfo,
+ ref Guid interfaceClassGuid,
+ int memberIndex,
+ ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern Boolean SetupDiEnumDeviceInterfaces(IntPtr hDevInfo,
+ [MarshalAs(UnmanagedType.AsAny)] object devInfo,
+ ref Guid interfaceClassGuid,
+ int memberIndex,
+ ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
+
+ /// <summary>
+ /// The SetupDiGetClassDevs function returns a handle to a device information set that contains requested device information elements for a local machine.
+ /// </summary>
+ /// <param name="ClassGuid">A pointer to the GUID for a device setup class or a device interface class. This pointer is optional and can be NULL. For more information about how to set ClassGuid, see the following Comments section. </param>
+ /// <param name="Enumerator">A pointer to a NULL-terminated string that supplies the name of a Plug and Play (PnP) enumerator or a PnP device instance identifier. This pointer is optional and can be NULL. For more information about how to set the Enumerator value, see the following Comments section. </param>
+ /// <param name="hwndParent">A handle of the top-level window to be used for a user interface that is associated with installing a device instance in the device information set. This handle is optional and can be NULL. </param>
+ /// <param name="Flags">A variable of type DWORD that specifies control options that filter the device information elements that are added to the device information set. This parameter can be a bitwise OR of zero or more of the following flags.</param>
+ /// <returns></returns>
+ [DllImport("setupapi.dll", CharSet = CharSet.Ansi, EntryPoint = "SetupDiGetClassDevsA")]
+ public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid,
+ [MarshalAs(UnmanagedType.LPTStr)] string Enumerator,
+ IntPtr hwndParent,
+ DICFG Flags);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Ansi, EntryPoint = "SetupDiGetClassDevsA")]
+ public static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, int Enumerator, IntPtr hwndParent, DICFG Flags);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Ansi, EntryPoint = "SetupDiGetClassDevsA")]
+ public static extern IntPtr SetupDiGetClassDevs(int ClassGuid, string Enumerator, IntPtr hwndParent, DICFG Flags);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern bool SetupDiGetCustomDeviceProperty(IntPtr DeviceInfoSet,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ string CustomPropertyName,
+ DICUSTOMDEVPROP Flags,
+ out RegistryValueKind PropertyRegDataType,
+ Byte[] PropertyBuffer,
+ int PropertyBufferSize,
+ out int RequiredSize);
+
+ /// <summary>
+ /// The SetupDiGetDeviceInstanceId function retrieves the device instance ID that is associated with a device information element.
+ /// </summary>
+ /// <param name="DeviceInfoSet">A handle to the device information set that contains the device information element that represents the device for which to retrieve a device instance ID. </param>
+ /// <param name="DeviceInfoData">A pointer to an SP_DEVINFO_DATA structure that specifies the device information element in DeviceInfoSet. </param>
+ /// <param name="DeviceInstanceId">A pointer to the character buffer that will receive the NULL-terminated device instance ID for the specified device information element. For information about device instance IDs, see Device Identification Strings.</param>
+ /// <param name="DeviceInstanceIdSize">The size, in characters, of the DeviceInstanceId buffer. </param>
+ /// <param name="RequiredSize">A pointer to the variable that receives the number of characters required to store the device instance ID.</param>
+ /// <returns>The function returns TRUE if it is successful. Otherwise, it returns FALSE and the logged error can be retrieved with a call to GetLastError.</returns>
+ [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Ansi, EntryPoint = "SetupDiGetDeviceInstanceIdA")]
+ public static extern bool SetupDiGetDeviceInstanceId(IntPtr DeviceInfoSet,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ StringBuilder DeviceInstanceId,
+ int DeviceInstanceIdSize,
+ out int RequiredSize);
+
+ [DllImport(@"setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern Boolean SetupDiGetDeviceInterfaceDetail(IntPtr hDevInfo,
+ ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData,
+ DEVICE_INTERFACE_DETAIL_HANDLE deviceInterfaceDetailData,
+ int deviceInterfaceDetailDataSize,
+ out int requiredSize,
+ [MarshalAs(UnmanagedType.AsAny)] object deviceInfoData);
+ [DllImport(@"setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern Boolean SetupDiGetDeviceInterfaceDetail(IntPtr hDevInfo,
+ ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData,
+ DEVICE_INTERFACE_DETAIL_HANDLE deviceInterfaceDetailData,
+ int deviceInterfaceDetailDataSize,
+ out int requiredSize,
+ ref SP_DEVINFO_DATA deviceInfoData);
+
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto)]
+ public static extern bool SetupDiGetDeviceInterfacePropertyKeys(IntPtr DeviceInfoSet,
+ ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
+ byte[] propKeyBuffer,
+ int propKeyBufferElements,
+ out int RequiredPropertyKeyCount,
+ int Flags);
+
+ /// <summary>
+ /// The SetupDiGetDeviceRegistryProperty function retrieves the specified device property.
+ /// This handle is typically returned by the SetupDiGetClassDevs or SetupDiGetClassDevsEx function.
+ /// </summary>
+ /// <param Name="DeviceInfoSet">Handle to the device information set that contains the interface and its underlying device.</param>
+ /// <param Name="DeviceInfoData">Pointer to an SP_DEVINFO_DATA structure that defines the device instance.</param>
+ /// <param Name="Property">Device property to be retrieved. SEE MSDN</param>
+ /// <param Name="PropertyRegDataType">Pointer to a variable that receives the registry data Type. This parameter can be NULL.</param>
+ /// <param Name="PropertyBuffer">Pointer to a buffer that receives the requested device property.</param>
+ /// <param Name="PropertyBufferSize">Size of the buffer, in bytes.</param>
+ /// <param Name="RequiredSize">Pointer to a variable that receives the required buffer size, in bytes. This parameter can be NULL.</param>
+ /// <returns>If the function succeeds, the return value is nonzero.</returns>
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ SPDRP Property,
+ out RegistryValueKind PropertyRegDataType,
+ byte[] PropertyBuffer,
+ int PropertyBufferSize,
+ out int RequiredSize);
+
+ [DllImport("setupapi.dll", CharSet = CharSet.Auto)]
+ public static extern CR CM_Get_Device_ID(uint dnDevInst, StringBuilder Buffer, int BufferLen, int ulFlags);
+
+ [DllImport("Setupapi", CharSet = CharSet.Auto, SetLastError = true)]
+ public static extern IntPtr SetupDiOpenDevRegKey(IntPtr hDeviceInfoSet, ref SP_DEVINFO_DATA deviceInfoData, int scope, int hwProfile, DevKeyType keyType, RegistryKeyPermissionCheck samDesired);
+
+ [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
+ public static extern int RegEnumValue(IntPtr hKey, int index, StringBuilder lpValueName, ref int lpcValueName, IntPtr lpReserved, out RegistryValueKind lpType, byte[] data, ref int dataLength);
+
+ [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
+ public static extern int RegEnumValue(IntPtr hKey, int index, StringBuilder lpValueName, ref int lpcValueName, IntPtr lpReserved, out RegistryValueKind lpType, StringBuilder data, ref int dataLength);
+
+ [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Auto)]
+ public static extern int RegCloseKey(IntPtr hKey);
+
+ public static bool EnumClassDevs(string enumerator,
+ DICFG flags,
+ ClassEnumeratorDelegate classEnumeratorCallback,
+ object classEnumeratorCallbackParam1)
+ {
+ SP_DEVINFO_DATA dev_info_data = SP_DEVINFO_DATA.Empty;
+
+ int dev_index = 0;
+
+ IntPtr dev_info = SetupDiGetClassDevs(0, enumerator, IntPtr.Zero, flags);
+
+ if (dev_info == IntPtr.Zero || dev_info.ToInt64() == -1) return false;
+ bool bSuccess = false;
+ while (SetupDiEnumDeviceInfo(dev_info, dev_index, ref dev_info_data))
+ {
+ if (classEnumeratorCallback(dev_info, dev_index, ref dev_info_data, classEnumeratorCallbackParam1))
+ {
+ bSuccess = true;
+ break;
+ }
+
+ dev_index++;
+ }
+
+ SetupDiDestroyDeviceInfoList(dev_info);
+
+ return bSuccess;
+ }
+
+ public static void getSPDRPProperties(IntPtr deviceInfoSet, ref SP_DEVINFO_DATA deviceInfoData, Dictionary<string, object> deviceProperties)
+ {
+ byte[] propBuffer = new byte[1024];
+ Dictionary<string, int> allProps = Helper.GetEnumData(typeof(SPDRP));
+ foreach (KeyValuePair<string, int> prop in allProps)
+ {
+ object oValue = String.Empty;
+ int iReturnBytes;
+ RegistryValueKind regPropType;
+ bool bSuccess = SetupDiGetDeviceRegistryProperty(deviceInfoSet,
+ ref deviceInfoData,
+ (SPDRP)prop.Value,
+ out regPropType,
+ propBuffer,
+ propBuffer.Length,
+ out iReturnBytes);
+ if (bSuccess)
+ {
+ switch ((SPDRP)prop.Value)
+ {
+ case SPDRP.PhysicalDeviceObjectName:
+ case SPDRP.LocationInformation:
+ case SPDRP.Class:
+ case SPDRP.Mfg:
+ case SPDRP.DeviceDesc:
+ case SPDRP.Driver:
+ case SPDRP.EnumeratorName:
+ case SPDRP.FriendlyName:
+ case SPDRP.ClassGuid:
+ oValue = UsbRegistry.GetAsString(propBuffer, iReturnBytes);
+ break;
+ case SPDRP.HardwareId:
+ case SPDRP.CompatibleIds:
+ case SPDRP.LocationPaths:
+ oValue = UsbRegistry.GetAsStringArray(propBuffer, iReturnBytes);
+ break;
+ case SPDRP.BusNumber:
+ case SPDRP.InstallState:
+ case SPDRP.LegacyBusType:
+ case SPDRP.RemovalPolicy:
+ case SPDRP.UiNumber:
+ case SPDRP.Address:
+ oValue = UsbRegistry.GetAsStringInt32(propBuffer, iReturnBytes);
+ break;
+ case SPDRP.BusTypeGuid:
+ oValue = UsbRegistry.GetAsGuid(propBuffer, iReturnBytes);
+ break;
+ }
+ }
+ else
+ oValue = String.Empty;
+
+ deviceProperties.Add(prop.Key, oValue);
+ }
+ }
+
+ public static bool SetupDiGetDeviceInterfaceDetailLength(IntPtr hDevInfo,
+ ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData,
+ out int requiredLength)
+ {
+ DEVICE_INTERFACE_DETAIL_HANDLE tmp = new DEVICE_INTERFACE_DETAIL_HANDLE();
+ return SetupDiGetDeviceInterfaceDetail(hDevInfo, ref deviceInterfaceData, tmp, 0, out requiredLength, null);
+ }
+
+ public static bool SetupDiGetDeviceRegistryProperty(out byte[] regBytes,
+ IntPtr DeviceInfoSet,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ SPDRP Property)
+ {
+ regBytes = null;
+ byte[] tmp = new byte[1024];
+ int iReqSize;
+ RegistryValueKind regValueType;
+ if (!SetupDiGetDeviceRegistryProperty(DeviceInfoSet, ref DeviceInfoData, Property, out regValueType, tmp, tmp.Length, out iReqSize))
+ {
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "SetupDiGetDeviceRegistryProperty", typeof(SetupApi));
+ return false;
+ }
+ regBytes = new byte[iReqSize];
+ Array.Copy(tmp, regBytes, regBytes.Length);
+ return true;
+ }
+
+ public static bool SetupDiGetDeviceRegistryProperty(out string regSZ, IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, SPDRP Property)
+ {
+ regSZ = null;
+ byte[] tmp;
+ if (SetupDiGetDeviceRegistryProperty(out tmp, DeviceInfoSet, ref DeviceInfoData, Property))
+ {
+ regSZ = Encoding.Unicode.GetString(tmp).TrimEnd(new char[] {'\0'});
+ return true;
+ }
+ return false;
+ }
+
+ public static bool SetupDiGetDeviceRegistryProperty(out string[] regMultiSZ,
+ IntPtr DeviceInfoSet,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ SPDRP Property)
+ {
+ regMultiSZ = null;
+ string tmp;
+ if (SetupDiGetDeviceRegistryProperty(out tmp, DeviceInfoSet, ref DeviceInfoData, Property))
+ {
+ regMultiSZ = tmp.Split(new char[] {'\0'}, StringSplitOptions.RemoveEmptyEntries);
+ return true;
+ }
+ return false;
+ }
+
+ private static bool cbHasDeviceInterfaceGUID(IntPtr DeviceInfoSet,
+ int deviceIndex,
+ ref SP_DEVINFO_DATA DeviceInfoData,
+ object devInterfaceGuid)
+ {
+ RegistryValueKind propertyType;
+ byte[] propBuffer = new byte[256];
+ int requiredSize;
+ bool bSuccess = SetupDiGetCustomDeviceProperty(DeviceInfoSet,
+ ref DeviceInfoData,
+ "DeviceInterfaceGuids",
+ DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ Guid devGuid = (Guid) devInterfaceGuid;
+ string[] stemp = Encoding.Unicode.GetString(propBuffer, 0, requiredSize).Split(new char[] {'\0'},
+ StringSplitOptions.RemoveEmptyEntries);
+ Guid findGuid = new Guid(stemp[0]);
+ return (devGuid == findGuid);
+ }
+ return false;
+ }
+
+ #region Nested Types
+
+ #region Nested type: DEVICE_INTERFACE_DETAIL_HANDLE
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct DEVICE_INTERFACE_DETAIL_HANDLE
+ {
+ private IntPtr mPtr;
+
+ internal DEVICE_INTERFACE_DETAIL_HANDLE(IntPtr ptrInit) { mPtr = ptrInit; }
+ }
+
+ #endregion
+
+ #region Nested type: DeviceInterfaceDetailHelper
+
+ public class DeviceInterfaceDetailHelper
+ {
+ public static readonly int SIZE = Is64Bit ? 8 : 6;
+ private IntPtr mpDevicePath;
+ private IntPtr mpStructure;
+
+ public DeviceInterfaceDetailHelper(int maximumLength)
+ {
+ mpStructure = Marshal.AllocHGlobal(maximumLength);
+ mpDevicePath = new IntPtr(mpStructure.ToInt64() + Marshal.SizeOf(typeof (int)));
+ }
+
+ public DEVICE_INTERFACE_DETAIL_HANDLE Handle
+ {
+ get
+ {
+ Marshal.WriteInt32(mpStructure, SIZE);
+ return new DEVICE_INTERFACE_DETAIL_HANDLE(mpStructure);
+ }
+ }
+
+ public string DevicePath
+ {
+ get { return Marshal.PtrToStringAuto(mpDevicePath); }
+ }
+
+
+ public void Free()
+ {
+ if (mpStructure != IntPtr.Zero)
+ Marshal.FreeHGlobal(mpStructure);
+
+ mpDevicePath = IntPtr.Zero;
+ mpStructure = IntPtr.Zero;
+ }
+
+
+ ~DeviceInterfaceDetailHelper() { Free(); }
+ }
+
+ #endregion
+
+ #region Nested type: MaxStructSizes
+
+ private class MaxStructSizes
+ {
+ public const int SP_DEVINFO_DATA = 40;
+ }
+
+ #endregion
+
+ #region Nested type: SP_DEVICE_INTERFACE_DATA
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct SP_DEVICE_INTERFACE_DATA
+ {
+ public static readonly SP_DEVICE_INTERFACE_DATA Empty = new SP_DEVICE_INTERFACE_DATA(Marshal.SizeOf(typeof (SP_DEVICE_INTERFACE_DATA)));
+
+ public UInt32 cbSize;
+ public Guid interfaceClassGuid;
+ public UInt32 flags;
+ private UIntPtr reserved;
+
+ private SP_DEVICE_INTERFACE_DATA(int size)
+ {
+ cbSize = (uint) size;
+ reserved = UIntPtr.Zero;
+ flags = 0;
+ interfaceClassGuid = Guid.Empty;
+ }
+ }
+
+ #endregion
+
+ //[StructLayout(LayoutKind.Sequential, Pack = 1)]
+ //public struct SP_DEVICE_INTERFACE_DATA
+ //{
+ // public static readonly SP_DEVICE_INTERFACE_DATA Empty = new SP_DEVICE_INTERFACE_DATA(GetSetupApiSize(typeof (SP_DEVICE_INTERFACE_DATA)));
+
+ // public readonly uint cbSize;
+ // public Guid interfaceClassGuid;
+ // public DeviceInterfaceDataFlags flags;
+ // private IntPtr reserved;
+
+ // private SP_DEVICE_INTERFACE_DATA(int size)
+ // {
+ // reserved = new IntPtr();
+ // flags = 0;
+ // interfaceClassGuid = Guid.Empty;
+ // cbSize = size;
+ // }
+ //}
+
+ #region Nested type: SP_DEVINFO_DATA
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct SP_DEVINFO_DATA
+ {
+ public static readonly SP_DEVINFO_DATA Empty = new SP_DEVINFO_DATA(Marshal.SizeOf(typeof (SP_DEVINFO_DATA)));
+
+ public UInt32 cbSize;
+ public Guid ClassGuid;
+ public UInt32 DevInst;
+ public IntPtr Reserved;
+
+ private SP_DEVINFO_DATA(int size)
+ {
+ cbSize = (uint) size;
+ ClassGuid = Guid.Empty;
+ DevInst = 0;
+ Reserved = IntPtr.Zero;
+ }
+ }
+
+ #endregion
+
+ //[StructLayout(LayoutKind.Sequential, Pack = IntPtr.Size==8?8:1, Size = MaxStructSizes.SP_DEVINFO_DATA)]
+ //public struct SP_DEVINFO_DATA
+ //{
+ // public static readonly SP_DEVINFO_DATA Empty = new SP_DEVINFO_DATA(Marshal.SizeOf(typeof(SP_DEVINFO_DATA)));
+
+ // public readonly int cbSize;
+ // public Guid ClassGuid;
+ // public IntPtr DevInst;
+ // public IntPtr Reserved;
+ // private SP_DEVINFO_DATA(int size)
+ // {
+ // cbSize = size;
+ // ClassGuid = Guid.Empty;
+ // DevInst = IntPtr.Zero;
+ // Reserved = IntPtr.Zero;
+
+ // STRUCT_END_MARK = 0;
+ // }
+ //}
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/TransferContextBase.cs b/LibWinUsb/Internal/TransferContextBase.cs
new file mode 100644
index 00000000..e5156fc9
--- /dev/null
+++ b/LibWinUsb/Internal/TransferContextBase.cs
@@ -0,0 +1,195 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Threading;
+using LibUsbDotNet.Main;
+using Microsoft.Win32.SafeHandles;
+
+namespace LibUsbDotNet.Internal
+{
+ public abstract class TransferContextBase : IDisposable
+ {
+ private readonly UsbEndpointBase mEndpointBase;
+
+ private IntPtr mBuffer;
+ private int mCurrentOffset;
+ private int mCurrentRemaining;
+ private int mCurrentTransmitted;
+
+ private int mFailRetries;
+ protected int mOriginalCount;
+ protected int mOriginalOffset;
+ private PinnedHandle mPinnedHandle;
+
+ protected int mTimeout;
+
+ protected bool mHasWaitBeenCalled = true;
+
+ protected ManualResetEvent mTransferCancelEvent = new ManualResetEvent(false);
+ protected internal ManualResetEvent mTransferCompleteEvent = new ManualResetEvent(true);
+
+ protected TransferContextBase(UsbEndpointBase endpointBase) { mEndpointBase = endpointBase; }
+
+ public UsbEndpointBase EndpointBase
+ {
+ get { return mEndpointBase; }
+ }
+
+ protected int RequestCount
+ {
+ get { return (mCurrentRemaining > UsbEndpointBase.MaxReadWrite ? UsbEndpointBase.MaxReadWrite : mCurrentRemaining); }
+ }
+
+ protected int FailRetries
+ {
+ get { return mFailRetries; }
+ }
+
+ protected IntPtr NextBufPtr
+ {
+ get { return new IntPtr(mBuffer.ToInt64() + mCurrentOffset); }
+ }
+
+ public bool IsCancelled
+ {
+ get { return mTransferCancelEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT); }
+ }
+
+ public bool IsComplete
+ {
+ get { return mTransferCompleteEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT); }
+ }
+
+ public SafeWaitHandle CancelWaitHandle
+ {
+ get { return mTransferCancelEvent.SafeWaitHandle; }
+ }
+
+ public SafeWaitHandle CompleteWaitHandle
+ {
+ get { return mTransferCompleteEvent.SafeWaitHandle; }
+ }
+
+ #region IDisposable Members
+
+ public virtual void Dispose()
+ {
+ if (!IsCancelled) Cancel();
+
+ int dummy;
+ if (!mHasWaitBeenCalled) Wait(out dummy);
+ }
+
+ #endregion
+
+ public virtual ErrorCode Cancel()
+ {
+ mTransferCancelEvent.Set();
+ return ErrorCode.Success;
+ }
+
+ public abstract ErrorCode Submit();
+
+ public abstract ErrorCode Wait(out int transferredCount);
+
+
+ public virtual void Fill(object buffer, int offset, int count, int timeout)
+ {
+ if (mPinnedHandle != null) mPinnedHandle.Dispose();
+ mPinnedHandle = new PinnedHandle(buffer);
+ Fill(mPinnedHandle.Handle, offset, count, timeout);
+ }
+
+ public virtual void Fill(IntPtr buffer, int offset, int count, int timeout)
+ {
+ mBuffer = buffer;
+
+ mOriginalOffset = offset;
+ mOriginalCount = count;
+ mTimeout = timeout;
+ Reset();
+ }
+
+ internal static ErrorCode SyncTransfer(TransferContextBase transferContext,
+ IntPtr buffer,
+ int offset,
+ int length,
+ int timeout,
+ out int transferLength)
+ {
+ if (ReferenceEquals(transferContext, null)) throw new NullReferenceException("Invalid transfer context.");
+ if (offset < 0) throw new ArgumentException("must be >=0", "offset");
+
+ lock (transferContext)
+ {
+ transferLength = 0;
+
+ int transferred;
+ ErrorCode ec;
+
+ transferContext.Fill(buffer, offset, length, timeout);
+
+ while (true)
+ {
+ ec = transferContext.Submit();
+ if (ec == ErrorCode.IoEndpointGlobalCancelRedo) continue;
+ if (ec != ErrorCode.Success) return ec;
+
+ ec = transferContext.Wait(out transferred);
+ if (ec == ErrorCode.IoEndpointGlobalCancelRedo) continue;
+ if (ec != ErrorCode.Success) return ec;
+
+ transferLength += transferred;
+
+ if ((ec != ErrorCode.None || transferred != UsbEndpointBase.MaxReadWrite) ||
+ !transferContext.IncrementTransfer(transferred))
+ break;
+ }
+
+ return ec;
+ }
+ }
+
+ public bool IncrementTransfer(int amount)
+ {
+ mCurrentTransmitted += amount;
+ mCurrentOffset += amount;
+ mCurrentRemaining -= amount;
+
+ if (mCurrentRemaining <= 0) return false;
+
+ return true;
+ }
+
+ protected void IncFailRetries() { mFailRetries++; }
+
+ public void Reset()
+ {
+ mCurrentOffset = mOriginalOffset;
+ mCurrentRemaining = mOriginalCount;
+ mCurrentTransmitted = 0;
+ mFailRetries = 0;
+
+ mTransferCancelEvent.Reset();
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/UsbApiBase.cs b/LibWinUsb/Internal/UsbApiBase.cs
new file mode 100644
index 00000000..3d6e37f2
--- /dev/null
+++ b/LibWinUsb/Internal/UsbApiBase.cs
@@ -0,0 +1,81 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.Internal
+{
+ internal abstract class UsbApiBase
+ {
+ public abstract bool AbortPipe(SafeHandle interfaceHandle, byte pipeID);
+
+ public abstract bool ControlTransfer(SafeHandle interfaceHandle,
+ UsbSetupPacket setupPacket,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred);
+
+ public abstract bool FlushPipe(SafeHandle interfaceHandle, byte pipeID);
+
+ public abstract bool GetDescriptor(SafeHandle interfaceHandle,
+ byte descriptorType,
+ byte index,
+ ushort languageID,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred);
+
+
+ public abstract bool GetOverlappedResult(SafeHandle interfaceHandle, IntPtr pOverlapped, out int numberOfBytesTransferred, bool wait);
+
+ //public abstract bool ReadPipe(UsbEndpointBase endPointBase,
+ // Byte[] buffer,
+ // int bufferLength,
+ // out int lengthTransferred,
+ // int isoPacketSize,
+ // IntPtr pOverlapped);
+
+ public abstract bool ReadPipe(UsbEndpointBase endPointBase,
+ IntPtr pBuffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int isoPacketSize,
+ IntPtr pOverlapped);
+
+ public abstract bool ResetPipe(SafeHandle interfaceHandle, byte pipeID);
+
+ //public abstract bool WritePipe(UsbEndpointBase endPointBase,
+ // Byte[] buffer,
+ // int bufferLength,
+ // out int lengthTransferred,
+ // int isoPacketSize,
+ // IntPtr pOverlapped);
+
+ public abstract bool WritePipe(UsbEndpointBase endPointBase,
+ IntPtr pBuffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int isoPacketSize,
+ IntPtr pOverlapped);
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/UsbRegex/BaseRegSymbolicName.cs b/LibWinUsb/Internal/UsbRegex/BaseRegSymbolicName.cs
new file mode 100644
index 00000000..af9b1f34
--- /dev/null
+++ b/LibWinUsb/Internal/UsbRegex/BaseRegSymbolicName.cs
@@ -0,0 +1,37 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Text.RegularExpressions;
+
+namespace LibUsbDotNet.Internal.UsbRegex
+{
+ internal class BaseRegSymbolicName : Regex
+ {
+ private const RegexOptions OPTIONS =
+ RegexOptions.CultureInvariant | RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline | RegexOptions.Compiled |
+ RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase;
+
+ private const string PATTERN =
+ @"((&){0,1}Vid_(?<Vid>[0-9A-Fa-f]{1,4})(&){0,1}Pid_(?<Pid>[0-9A-Fa-f]{1,4})((&){0,1}Rev_(?<Rev>[0-9A-Fa-f]{1,4})){0,1})((\x23{0,1}\{(?<ClassGuid>([0-9A-Fa-f]+)-([0-9A-Fa-f]+)-([0-9A-Fa-f]+)-([0-9A-Fa-f]+)-([0-9A-Fa-f]+))})|(\x23(?<String>[\x20-\x22\x24-\x2b\x2d-\x7f]+?)(?=\x23|$)))*";
+
+ public BaseRegSymbolicName() : base(PATTERN, OPTIONS) { }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/UsbRegex/NamedGroup.cs b/LibWinUsb/Internal/UsbRegex/NamedGroup.cs
new file mode 100644
index 00000000..dbd9c97d
--- /dev/null
+++ b/LibWinUsb/Internal/UsbRegex/NamedGroup.cs
@@ -0,0 +1,35 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Internal.UsbRegex
+{
+ internal struct NamedGroup
+ {
+ public readonly string GroupName;
+ public readonly int GroupNumber;
+
+ public NamedGroup(int GroupNumber, string GroupName)
+ {
+ this.GroupNumber = GroupNumber;
+ this.GroupName = GroupName;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/UsbRegex/RegHardwareID.cs b/LibWinUsb/Internal/UsbRegex/RegHardwareID.cs
new file mode 100644
index 00000000..253e9777
--- /dev/null
+++ b/LibWinUsb/Internal/UsbRegex/RegHardwareID.cs
@@ -0,0 +1,105 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Text.RegularExpressions;
+
+namespace LibUsbDotNet.Internal.UsbRegex
+{
+ /// <summary>
+ /// Regular expression class for quick parsing of usb hardware ids.
+ /// </summary>
+ internal class RegHardwareID : Regex
+ {
+ #region Enumerations
+
+ public enum ENamedGroups
+ {
+ Vid = 1,
+ Pid = 2,
+ Rev = 3,
+ MI= 4
+ }
+
+ #endregion
+
+ private const RegexOptions OPTIONS =
+ RegexOptions.CultureInvariant | RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline | RegexOptions.Compiled |
+ RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase;
+
+ private const string PATTERN = "(Vid_(?<Vid>[0-9A-F]{1,4}))|(Pid_(?<Pid>[0-9A-F]{1,4}))|(Rev_(?<Rev>[0-9]{1,4}))|(MI_(?<MI>[0-9A-F]{1,2}))";
+
+ public static readonly NamedGroup[] NAMED_GROUPS = new NamedGroup[]
+ {
+ new NamedGroup(1, "Vid"), new NamedGroup(2, "Pid"), new NamedGroup(3, "Rev"),
+ new NamedGroup(4, "MI")
+ };
+
+ public RegHardwareID() : base(PATTERN, OPTIONS) { }
+
+ private static RegHardwareID __globalInstance;
+ public static RegHardwareID GlobalInstance
+ {
+ get
+ {
+ if (ReferenceEquals(__globalInstance,null))
+ __globalInstance=new RegHardwareID();
+ return __globalInstance;
+ }
+ }
+
+ public new string[] GetGroupNames() { return new string[] {"Vid", "Pid", "Rev", "MI"}; }
+
+ public new int[] GetGroupNumbers() { return new int[] {1, 2, 3, 4}; }
+
+ public new string GroupNameFromNumber(int GroupNumber)
+ {
+ switch (GroupNumber)
+ {
+ case 1:
+ return "Vid";
+ case 2:
+ return "Pid";
+ case 3:
+ return "Rev";
+ case 4:
+ return "MI";
+ }
+ return "";
+ }
+
+ public new int GroupNumberFromName(string GroupName)
+ {
+ switch (GroupName)
+ {
+ case "Vid":
+ return 1;
+ case "Pid":
+ return 2;
+ case "Rev":
+ return 3;
+ case "MI":
+ return 4;
+ }
+ return -1;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Internal/UsbRegex/RegSymbolicName.cs b/LibWinUsb/Internal/UsbRegex/RegSymbolicName.cs
new file mode 100644
index 00000000..44cd56a4
--- /dev/null
+++ b/LibWinUsb/Internal/UsbRegex/RegSymbolicName.cs
@@ -0,0 +1,95 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Internal.UsbRegex
+{
+ /// <summary>
+ /// Regular expression class for parsing USB symbolic names and hardware ids.
+ /// </summary>
+ internal class RegSymbolicName : BaseRegSymbolicName
+ {
+ public static readonly NamedGroup[] NamedGroups = new NamedGroup[]
+ {
+ new NamedGroup(1, "Vid"),
+ new NamedGroup(2, "Pid"),
+ new NamedGroup(3, "Rev"),
+ new NamedGroup(4, "ClassGuid"),
+ new NamedGroup(5, "String"),
+ };
+
+ public new string[] GetGroupNames() { return new string[] {"Vid", "Pid", "Rev", "ClassGuid", "String"}; }
+
+ public new int[] GetGroupNumbers() { return new int[] {1, 2, 3, 4, 5}; }
+
+ public new string GroupNameFromNumber(int groupNumber)
+ {
+ switch (groupNumber)
+ {
+ case 1:
+ return "Vid";
+
+ case 2:
+ return "Pid";
+
+ case 3:
+ return "Rev";
+
+ case 4:
+ return "ClassGuid";
+
+ case 5:
+ return "String";
+ }
+ return "";
+ }
+
+ public new int GroupNumberFromName(string groupName)
+ {
+ switch (groupName.ToLower())
+ {
+ case "vid":
+ return 1;
+
+ case "pid":
+ return 2;
+
+ case "rev":
+ return 3;
+
+ case "classguid":
+ return 4;
+
+ case "string":
+ return 5;
+ }
+ return -1;
+ }
+ }
+
+ internal enum NamedGroupType
+ {
+ Vid = 1,
+ Pid = 2,
+ Rev = 3,
+ ClassGuid = 4,
+ String = 5,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/Internal/LibUsbAPI.cs b/LibWinUsb/LibUsb/Internal/LibUsbAPI.cs
new file mode 100644
index 00000000..ce557af4
--- /dev/null
+++ b/LibWinUsb/LibUsb/Internal/LibUsbAPI.cs
@@ -0,0 +1,151 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.Internal.LibUsb
+{
+ internal class LibUsbAPI : UsbApiBase
+ {
+ public override bool AbortPipe(SafeHandle interfaceHandle, byte pipeID)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+
+ int ret;
+ req.Endpoint.ID = pipeID;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+ return LibUsbDriverIO.UsbIOSync(interfaceHandle, LibUsbIoCtl.ABORT_ENDPOINT, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+ }
+
+ public bool ResetDevice(SafeHandle interfaceHandle)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+
+ int ret;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+ return LibUsbDriverIO.UsbIOSync(interfaceHandle, LibUsbIoCtl.RESET_DEVICE, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+ }
+
+ public override bool ControlTransfer(SafeHandle interfaceHandle,
+ UsbSetupPacket setupPacket,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred)
+ {
+ return LibUsbDriverIO.ControlTransfer(interfaceHandle,
+ setupPacket,
+ buffer,
+ bufferLength,
+ out lengthTransferred,
+ UsbConstants.DEFAULT_TIMEOUT);
+ }
+
+ public override bool FlushPipe(SafeHandle interfaceHandle, byte pipeID) { return true; }
+
+
+ public override bool GetDescriptor(SafeHandle interfaceHandle,
+ byte descriptorType,
+ byte index,
+ ushort languageID,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ req.Descriptor.Index = index;
+ req.Descriptor.LangID = languageID;
+ req.Descriptor.Recipient = (byte) UsbEndpointDirection.EndpointIn & 0x1F;
+ req.Descriptor.Type = descriptorType;
+ return LibUsbDriverIO.UsbIOSync(interfaceHandle,
+ LibUsbIoCtl.GET_DESCRIPTOR,
+ req,
+ LibUsbRequest.Size,
+ buffer,
+ bufferLength,
+ out lengthTransferred);
+ }
+
+
+ public override bool GetOverlappedResult(SafeHandle interfaceHandle, IntPtr pOverlapped, out int numberOfBytesTransferred, bool wait) { return Kernel32.GetOverlappedResult(interfaceHandle, pOverlapped, out numberOfBytesTransferred, wait); }
+
+
+ public override bool ReadPipe(UsbEndpointBase endPointBase,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int isoPacketSize,
+ IntPtr pOverlapped)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ req.Endpoint.ID = endPointBase.EpNum;
+ req.Endpoint.PacketSize = isoPacketSize;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int cltCode = endPointBase.Type == EndpointType.Isochronous ? LibUsbIoCtl.ISOCHRONOUS_READ : LibUsbIoCtl.INTERRUPT_OR_BULK_READ;
+
+
+ return Kernel32.DeviceIoControl(endPointBase.Device.Handle,
+ cltCode,
+ req,
+ LibUsbRequest.Size,
+ buffer,
+ bufferLength,
+ out lengthTransferred,
+ pOverlapped);
+ }
+
+ public override bool ResetPipe(SafeHandle interfaceHandle, byte pipeID)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+
+ int ret;
+ req.Endpoint.ID = pipeID;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+ return LibUsbDriverIO.UsbIOSync(interfaceHandle, LibUsbIoCtl.RESET_ENDPOINT, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+ }
+
+
+ public override bool WritePipe(UsbEndpointBase endPointBase,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int isoPacketSize,
+ IntPtr pOverlapped)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ req.Endpoint.ID = endPointBase.EpNum;
+ req.Endpoint.PacketSize = isoPacketSize;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+ int cltCode = endPointBase.Type == EndpointType.Isochronous ? LibUsbIoCtl.ISOCHRONOUS_WRITE : LibUsbIoCtl.INTERRUPT_OR_BULK_WRITE;
+
+ return Kernel32.DeviceIoControl(endPointBase.Handle,
+ cltCode,
+ req,
+ LibUsbRequest.Size,
+ buffer,
+ bufferLength,
+ out lengthTransferred,
+ pOverlapped);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/Internal/LibUsbDriverIO.cs b/LibWinUsb/LibUsb/Internal/LibUsbDriverIO.cs
new file mode 100644
index 00000000..a87fd6ab
--- /dev/null
+++ b/LibWinUsb/LibUsb/Internal/LibUsbDriverIO.cs
@@ -0,0 +1,100 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Threading;
+using LibUsbDotNet.Main;
+using Microsoft.Win32.SafeHandles;
+
+namespace LibUsbDotNet.Internal.LibUsb
+{
+ internal partial class LibUsbDriverIO
+ {
+ public const int ERROR_IO_PENDING = 997;
+ public const int FALSE = 0;
+ public const int FILE_FLAG_OVERLAPPED = 0x40000000;
+ internal const string LIBUSB_DEVICE_NAME = "\\\\.\\libusb0-";
+ public const int TRUE = 1;
+
+ private static byte[] _tempCfgBuf;
+
+ internal static byte[] GlobalTempCfgBuffer
+ {
+ get
+ {
+ if (ReferenceEquals(null, _tempCfgBuf))
+ _tempCfgBuf = new byte[4096];
+
+ return _tempCfgBuf;
+ }
+ }
+
+
+ internal static string GetDeviceNameString(int index) { return String.Format("{0}{1}", LIBUSB_DEVICE_NAME, index.ToString("0000")); }
+
+ internal static SafeFileHandle OpenDevice(String deviceFileName)
+ {
+ return Kernel32.CreateFile(deviceFileName,
+ NativeFileAccess.SPECIAL,
+ NativeFileShare.NONE,
+ IntPtr.Zero,
+ NativeFileMode.OPEN_EXISTING,
+ NativeFileFlag.FILE_FLAG_OVERLAPPED,
+ IntPtr.Zero);
+ }
+
+
+ internal static bool UsbIOSync(SafeHandle dev, int code, Object inBuffer, int inSize, IntPtr outBuffer, int outSize, out int ret)
+ {
+ SafeOverlapped deviceIoOverlapped = new SafeOverlapped();
+ ManualResetEvent hEvent = new ManualResetEvent(false);
+ deviceIoOverlapped.ClearAndSetEvent(hEvent.SafeWaitHandle.DangerousGetHandle());
+ ret = 0;
+
+ if (!Kernel32.DeviceIoControlAsObject(dev, code, inBuffer, inSize, outBuffer, outSize, ref ret, deviceIoOverlapped.GlobalOverlapped))
+ {
+ int iError = Marshal.GetLastWin32Error();
+ if (iError != ERROR_IO_PENDING)
+ {
+ // Don't log errors for these control codes.
+ do
+ {
+ if (code == LibUsbIoCtl.GET_REG_PROPERTY) break;
+ if (code == LibUsbIoCtl.GET_CUSTOM_REG_PROPERTY) break;
+ UsbError.Error(ErrorCode.Win32Error, iError, String.Format("DeviceIoControl code {0:X8} failed:{1}", code, Kernel32.FormatSystemMessage(iError)), typeof(LibUsbDriverIO));
+ } while (false);
+
+ hEvent.Close();
+ return false;
+ }
+ }
+ if (Kernel32.GetOverlappedResult(dev, deviceIoOverlapped.GlobalOverlapped, out ret, true))
+ {
+ hEvent.Close();
+ return true;
+ }
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetOverlappedResult failed.\nIoCtlCode:" + code, typeof(LibUsbDriverIO));
+ hEvent.Close();
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/Internal/LibUsbDriverIO_IOControlMessage.cs b/LibWinUsb/LibUsb/Internal/LibUsbDriverIO_IOControlMessage.cs
new file mode 100644
index 00000000..80187073
--- /dev/null
+++ b/LibWinUsb/LibUsb/Internal/LibUsbDriverIO_IOControlMessage.cs
@@ -0,0 +1,199 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.Internal.LibUsb
+{
+ internal partial class LibUsbDriverIO
+ {
+ public const int EINVAL = 22;
+
+ internal static bool ControlTransferEx(SafeHandle interfaceHandle,
+ UsbSetupPacket setupPacket,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int timeout)
+ {
+ lengthTransferred = 0;
+ LibUsbRequest req = new LibUsbRequest();
+
+ req.Timeout = timeout;
+ req.Control.RequestType = (byte) setupPacket.RequestType;
+ req.Control.Request = (byte) setupPacket.Request;
+ req.Control.Value = (ushort) setupPacket.Value;
+ req.Control.Index = (ushort) setupPacket.Index;
+ req.Control.Length = (ushort) setupPacket.Length;
+
+ /* in request? */
+ Byte[] reqBytes = req.Bytes;
+ Byte[] inBytes = reqBytes;
+ if ((setupPacket.RequestType & (byte) UsbEndpointDirection.EndpointIn) == 0)
+ {
+ inBytes = new byte[LibUsbRequest.Size + bufferLength];
+ reqBytes.CopyTo(inBytes, 0);
+ if (buffer != IntPtr.Zero) Marshal.Copy(buffer, inBytes, LibUsbRequest.Size, bufferLength);
+
+ buffer = IntPtr.Zero;
+ bufferLength = 0;
+ }
+
+ if (UsbIOSync(interfaceHandle, LibUsbIoCtl.CONTROL_TRANSFER, inBytes, inBytes.Length, buffer, bufferLength, out lengthTransferred))
+ {
+ /* in request? */
+ if ((setupPacket.RequestType & (byte)UsbEndpointDirection.EndpointIn) == 0)
+ lengthTransferred = (inBytes.Length - reqBytes.Length);
+
+ return true;
+ }
+ return false;
+ }
+
+ internal static bool ControlTransfer(SafeHandle interfaceHandle,
+ UsbSetupPacket setupPacket,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int timeout)
+ {
+ lengthTransferred = 0;
+ LibUsbRequest req = new LibUsbRequest();
+ int code;
+
+ req.Timeout = timeout;
+
+ switch ((UsbRequestType)(setupPacket.RequestType & (0x03 << 5)))
+ {
+ case UsbRequestType.TypeStandard:
+ switch ((UsbStandardRequest)setupPacket.Request)
+ {
+ case UsbStandardRequest.GetStatus:
+ req.Status.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Status.Index = setupPacket.Index;
+ code = LibUsbIoCtl.GET_STATUS;
+ break;
+
+ case UsbStandardRequest.ClearFeature:
+ req.Feature.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Feature.ID = setupPacket.Value;
+ req.Feature.Index = setupPacket.Index;
+ code = LibUsbIoCtl.CLEAR_FEATURE;
+ break;
+
+ case UsbStandardRequest.SetFeature:
+ req.Feature.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Feature.ID = setupPacket.Value;
+ req.Feature.Index = setupPacket.Index;
+ code = LibUsbIoCtl.SET_FEATURE;
+ break;
+
+ case UsbStandardRequest.GetDescriptor:
+ req.Descriptor.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Descriptor.Type = (setupPacket.Value >> 8) & 0xFF;
+ req.Descriptor.Index = setupPacket.Value & 0xFF;
+ req.Descriptor.LangID = setupPacket.Index;
+ code = LibUsbIoCtl.GET_DESCRIPTOR;
+ break;
+
+ case UsbStandardRequest.SetDescriptor:
+ req.Descriptor.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Descriptor.Type = (setupPacket.Value >> 8) & 0xFF;
+ req.Descriptor.Index = setupPacket.Value & 0xFF;
+ req.Descriptor.LangID = setupPacket.Index;
+ code = LibUsbIoCtl.SET_DESCRIPTOR;
+ break;
+
+ case UsbStandardRequest.GetConfiguration:
+ code = LibUsbIoCtl.GET_CONFIGURATION;
+ break;
+
+ case UsbStandardRequest.SetConfiguration:
+ req.Config.ID = setupPacket.Value;
+ code = LibUsbIoCtl.SET_CONFIGURATION;
+ break;
+
+ case UsbStandardRequest.GetInterface:
+ req.Iface.ID = setupPacket.Index;
+ code = LibUsbIoCtl.GET_INTERFACE;
+ break;
+
+ case UsbStandardRequest.SetInterface:
+ req.Iface.ID = setupPacket.Index;
+ req.Iface.AlternateID = setupPacket.Value;
+ code = LibUsbIoCtl.SET_INTERFACE;
+ break;
+
+ default:
+ UsbError.Error(ErrorCode.IoControlMessage,0,
+ String.Format("Invalid request: 0x{0:X8}", setupPacket.Request),
+ typeof(LibUsbDriverIO));
+ return false;
+ }
+ break;
+
+ case UsbRequestType.TypeVendor:
+ case UsbRequestType.TypeClass:
+
+ req.Vendor.Type = ((byte) setupPacket.RequestType >> 5) & 0x03;
+ req.Vendor.Recipient = (int) setupPacket.RequestType & 0x1F;
+ req.Vendor.Request = (int) setupPacket.Request;
+ req.Vendor.ID = setupPacket.Value;
+ req.Vendor.Index = setupPacket.Index;
+
+ code = ((byte) setupPacket.RequestType & 0x80) > 0 ? LibUsbIoCtl.VENDOR_READ : LibUsbIoCtl.VENDOR_WRITE;
+ break;
+
+ case UsbRequestType.TypeReserved:
+ default:
+ UsbError.Error(ErrorCode.IoControlMessage,0,
+ String.Format("invalid or unsupported request type: 0x{0:X8}", setupPacket.RequestType),
+ typeof(LibUsbDriverIO));
+ return false;
+ }
+
+ /* in request? */
+ Byte[] reqBytes = req.Bytes;
+ Byte[] inBytes = reqBytes;
+ if ((setupPacket.RequestType & (byte)UsbEndpointDirection.EndpointIn) == 0)
+ {
+ inBytes = new byte[LibUsbRequest.Size + bufferLength];
+ reqBytes.CopyTo(inBytes, 0);
+ if (buffer != IntPtr.Zero) Marshal.Copy(buffer, inBytes, LibUsbRequest.Size, bufferLength);
+
+ buffer = IntPtr.Zero;
+ bufferLength = 0;
+ }
+
+ if (UsbIOSync(interfaceHandle, code, inBytes, inBytes.Length, buffer, bufferLength, out lengthTransferred))
+ {
+ /* in request? */
+ if ((setupPacket.RequestType & (byte)UsbEndpointDirection.EndpointIn) == 0)
+ lengthTransferred = (inBytes.Length - reqBytes.Length);
+
+ return true;
+ }
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/Internal/LibUsbIoCtl.cs b/LibWinUsb/LibUsb/Internal/LibUsbIoCtl.cs
new file mode 100644
index 00000000..f0707aff
--- /dev/null
+++ b/LibWinUsb/LibUsb/Internal/LibUsbIoCtl.cs
@@ -0,0 +1,65 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Internal.LibUsb
+{
+ internal static class LibUsbIoCtl
+ {
+ private const int FILE_ANY_ACCESS = 0;
+ private const int FILE_DEVICE_UNKNOWN = 0x00000022;
+
+ private const int METHOD_BUFFERED = 0;
+ private const int METHOD_IN_DIRECT = 1;
+ private const int METHOD_NEITHER = 3;
+ private const int METHOD_OUT_DIRECT = 2;
+
+ public static readonly int ABORT_ENDPOINT = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80F, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int CLAIM_INTERFACE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x815, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int CLEAR_FEATURE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x806, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int CONTROL_TRANSFER = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x903, METHOD_BUFFERED, FILE_ANY_ACCESS);
+
+
+ public static readonly int GET_CONFIGURATION = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x802, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_CUSTOM_REG_PROPERTY = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x901, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_DESCRIPTOR = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x809, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_INTERFACE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x804, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_STATUS = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x807, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_VERSION = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x812, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int GET_REG_PROPERTY = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x900, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int INTERRUPT_OR_BULK_READ = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80B, METHOD_OUT_DIRECT, FILE_ANY_ACCESS);
+ public static readonly int INTERRUPT_OR_BULK_WRITE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80A, METHOD_IN_DIRECT, FILE_ANY_ACCESS);
+ public static readonly int ISOCHRONOUS_READ = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x814, METHOD_OUT_DIRECT, FILE_ANY_ACCESS);
+ public static readonly int ISOCHRONOUS_WRITE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x813, METHOD_IN_DIRECT, FILE_ANY_ACCESS);
+ public static readonly int RELEASE_INTERFACE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x816, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int RESET_DEVICE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x810, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int RESET_ENDPOINT = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80E, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int SET_CONFIGURATION = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int SET_DEBUG_LEVEL = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x811, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int SET_DESCRIPTOR = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x808, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int SET_FEATURE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x805, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int SET_INTERFACE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int VENDOR_READ = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80D, METHOD_BUFFERED, FILE_ANY_ACCESS);
+ public static readonly int VENDOR_WRITE = CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80C, METHOD_BUFFERED, FILE_ANY_ACCESS);
+
+
+ private static int CTL_CODE(int DeviceType, int Function, int Method, int Access) { return ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/Internal/LibUsbRequest.cs b/LibWinUsb/LibUsb/Internal/LibUsbRequest.cs
new file mode 100644
index 00000000..fe151ef9
--- /dev/null
+++ b/LibWinUsb/LibUsb/Internal/LibUsbRequest.cs
@@ -0,0 +1,195 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.Internal.LibUsb
+{
+ [StructLayout(LayoutKind.Explicit, Pack = 1, Size = sizeof (int)*6)]
+ internal class LibUsbRequest
+ {
+ public static int Size = Marshal.SizeOf(typeof (LibUsbRequest));
+ [FieldOffset(0)] public int Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ #region Union Struct
+
+ [FieldOffset(sizeof (int))] public Control Control;
+
+ [FieldOffset(sizeof (int))] public Config Config;
+
+ [FieldOffset(sizeof (int))] public Debug Debug;
+
+ [FieldOffset(sizeof (int))] public Descriptor Descriptor;
+
+ [FieldOffset(sizeof (int))] public Endpoint Endpoint;
+
+ [FieldOffset(sizeof (int))] public Feature Feature;
+
+ [FieldOffset(sizeof (int))] public Iface Iface;
+
+ [FieldOffset(sizeof (int))] public Status Status;
+
+ [FieldOffset(sizeof (int))] public Vendor Vendor;
+
+ [FieldOffset(sizeof (int))] public UsbKernelVersion Version;
+
+ [FieldOffset(sizeof (int))] public DeviceProperty DeviceProperty;
+
+ [FieldOffset(sizeof (int))] public DeviceRegKey DeviceRegKey;
+
+ [FieldOffset(sizeof (int))] public BusQueryID BusQueryID;
+ #endregion
+
+ public Byte[] Bytes
+ {
+ get
+ {
+ Byte[] rtn = new byte[Size];
+
+ for (int i = 0; i < Size; i++)
+ rtn[i] = Marshal.ReadByte(this, i);
+
+ return rtn;
+ }
+ }
+
+
+ public void RequestConfigDescriptor(int index)
+ {
+ Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int value = ((int) DescriptorType.Configuration << 8) + index;
+
+ Descriptor.Recipient = (byte)UsbEndpointDirection.EndpointIn & 0x1F;
+ Descriptor.Type = (value >> 8) & 0xFF;
+ Descriptor.Index = value & 0xFF;
+ Descriptor.LangID = 0;
+ }
+
+ public void RequestStringDescriptor(int index, short langid)
+ {
+ Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int value = ((int) DescriptorType.String << 8) + index;
+
+ Descriptor.Recipient = (byte)UsbEndpointDirection.EndpointIn & 0x1F;
+ Descriptor.Type = value >> 8 & 0xFF;
+ Descriptor.Index = value & 0xFF;
+ Descriptor.LangID = langid;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Descriptor
+ {
+ public int Type;
+ public int Index;
+ public int LangID;
+ public int Recipient;
+ }
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Config
+ {
+ public int ID;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Control
+ {
+ public byte RequestType;
+ public byte Request;
+ public ushort Value;
+ public ushort Index;
+ public ushort Length;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct DeviceProperty
+ {
+ public int ID;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Iface
+ {
+ public int ID;
+ public int AlternateID;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Endpoint
+ {
+ public int ID;
+ public int PacketSize;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Vendor
+ {
+ public int Type;
+ public int Recipient;
+ public int Request;
+ public int ID;
+ public int Index;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Feature
+ {
+ public int Recipient;
+ public int ID;
+ public int Index;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Status
+ {
+ public int Recipient;
+ public int Index;
+ public int ID;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct Debug
+ {
+ public int Level;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct DeviceRegKey
+ {
+ public int KeyType;
+ public int NameOffset;
+ public int ValueOffset;
+ public int ValueLength;
+ } ;
+
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ internal struct BusQueryID
+ {
+ public ushort IDType;
+ } ;
+
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/LibUsbDevice.cs b/LibWinUsb/LibUsb/LibUsbDevice.cs
new file mode 100644
index 00000000..f154ef34
--- /dev/null
+++ b/LibWinUsb/LibUsb/LibUsbDevice.cs
@@ -0,0 +1,320 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Info;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.Main;
+using Microsoft.Win32.SafeHandles;
+
+namespace LibUsbDotNet.LibUsb
+{
+ /// <summary> Contains members that are specific to the LibUsb-Win32 driver.
+ /// </summary>
+ /// <remarks> Use the <see cref="T:LibUsbDotNet.UsbDevice"/> class instead to allow your code to work with either LibUsb or WinUsb.
+ /// </remarks>
+ public class LibUsbDevice : UsbDevice, IUsbDevice
+ {
+ private readonly List<int> mClaimedInterfaces = new List<int>();
+ private readonly string mDeviceFilename;
+
+
+ internal LibUsbDevice(UsbApiBase api, SafeHandle usbHandle, string deviceFilename)
+ : base(api, usbHandle) { mDeviceFilename = deviceFilename; }
+
+ /// <summary>
+ /// Gets a list of libusb devices directly from the kernel; bypassing the windows registry.
+ /// This function is intended for users that do not use the native kernel driver.
+ /// If using the native kernel (sys) driver supplied with LibUsbDotNet see the <see cref="UsbDevice.AllDevices"/>.
+ /// <seealso cref="UsbGlobals"/>
+ /// <seealso cref="UsbDevice.AllLibUsbDevices"/>
+ /// <seealso cref="UsbDevice.AllWinUsbDevices"/>
+ /// <seealso cref="UsbDevice.OpenUsbDevice(LibUsbDotNet.Main.UsbDeviceFinder)"/>
+ /// </summary>
+ public static List<LibUsbDevice> LegacyLibUsbDeviceList
+ {
+ get
+ {
+ List<LibUsbDevice> deviceList = new List<LibUsbDevice>();
+ for (int i = 1; i < UsbConstants.MAX_DEVICES; i++)
+ {
+ LibUsbDevice newLibUsbDevice;
+ string deviceFileName = LibUsbDriverIO.GetDeviceNameString(i);
+ if (!Open(deviceFileName, out newLibUsbDevice)) continue;
+
+ newLibUsbDevice.mDeviceInfo = new UsbDeviceInfo(newLibUsbDevice);
+ newLibUsbDevice.Close();
+ deviceList.Add(newLibUsbDevice);
+ }
+
+ return deviceList;
+ }
+ }
+
+
+ /// <summary>
+ /// Gets the Device filename for this device.
+ /// </summary>
+ public string DeviceFilename
+ {
+ get { return mDeviceFilename; }
+ }
+
+ #region IUsbDevice Members
+
+ ///<summary>
+ /// Opens the USB device handle.
+ ///</summary>
+ ///<returns>
+ ///True if the device is already opened or was opened successfully.
+ ///False if the device does not exists or is no longer valid.
+ ///</returns>
+ public override bool Open()
+ {
+ if (IsOpen) return true;
+
+ mUsbHandle = LibUsbDriverIO.OpenDevice(mDeviceFilename);
+ if (!IsOpen)
+ {
+ UsbError.Error(ErrorCode.Win32Error,Marshal.GetLastWin32Error(), "LibUsbDevice.Open Failed", this);
+ return false;
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// Claims the specified interface of the device.
+ /// </summary>
+ /// <param name="interfaceID">The interface to claim.</param>
+ /// <returns>True on success.</returns>
+ public bool ClaimInterface(int interfaceID)
+ {
+ if (mClaimedInterfaces.Contains(interfaceID)) return true;
+
+ LibUsbRequest req = new LibUsbRequest();
+ req.Iface.ID = interfaceID;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int ret;
+ bool bSuccess = UsbIoSync(LibUsbIoCtl.CLAIM_INTERFACE, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+ if (bSuccess)
+ mClaimedInterfaces.Add(interfaceID);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Returns the DriverMode this USB device is using.
+ /// </summary>
+ public override DriverModeType DriverMode
+ {
+ get { return DriverModeType.LibUsb; }
+ }
+
+ /// <summary>
+ /// Closes the <see cref="UsbDevice"/> and disposes any <see cref="UsbDevice.ActiveEndpoints"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public override bool Close()
+ {
+ if (IsOpen)
+ {
+ ReleaseAllInterfaces();
+ ActiveEndpoints.Clear();
+ mUsbHandle.Close();
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// Releases an interface that was previously claimed with <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <param name="interfaceID">The interface to release.</param>
+ /// <returns>True on success.</returns>
+ public bool ReleaseInterface(int interfaceID)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ req.Iface.ID = interfaceID;
+ if (!mClaimedInterfaces.Remove(interfaceID)) return true;
+
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int ret;
+ // NOTE: A claimed interface is ALWAYS removed from the internal list.
+ bool bSuccess = UsbIoSync(LibUsbIoCtl.RELEASE_INTERFACE, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+
+ return bSuccess;
+ }
+
+
+ /// <summary>
+ /// Sets an alternate interface for the most recent claimed interface.
+ /// </summary>
+ /// <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="ClaimInterface"/>.</param>
+ /// <returns>True on success.</returns>
+ public bool SetAltInterface(int alternateID)
+ {
+ if (mClaimedInterfaces.Count == 0) throw new UsbException(this, "You must claim an interface before setting an alternate interface.");
+ return SetAltInterface(mClaimedInterfaces[mClaimedInterfaces.Count - 1], alternateID);
+ }
+
+ /// <summary>
+ /// Sets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ /// <remarks>
+ /// A USB device can have several different configurations, but only one active configuration.
+ /// </remarks>
+ public bool SetConfiguration(byte config)
+ {
+ int uTransferLength;
+
+ UsbSetupPacket setupPkt = new UsbSetupPacket();
+ setupPkt.RequestType = (byte)UsbEndpointDirection.EndpointOut | (byte)UsbRequestType.TypeStandard | (byte)UsbRequestRecipient.RecipDevice;
+ setupPkt.Request = (byte)UsbStandardRequest.SetConfiguration;
+ setupPkt.Value = config;
+ setupPkt.Index = 0;
+ setupPkt.Length = 0;
+
+ bool bSuccess = ControlTransfer(ref setupPkt, null, 0, out uTransferLength);
+ if (bSuccess)
+ mCurrentConfigValue = config;
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "SetConfiguration", this);
+
+ return bSuccess;
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="deviceFilename">The LibUsb device filename to open.</param>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public static bool Open(string deviceFilename, out LibUsbDevice usbDevice)
+ {
+ usbDevice = null;
+ SafeFileHandle sfh = LibUsbDriverIO.OpenDevice(deviceFilename);
+ if (!sfh.IsClosed && !sfh.IsInvalid)
+ {
+ usbDevice = new LibUsbDevice(LibUsbApi, sfh, deviceFilename);
+ return true;
+ }
+ else
+ {
+// UsbDevice.Error(ErrorCode.DeviceNotFound, "The device is no longer attached or failed to open.", typeof(LibUsbDevice));
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// Releases all interface claimed by <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public int ReleaseAllInterfaces()
+ {
+ int claimedInterfaces = 0;
+ while (mClaimedInterfaces.Count > 0)
+ {
+ claimedInterfaces++;
+ ReleaseInterface(mClaimedInterfaces[mClaimedInterfaces.Count - claimedInterfaces]);
+ }
+
+ return claimedInterfaces;
+ }
+
+ /// <summary>
+ /// Releases the last interface claimed by <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public bool ReleaseInterface()
+ {
+ //throw new UsbException(this, "You must claim an interface before releasing an interface.");
+ if (mClaimedInterfaces.Count == 0) return true;
+ return ReleaseInterface(mClaimedInterfaces[mClaimedInterfaces.Count - 1]);
+ }
+
+ /// <summary>
+ /// Sets an alternate interface for the specified interface.
+ /// </summary>
+ /// <param name="interfaceID">The interface index to specify an alternate setting for.</param>
+ /// <param name="alternateID">The alternate interface setting.</param>
+ /// <returns>True on success.</returns>
+ public bool SetAltInterface(int interfaceID, int alternateID)
+ {
+ if (!mClaimedInterfaces.Contains(interfaceID))
+ throw new UsbException(this, String.Format("You must claim interface {0} before setting an alternate interface.", interfaceID));
+ LibUsbRequest req = new LibUsbRequest();
+ req.Iface.ID = interfaceID;
+ req.Iface.AlternateID = alternateID;
+ req.Timeout = UsbConstants.DEFAULT_TIMEOUT;
+
+ int ret;
+ return UsbIoSync(LibUsbIoCtl.SET_INTERFACE, req, LibUsbRequest.Size, IntPtr.Zero, 0, out ret);
+ }
+
+ /// <summary>
+ /// Sends a usb device reset command.
+ /// </summary>
+ /// <remarks>
+ /// After calling <see cref="ResetDevice"/>, the <see cref="LibUsbDevice"/> instance is disposed and
+ /// no longer usable. A new <see cref="LibUsbDevice"/> instance must be obtained from the device list.
+ /// </remarks>
+ /// <returns>True on success.</returns>
+ public bool ResetDevice()
+ {
+ bool bSuccess;
+ if (!IsOpen) throw new UsbException(this, "Device is not opened.");
+ ActiveEndpoints.Clear();
+
+ if ((bSuccess = LibUsbApi.ResetDevice(mUsbHandle))!=true)
+ {
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "ResetDevice Failed", this);
+ }
+ else
+ {
+ Close();
+ }
+
+ return bSuccess;
+ }
+
+ internal bool ControlTransferEx(UsbSetupPacket setupPacket,
+ IntPtr buffer,
+ int bufferLength,
+ out int lengthTransferred,
+ int timeout)
+ {
+ bool bSuccess = LibUsbDriverIO.ControlTransferEx(mUsbHandle, setupPacket, buffer, bufferLength, out lengthTransferred, timeout);
+
+
+ return bSuccess;
+ }
+
+ internal bool UsbIoSync(int controlCode, Object inBuffer, int inSize, IntPtr outBuffer, int outSize, out int ret) { return LibUsbDriverIO.UsbIOSync(mUsbHandle, controlCode, inBuffer, inSize, outBuffer, outSize, out ret); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/LibUsbDeviceRegistryKeyRequest.cs b/LibWinUsb/LibUsb/LibUsbDeviceRegistryKeyRequest.cs
new file mode 100644
index 00000000..e5ee0071
--- /dev/null
+++ b/LibWinUsb/LibUsb/LibUsbDeviceRegistryKeyRequest.cs
@@ -0,0 +1,116 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Text;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.LibUsb
+{
+ internal static class LibUsbDeviceRegistryKeyRequest
+ {
+ public static byte[] RegGetRequest(string name, int valueBufferSize)
+ {
+ if (valueBufferSize < 1 || name.Trim().Length == 0) throw new UsbException("Global", "Invalid DeviceRegistry het parameter.");
+
+ LibUsbRequest req = new LibUsbRequest();
+ int uOffset = LibUsbRequest.Size;
+ req.DeviceRegKey.KeyType = (int) KeyType.RegBinary;
+
+ byte[] bytesName = Encoding.Unicode.GetBytes(name + "\0");
+
+ req.DeviceRegKey.NameOffset = uOffset;
+ uOffset += bytesName.Length;
+ req.DeviceRegKey.ValueOffset = uOffset;
+ req.DeviceRegKey.ValueLength = (valueBufferSize);
+
+ uOffset += Math.Max(uOffset + 1, valueBufferSize - (LibUsbRequest.Size + bytesName.Length));
+ byte[] buffer = new byte[uOffset];
+ byte[] regBytes = req.Bytes;
+
+ Array.Copy(regBytes, buffer, regBytes.Length);
+ Array.Copy(bytesName, 0, buffer, req.DeviceRegKey.NameOffset, bytesName.Length);
+
+ return buffer;
+ }
+
+ public static byte[] RegSetBinaryRequest(string name, byte[] value)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ int uOffset = LibUsbRequest.Size;
+ req.DeviceRegKey.KeyType = (int) KeyType.RegBinary;
+
+ byte[] bytesName = Encoding.Unicode.GetBytes(name + "\0");
+ byte[] bytesValue = value;
+
+ req.DeviceRegKey.NameOffset = uOffset;
+ uOffset += bytesName.Length;
+ req.DeviceRegKey.ValueOffset = uOffset;
+ req.DeviceRegKey.ValueLength = bytesValue.Length;
+
+ uOffset += bytesValue.Length;
+ byte[] buffer = new byte[uOffset];
+ byte[] regBytes = req.Bytes;
+
+ Array.Copy(regBytes, buffer, regBytes.Length);
+ Array.Copy(bytesName, 0, buffer, req.DeviceRegKey.NameOffset, bytesName.Length);
+ Array.Copy(bytesValue, 0, buffer, req.DeviceRegKey.ValueOffset, bytesValue.Length);
+
+ return buffer;
+ }
+
+ public static byte[] RegSetStringRequest(string name, string value)
+ {
+ LibUsbRequest req = new LibUsbRequest();
+ int uOffset = LibUsbRequest.Size;
+ req.DeviceRegKey.KeyType = (int) KeyType.RegSz;
+
+ byte[] bytesName = Encoding.Unicode.GetBytes(name + "\0");
+ byte[] bytesValue = Encoding.Unicode.GetBytes(value + "\0");
+
+ req.DeviceRegKey.NameOffset = uOffset;
+ uOffset += bytesName.Length;
+ req.DeviceRegKey.ValueOffset = uOffset;
+ req.DeviceRegKey.ValueLength = bytesValue.Length;
+
+ uOffset += bytesValue.Length;
+ byte[] buffer = new byte[uOffset];
+ byte[] regBytes = req.Bytes;
+
+ Array.Copy(regBytes, buffer, regBytes.Length);
+ Array.Copy(bytesName, 0, buffer, req.DeviceRegKey.NameOffset, bytesName.Length);
+ Array.Copy(bytesValue, 0, buffer, req.DeviceRegKey.ValueOffset, bytesValue.Length);
+
+ return buffer;
+ }
+
+ #region Nested Types
+
+ private enum KeyType
+ {
+ RegSz = 1, // Unicode nul terminated string
+ RegBinary = 3, // Free form binary
+ }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/LibUsbKernelType.cs b/LibWinUsb/LibUsb/LibUsbKernelType.cs
new file mode 100644
index 00000000..5a486b28
--- /dev/null
+++ b/LibWinUsb/LibUsb/LibUsbKernelType.cs
@@ -0,0 +1,46 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.LibUsb
+{
+ /// <summary>
+ /// Kernel types supported by LibUsbDotNet. See <see cref="UsbDevice.KernelType"/> for more details.
+ /// </summary>
+ public enum LibUsbKernelType
+ {
+ /// <summary>
+ /// LibUsb support us unavailable.
+ /// </summary>
+ Unknown,
+ /// <summary>
+ /// LibUsbDotNet native kernel driver detected.
+ /// </summary>
+ NativeLibUsb,
+ /// <summary>
+ /// Original libusb-win32 kernel driver detected.
+ /// </summary>
+ LegacyLibUsb,
+ /// <summary>
+ /// mono-linux libusb 1.x driver detected.
+ /// </summary>
+ MonoLibUsb
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/LibUsb/LibUsbRegistry.cs b/LibWinUsb/LibUsb/LibUsbRegistry.cs
new file mode 100644
index 00000000..5204fd1c
--- /dev/null
+++ b/LibWinUsb/LibUsb/LibUsbRegistry.cs
@@ -0,0 +1,321 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using System.Text;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.Main;
+using Microsoft.Win32.SafeHandles;
+using Debug=System.Diagnostics.Debug;
+
+namespace LibUsbDotNet.LibUsb
+{
+ /// <summary> LibUsb specific members for device registry settings.
+ /// </summary>
+ public class LibUsbRegistry : UsbRegistry
+ {
+ private readonly string mDeviceFilename;
+ private readonly int mDeviceIndex;
+
+ private LibUsbRegistry(SafeFileHandle usbHandle, string deviceFileName, int deviceIndex)
+ {
+ mDeviceFilename = deviceFileName;
+ mDeviceIndex = deviceIndex;
+ GetPropertiesSPDRP(usbHandle);
+ string symbolicName;
+
+ if (GetCustomDeviceKeyValue(usbHandle, SYMBOLIC_NAME_KEY, out symbolicName, 512) == ErrorCode.None)
+ {
+ mDeviceProperties.Add(SYMBOLIC_NAME_KEY, symbolicName);
+ }
+
+ // If the SymbolicName key does not exists, use the first HardwareID string.
+ if (!mDeviceProperties.ContainsKey(SYMBOLIC_NAME_KEY) || String.IsNullOrEmpty(symbolicName))
+ {
+ string[] hwIDs = mDeviceProperties[SPDRP.HardwareId.ToString()] as string[];
+
+ if ((hwIDs == null) || hwIDs.Length==0)
+ {
+ LibUsbDevice usbDevice = new LibUsbDevice(UsbDevice.LibUsbApi, usbHandle, deviceFileName);
+ LegacyUsbRegistry.GetPropertiesSPDRP(usbDevice, mDeviceProperties);
+ return;
+ }
+
+ if (hwIDs.Length > 0)
+ {
+ mDeviceProperties.Add(SYMBOLIC_NAME_KEY, hwIDs[0]);
+ }
+ }
+
+ string deviceInterfaceGuids;
+ if (GetCustomDeviceKeyValue(usbHandle, LIBUSB_INTERFACE_GUIDS, out deviceInterfaceGuids, 512) == ErrorCode.None)
+ {
+ string[] deviceInterfaceGuidsArray = deviceInterfaceGuids.Split(new char[] {'\0'}, StringSplitOptions.RemoveEmptyEntries);
+
+ mDeviceProperties.Add(LIBUSB_INTERFACE_GUIDS, deviceInterfaceGuidsArray);
+ }
+ }
+
+ /// <summary>
+ /// Gets the 0 based index of this libusb device
+ /// </summary>
+ public int DeviceIndex
+ {
+ get { return mDeviceIndex; }
+ }
+
+ /// <summary>
+ /// Gets a list of available LibUsb devices.
+ /// </summary>
+ public static List<LibUsbRegistry> DeviceList
+ {
+ get
+ {
+ List<LibUsbRegistry> deviceList = new List<LibUsbRegistry>();
+ for (int i = 1; i < UsbConstants.MAX_DEVICES; i++)
+ {
+ string deviceFileName = LibUsbDriverIO.GetDeviceNameString(i);
+
+ SafeFileHandle deviceHandle = LibUsbDriverIO.OpenDevice(deviceFileName);
+ if (deviceHandle != null && !deviceHandle.IsInvalid && !deviceHandle.IsClosed)
+ {
+ try
+ {
+ LibUsbRegistry regInfo = new LibUsbRegistry(deviceHandle, deviceFileName, i);
+ //System.Diagnostics.Debug.Print("Address:{0}, Index:{1}, {2}", regInfo[SPDRP.Address], i, regInfo[SPDRP.DeviceDesc]);
+ deviceList.Add(regInfo);
+ }
+ catch (Exception ex)
+ {
+ Debug.Print(ex.Message);
+ }
+ }
+ if (deviceHandle != null && !deviceHandle.IsClosed) deviceHandle.Close();
+ }
+
+ return deviceList;
+ }
+ }
+
+ /// <summary>
+ /// Check this value to determine if the usb device is still connected to the bus and ready to open.
+ /// </summary>
+ public override bool IsAlive
+ {
+ get
+ {
+ if (String.IsNullOrEmpty(SymbolicName)) throw new UsbException(this, "A symbolic name is required for this property.");
+ List<LibUsbRegistry> deviceList = DeviceList;
+ foreach (LibUsbRegistry registry in deviceList)
+ {
+ if (String.IsNullOrEmpty(registry.SymbolicName)) continue;
+
+ if (registry.SymbolicName == SymbolicName)
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <returns>Return a new instance of the <see cref="UsbDevice"/> class.
+ /// If the device fails to open a null refrence is return. For extended error
+ /// information use the <see cref="UsbDevice.UsbErrorEvent"/>.
+ /// </returns>
+ public override UsbDevice Device
+ {
+ get
+ {
+ LibUsbDevice libUsbDevice;
+ Open(out libUsbDevice);
+ return libUsbDevice;
+ }
+ }
+
+ /// <summary>
+ /// Gets the DeviceInterfaceGuids for the WinUsb device.
+ /// </summary>
+ public override Guid[] DeviceInterfaceGuids
+ {
+ get
+ {
+ if (ReferenceEquals(mDeviceInterfaceGuids, null))
+ {
+ if (!mDeviceProperties.ContainsKey(LIBUSB_INTERFACE_GUIDS)) return new Guid[0];
+
+ string[] saDeviceInterfaceGuids = mDeviceProperties[LIBUSB_INTERFACE_GUIDS] as string[];
+ if (ReferenceEquals(saDeviceInterfaceGuids, null)) return new Guid[0];
+
+ mDeviceInterfaceGuids = new Guid[saDeviceInterfaceGuids.Length];
+
+ for (int i = 0; i < saDeviceInterfaceGuids.Length; i++)
+ {
+ string sGuid = saDeviceInterfaceGuids[i].Trim(new char[] {' ', '{', '}', '[', ']', '\0'});
+ mDeviceInterfaceGuids[i] = new Guid(sGuid);
+ }
+ }
+ return mDeviceInterfaceGuids;
+ }
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public bool Open(out LibUsbDevice usbDevice)
+ {
+ bool bSuccess = LibUsbDevice.Open(mDeviceFilename, out usbDevice);
+ if (bSuccess)
+ {
+ usbDevice.mUsbRegistry = this;
+ }
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public override bool Open(out UsbDevice usbDevice)
+ {
+ usbDevice = null;
+ LibUsbDevice libUsbDevice;
+ bool bSuccess = Open(out libUsbDevice);
+ if (bSuccess)
+ usbDevice = libUsbDevice;
+ return bSuccess;
+ }
+
+ internal ErrorCode GetCustomDeviceKeyValue(SafeFileHandle usbHandle, string key, out string propData, int maxDataLength)
+ {
+ byte[] propDataBytes;
+ ErrorCode eReturn = GetCustomDeviceKeyValue(usbHandle, key, out propDataBytes, maxDataLength);
+ if (eReturn == ErrorCode.None)
+ {
+ propData = Encoding.Unicode.GetString(propDataBytes);
+ propData.TrimEnd(new char[] {'\0'});
+ }
+ else
+ {
+ propData = null;
+ }
+
+ return eReturn;
+ }
+
+ internal ErrorCode GetCustomDeviceKeyValue(SafeFileHandle usbHandle, string key, out byte[] propData, int maxDataLength)
+ {
+ ErrorCode eReturn = ErrorCode.None;
+ int iReturnBytes;
+ propData = null;
+ byte[] bytesReq = LibUsbDeviceRegistryKeyRequest.RegGetRequest(key, maxDataLength);
+ GCHandle gcbytesReq = GCHandle.Alloc(bytesReq, GCHandleType.Pinned);
+
+ bool bSuccess = LibUsbDriverIO.UsbIOSync(usbHandle,
+ LibUsbIoCtl.GET_CUSTOM_REG_PROPERTY,
+ bytesReq,
+ bytesReq.Length,
+ gcbytesReq.AddrOfPinnedObject(),
+ bytesReq.Length,
+ out iReturnBytes);
+ gcbytesReq.Free();
+ if (bSuccess)
+ {
+ propData = new byte[iReturnBytes];
+ Array.Copy(bytesReq, propData, iReturnBytes);
+ }
+ else
+ {
+ eReturn = ErrorCode.GetDeviceKeyValueFailed;
+ // dont log this as an error;
+ //UsbError.Error(eReturn,0, "Failed getting device registry Key:" + key, this);
+ }
+ return eReturn;
+ }
+
+ private void GetPropertiesSPDRP(SafeHandle usbHandle)
+ {
+ byte[] propBuffer = new byte[1024];
+ GCHandle gcPropBuffer = GCHandle.Alloc(propBuffer, GCHandleType.Pinned);
+
+ LibUsbRequest req = new LibUsbRequest();
+ Dictionary<string, int> allProps = Helper.GetEnumData(typeof (DevicePropertyType));
+ foreach (KeyValuePair<string, int> prop in allProps)
+ {
+ object oValue = String.Empty;
+
+ req.DeviceProperty.ID = prop.Value;
+ int iReturnBytes;
+ bool bSuccess = LibUsbDriverIO.UsbIOSync(usbHandle,
+ LibUsbIoCtl.GET_REG_PROPERTY,
+ req,
+ LibUsbRequest.Size,
+ gcPropBuffer.AddrOfPinnedObject(),
+ propBuffer.Length,
+ out iReturnBytes);
+ if (bSuccess)
+ {
+ switch ((DevicePropertyType) prop.Value)
+ {
+ case DevicePropertyType.PhysicalDeviceObjectName:
+ case DevicePropertyType.LocationInformation:
+ case DevicePropertyType.Class:
+ case DevicePropertyType.Mfg:
+ case DevicePropertyType.DeviceDesc:
+ case DevicePropertyType.Driver:
+ case DevicePropertyType.EnumeratorName:
+ case DevicePropertyType.FriendlyName:
+ case DevicePropertyType.ClassGuid:
+ oValue = GetAsString(propBuffer, iReturnBytes);
+ break;
+ case DevicePropertyType.HardwareId:
+ case DevicePropertyType.CompatibleIds:
+ oValue = GetAsStringArray(propBuffer, iReturnBytes);
+ break;
+ case DevicePropertyType.BusNumber:
+ case DevicePropertyType.InstallState:
+ case DevicePropertyType.LegacyBusType:
+ case DevicePropertyType.RemovalPolicy:
+ case DevicePropertyType.UiNumber:
+ case DevicePropertyType.Address:
+ oValue = GetAsStringInt32(propBuffer, iReturnBytes);
+ break;
+ case DevicePropertyType.BusTypeGuid:
+ oValue = GetAsGuid(propBuffer, iReturnBytes);
+ break;
+ }
+ }
+ else
+ oValue = String.Empty;
+
+ mDeviceProperties.Add(prop.Key, oValue);
+ }
+ gcPropBuffer.Free();
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/ControlEpLockType.cs b/LibWinUsb/Main/ControlEpLockType.cs
new file mode 100644
index 00000000..e1081329
--- /dev/null
+++ b/LibWinUsb/Main/ControlEpLockType.cs
@@ -0,0 +1,54 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: sourceforge.net/projects/libusbdotnet/
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary> The locking strategy for endpoint 0 operations in regards to any pending endpoint data operations.
+ /// </summary>
+ /// <remarks> Some USB devices have problems handling endpoint 0 control messages when other endpoints on the device have pending IO operations.
+ /// Must be combined with <see cref="LibUsbDotNet.Main.DeviceLockType.Locked"/>.
+ /// </remarks>
+ public enum ControlEpLockType
+ {
+ /// <summary>
+ /// Endpoint 0 transfers do not interfere with data endpoint transfers in any way. This is the default.
+ /// </summary>
+ None,
+ /// <summary>
+ /// If data endpoints for the device remain busy for longer than <see cref="UsbDevice.DeviceLockTimeout"/>, then force an IO cancel operation for the busy endpoints.
+ /// </summary>
+ /// <remarks>
+ /// There is a potential for loss of data when using this option.
+ /// This will immediately cancel pending I/O transfers on all data endpoints when a enpoint 0 control transfer is initiated.
+ /// </remarks>
+ CancelIoOnLockTimeout,
+ /// <summary>
+ /// If data endpoints for the device remain busy for longer than <see cref="UsbDevice.DeviceLockTimeout"/>, then consider the remaining endpoints with IO pending operation as idle and continue with operation.
+ /// This option is the same as ErrorOnLockTimeout only instead of returning with an error after the lock timeout period, an attempt is made to transfer data anyways. (Ignoring the lock)
+ /// </summary>
+ ContinueOnLockTimeout,
+ /// <summary>
+ /// If data endpoints for the device remain busy for longer than <see cref="UsbDevice.DeviceLockTimeout"/>, then return a LockTimeout error code.
+ /// Setting this value will lock ALL the devices data endpoints (1-15) before transfering data to the control enpoint 0.
+ /// </summary>
+ ErrorOnLockTimeout
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/DataEpLockType.cs b/LibWinUsb/Main/DataEpLockType.cs
new file mode 100644
index 00000000..4b667db8
--- /dev/null
+++ b/LibWinUsb/Main/DataEpLockType.cs
@@ -0,0 +1,44 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: sourceforge.net/projects/libusbdotnet/
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Data endpoint locking strategy.
+ /// </summary>
+ [Flags]
+ public enum DataEpLockType
+ {
+ /// <summary>
+ /// Don't lock the device IO functions.
+ /// </summary>
+ /// <remarks>
+ /// This option is not thread/proccess safe.
+ /// </remarks>
+ None,
+ /// <summary>
+ /// Use a semapore to lock data endpoint IO operations. This prevents multiple threads/proccesses from accessing
+ /// the same <see cref="UsbEndpointBase.EpNum"/> at the same time.
+ /// </summary>
+ Locked,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/DataReceivedEnabledChangedEventArgs.cs b/LibWinUsb/Main/DataReceivedEnabledChangedEventArgs.cs
new file mode 100644
index 00000000..11aa7bc6
--- /dev/null
+++ b/LibWinUsb/Main/DataReceivedEnabledChangedEventArgs.cs
@@ -0,0 +1,59 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Event arguments that are passed when <see cref="UsbEndpointReader.DataReceivedEnabled"/> is changes state.
+ /// </summary>
+ public class DataReceivedEnabledChangedEventArgs : EventArgs
+ {
+ private readonly bool mEnabled;
+ private readonly ErrorCode mErrorCode = ErrorCode.Success;
+
+ internal DataReceivedEnabledChangedEventArgs(bool enabled, ErrorCode errorCode)
+ {
+ mEnabled = enabled;
+ mErrorCode = errorCode;
+ }
+
+ internal DataReceivedEnabledChangedEventArgs(bool enabled)
+ : this(enabled, ErrorCode.Success) { }
+
+ /// <summary>
+ /// The <see cref="Main.ErrorCode"/> that caused the <see cref="UsbEndpointReader.DataReceived"/> event to terminate.
+ /// </summary>
+ public ErrorCode ErrorCode
+ {
+ get { return mErrorCode; }
+ }
+
+ /// <summary>
+ /// <c>True</c> if <see cref="UsbEndpointReader.DataReceivedEnabled"/> changes from <c>True</c> to <c>False</c>.
+ /// </summary>
+ public bool Enabled
+ {
+ get { return mEnabled; }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/DeviceLockType.cs b/LibWinUsb/Main/DeviceLockType.cs
new file mode 100644
index 00000000..56fa76c5
--- /dev/null
+++ b/LibWinUsb/Main/DeviceLockType.cs
@@ -0,0 +1,48 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: sourceforge.net/projects/libusbdotnet/
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> The locking strategy for endpoint 0 operations per proccess/thread
+ /// </summary>
+ [Flags]
+ public enum DeviceLockType
+ {
+ /// <summary>
+ /// Don't lock the device IO functions.
+ /// </summary>
+ /// <remarks>
+ /// This option is not thread/proccess safe.
+ /// </remarks>
+ None,
+ /// <summary>
+ /// Use a global semapore to lock endpoint I/O operations. This prevents multiple threads/proccesses from accessing
+ /// the <see cref="UsbDevice"/> IO functions (IE <see cref="UsbDevice.ControlTransfer(ref UsbSetupPacket,object,int,out int)"/><see cref="UsbDevice.GetString"/>, etc..) at the same time.
+ /// </summary>
+ /// <remarks>
+ /// Using this option will allow your LibUsbDotNet applications to comunicate cooperatively with the same USB device.
+ /// NOTE: Usb devices using the WinUsb.dll driver can't be shared by multiple processes.
+ /// </remarks>
+ Locked,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/DevicePropertyType.cs b/LibWinUsb/Main/DevicePropertyType.cs
new file mode 100644
index 00000000..026ff32e
--- /dev/null
+++ b/LibWinUsb/Main/DevicePropertyType.cs
@@ -0,0 +1,101 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Standard Windows registry properties for USB devices and other hardware.
+ /// </summary>
+ public enum DevicePropertyType
+ {
+ /// <summary>
+ /// Requests a string describing the device, such as "Microsoft PS/2 Port Mouse", typically defined by the manufacturer.
+ /// </summary>
+ DeviceDesc = 0,
+ /// <summary>
+ /// Requests the hardware IDs provided by the device that identify the device.
+ /// </summary>
+ HardwareId = 1,
+ /// <summary>
+ /// Requests the compatible IDs reported by the device.
+ /// </summary>
+ CompatibleIds = 2,
+ /// <summary>
+ /// Requests the name of the device's setup class, in text format.
+ /// </summary>
+ Class = 5,
+ /// <summary>
+ /// Requests the GUID for the device's setup class.
+ /// </summary>
+ ClassGuid = 6,
+ /// <summary>
+ /// Requests the name of the driver-specific registry key.
+ /// </summary>
+ Driver = 7,
+ /// <summary>
+ /// Requests a string identifying the manufacturer of the device.
+ /// </summary>
+ Mfg = 8,
+ /// <summary>
+ /// Requests a string that can be used to distinguish between two similar devices, typically defined by the class installer.
+ /// </summary>
+ FriendlyName = 9,
+ /// <summary>
+ /// Requests information about the device's location on the bus; the interpretation of this information is bus-specific.
+ /// </summary>
+ LocationInformation = 10,
+ /// <summary>
+ /// Requests the name of the PDO for this device.
+ /// </summary>
+ PhysicalDeviceObjectName = 11,
+ /// <summary>
+ /// Requests the GUID for the bus that the device is connected to.
+ /// </summary>
+ BusTypeGuid = 12,
+ /// <summary>
+ /// Requests the bus type, such as PCIBus or PCMCIABus.
+ /// </summary>
+ LegacyBusType = 13,
+ /// <summary>
+ /// Requests the legacy bus number of the bus the device is connected to.
+ /// </summary>
+ BusNumber = 14,
+ /// <summary>
+ /// Requests the name of the enumerator for the device, such as "USB".
+ /// </summary>
+ EnumeratorName = 15,
+ /// <summary>
+ /// Requests the address of the device on the bus.
+ /// </summary>
+ Address = 16,
+ /// <summary>
+ /// Requests a number associated with the device that can be displayed in the user interface.
+ /// </summary>
+ UiNumber = 17,
+ /// <summary>
+ /// Windows XP and later.) Requests the device's installation state.
+ /// </summary>
+ InstallState = 18,
+ /// <summary>
+ /// (Windows XP and later.) Requests the device's current removal policy. The operating system uses this value as a hint to determine how the device is normally removed.
+ /// </summary>
+ RemovalPolicy = 19
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/EndpointDataEventArgs.cs b/LibWinUsb/Main/EndpointDataEventArgs.cs
new file mode 100644
index 00000000..28135a03
--- /dev/null
+++ b/LibWinUsb/Main/EndpointDataEventArgs.cs
@@ -0,0 +1,58 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Endpoint data received arguments returned by the <see cref="E:LibUsbDotNet.UsbEndpointReader.DataReceived"/> event.
+ /// </summary>
+ public class EndpointDataEventArgs : EventArgs
+ {
+ private readonly byte[] mBytesReceived;
+ private readonly int mCount;
+
+ internal EndpointDataEventArgs(byte[] bytes, int size)
+ {
+ mBytesReceived = bytes;
+ mCount = size;
+ }
+
+ /// <summary>
+ /// Gets the buffer of the received data.
+ /// </summary>
+ /// <remarks>
+ /// Use the <see cref="EndpointDataEventArgs.Count"/> property to determine the number of bytes actually received.
+ /// </remarks>
+ public byte[] Buffer
+ {
+ get { return mBytesReceived; }
+ }
+
+ /// <summary>
+ /// Gets the number of bytes received.
+ /// </summary>
+ public int Count
+ {
+ get { return mCount; }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/EndpointType.cs b/LibWinUsb/Main/EndpointType.cs
new file mode 100644
index 00000000..8a341fbf
--- /dev/null
+++ b/LibWinUsb/Main/EndpointType.cs
@@ -0,0 +1,48 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> All possible USB endpoint types.
+ /// </summary>
+ [Flags]
+ public enum EndpointType : byte
+ {
+ /// <summary>
+ /// Control endpoint type.
+ /// </summary>
+ Control,
+ /// <summary>
+ /// Isochronous endpoint type.
+ /// </summary>
+ Isochronous,
+ /// <summary>
+ /// Bulk endpoint type.
+ /// </summary>
+ Bulk,
+ /// <summary>
+ /// Interrupt endpoint type.
+ /// </summary>
+ Interrupt
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/ErrorCode.cs b/LibWinUsb/Main/ErrorCode.cs
new file mode 100644
index 00000000..651c3b64
--- /dev/null
+++ b/LibWinUsb/Main/ErrorCode.cs
@@ -0,0 +1,184 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+using MonoLibUsb;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// General area in which the failure occurred. See the <see cref="UsbError"/> class.
+ /// </summary>
+ public enum ErrorCode
+ {
+ /// <summary>
+ /// No error. (None, Success, and Ok)
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// No error.
+ /// </summary>
+ Success = 0,
+ /// <summary>
+ /// No error.
+ /// </summary>
+ Ok = 0,
+ /// <summary>
+ /// The USB device has errors in its Configuration descriptor.
+ /// </summary>
+ InvalidConfig = -16384,
+ /// <summary>
+ /// A synchronous device IO operation failed.
+ /// </summary>
+ IoSyncFailed,
+ /// <summary>
+ /// A request for a string failed.
+ /// </summary>
+ GetString,
+ /// <summary>
+ /// A specified endpoint is invalid for the operation.
+ /// </summary>
+ InvalidEndpoint,
+ /// <summary>
+ /// A request to cancel IO operation failed.
+ /// </summary>
+ AbortEndpoint,
+ /// <summary>
+ /// A call to the core Win32 API DeviceIOControl failed.
+ /// </summary>
+ DeviceIoControl,
+ /// <summary>
+ /// A call to the core Win32 API GetOverlappedResult failed.
+ /// </summary>
+ GetOverlappedResult,
+ /// <summary>
+ /// An Endpoints receive thread was dangerously terminated.
+ /// </summary>
+ ReceiveThreadTerminated,
+ /// <summary>
+ /// A write operation failed.
+ /// </summary>
+ WriteFailed,
+ /// <summary>
+ /// A read operation failed.
+ /// </summary>
+ ReadFailed,
+ /// <summary>
+ /// An endpoint 0 IO control message failed.
+ /// </summary>
+ IoControlMessage,
+ /// <summary>
+ /// The action of cancelling the IO operation failed.
+ /// </summary>
+ CancelIoFailed,
+ /// <summary>
+ /// An IO operation was cancelled by the user before it completed.
+ /// </summary>
+ /// <remarks>
+ /// IoCancelled errors may occur as normal operation; for this reason they are not logged as a <see cref="UsbError"/>.
+ /// </remarks>
+ IoCancelled,
+ /// <summary>
+ /// An IO operation timed out before it completed.
+ /// </summary>
+ /// <remarks>
+ /// IoTimedOut errors may occur as normal operation; for this reason they are not logged as a <see cref="UsbError"/>.
+ /// </remarks>
+ IoTimedOut,
+ /// <summary>
+ /// An IO operation was cancelled and will be re-submiited when ready.
+ /// </summary>
+ /// <remarks>
+ /// IoEndpointGlobalCancelRedo errors may occur as normal operation; for this reason they are not logged as a <see cref="UsbError"/>.
+ /// </remarks>
+ IoEndpointGlobalCancelRedo,
+ /// <summary>
+ /// Failed retrieving a custom USB device key value.
+ /// </summary>
+ GetDeviceKeyValueFailed,
+ /// <summary>
+ /// Failed setting a custom USB device key value.
+ /// </summary>
+ SetDeviceKeyValueFailed,
+ /// <summary>
+ /// The error is a standard windows error.
+ /// </summary>
+ Win32Error,
+ /// <summary>
+ /// An attempt was made to lock a device that is already locked.
+ /// </summary>
+ DeviceAllreadyLocked,
+ /// <summary>
+ /// An attempt was made to lock an endpoint that is already locked.
+ /// </summary>
+ EndpointAllreadyLocked,
+ /// <summary>
+ /// The USB device request failed because the USB device was not found.
+ /// </summary>
+ DeviceNotFound,
+ /// <summary>
+ /// Operation was intentionally cancelled by the user or application.
+ /// </summary>
+ UserAborted,
+ /// <summary>
+ /// Invalid parameter.
+ /// </summary>
+ InvalidParam,
+
+ /// <summary>
+ /// Access denied (insufficient permissions).
+ /// </summary>
+ AccessDenied,
+ /// <summary>
+ /// Resource Busy.
+ /// </summary>
+ ResourceBusy,
+ /// <summary>
+ /// Overflow.
+ /// </summary>
+ Overflow,
+ /// <summary>
+ /// Pipe error or endpoint halted.
+ /// </summary>
+ PipeError,
+ /// <summary>
+ /// System call interrupted (perhaps due to signal).
+ /// </summary>
+ Interrupted,
+
+ /// <summary>
+ /// Insufficient memory.
+ /// </summary>
+ InsufficientMemory,
+ /// <summary>
+ /// Operation not supported or unimplemented on this platform.
+ /// </summary>
+ NotSupported,
+ /// <summary>
+ /// Unknown or other error.
+ /// </summary>
+ UnknownError,
+ /// <summary>
+ /// The error is one of the <see cref="MonoUsbError"/>
+ /// </summary>
+ MonoApiError
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/Helper.cs b/LibWinUsb/Main/Helper.cs
new file mode 100644
index 00000000..9b3ee539
--- /dev/null
+++ b/LibWinUsb/Main/Helper.cs
@@ -0,0 +1,283 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// General utilities class used by LudnLite and exposed publicly for your convience.
+ /// </summary>
+ public static class Helper
+ {
+ private static object mIsLinux;
+ private static OperatingSystem mOs;
+
+ /// <summary>
+ /// Gets the <see cref="OperatingSystem"/> class.
+ /// </summary>
+ public static OperatingSystem OSVersion
+ {
+ get
+ {
+ if (ReferenceEquals(mOs, null))
+ mOs = Environment.OSVersion;
+
+ return mOs;
+ }
+ }
+
+ /// <summary>
+ /// True if running on a unix-like operating system.
+ /// False if using the Libusb-1.0 windows backend driver.
+ /// </summary>
+ public static bool IsLinux
+ {
+ get
+ {
+ if (ReferenceEquals(mIsLinux, null))
+ {
+ switch (OSVersion.Platform.ToString())
+ {
+ case "Win32S":
+ case "Win32Windows":
+ case "Win32NT":
+ case "WinCE":
+ case "Xbox":
+ mIsLinux = false;
+ break;
+ case "Unix":
+ case "MacOSX":
+ mIsLinux = true;
+ break;
+ default:
+ throw new NotSupportedException(string.Format("Operating System:{0} not supported.", OSVersion));
+ }
+ }
+ return (bool)mIsLinux;
+ }
+ }
+
+ /// <summary>
+ /// Copies bytes to a blittable object.
+ /// </summary>
+ /// <param name="sourceBytes">bytes to copy</param>
+ /// <param name="iStartIndex">Start index</param>
+ /// <param name="iLength">number of bytes to copy</param>
+ /// <param name="destObject">blittable destination object</param>
+ public static void BytesToObject(byte[] sourceBytes, int iStartIndex, int iLength, object destObject)
+ {
+ GCHandle gch = GCHandle.Alloc(destObject, GCHandleType.Pinned);
+
+ IntPtr ptrDestObject = gch.AddrOfPinnedObject();
+ Marshal.Copy(sourceBytes, iStartIndex, ptrDestObject, iLength);
+
+ gch.Free();
+ }
+
+ /// <summary>
+ /// Returns a dictionary object of enumeration names and values.
+ /// </summary>
+ /// <param name="type">They <see cref="Type"/> of enumeration.</param>
+ /// <returns>A <see cref="Dictionary{TKey,TValue}"/> enumeration of names and values.</returns>
+ public static Dictionary<string, int> GetEnumData(Type type)
+ {
+ Dictionary<string, int> dictEnum = new Dictionary<string, int>();
+ FieldInfo[] enumFields = type.GetFields();
+ for (int iField = 1; iField < enumFields.Length; iField++)
+ {
+ object oValue = enumFields[iField].GetRawConstantValue();
+ dictEnum.Add(enumFields[iField].Name, Convert.ToInt32(oValue));
+ }
+
+ return dictEnum;
+ }
+
+
+ /// <summary>
+ /// Swaps low and high bytes on big endian systems. Has no effect on little endian systems.
+ /// </summary>
+ /// <param name="swapValue">The value to convert.</param>
+ /// <returns>a swapped value an big endian system, the same value on little endian systems</returns>
+ public static short HostEndianToLE16(short swapValue)
+ {
+ HostEndian16BitValue rtn = new HostEndian16BitValue(swapValue);
+ return (short)rtn.U16;
+ }
+
+ /// <summary>
+ /// Converts standard values to decorated hex string values.
+ /// </summary>
+ /// <param name="standardValue">The value to convert.</param>
+ /// <returns>A string representing <paramref name="standardValue"/> in hex display format.</returns>
+ public static string ShowAsHex(object standardValue)
+ {
+ if (standardValue == null) return "";
+ if (standardValue is Int64) return "0x" + ((Int64)standardValue).ToString("X16");
+ if (standardValue is UInt32) return "0x" + ((UInt32)standardValue).ToString("X8");
+ if (standardValue is Int32) return "0x" + ((Int32)standardValue).ToString("X8");
+ if (standardValue is UInt16) return "0x" + ((UInt16)standardValue).ToString("X4");
+ if (standardValue is Int16) return "0x" + ((Int16)standardValue).ToString("X4");
+ if (standardValue is Byte) return "0x" + ((Byte)standardValue).ToString("X2");
+ if (standardValue is String) return HexString(standardValue as byte[], "", " ");
+
+ return "";
+ }
+
+ /// <summary>
+ /// Builds a delimited string of names and values.
+ /// </summary>
+ /// <param name="sep0">Inserted and the begining of the entity.</param>
+ /// <param name="names">The list of names for the object values.</param>
+ /// <param name="sep1">Inserted between the name and value.</param>
+ /// <param name="values">The values for the names.</param>
+ /// <param name="sep2">Inserted and the end of the entity.</param>
+ /// <returns>The formatted string.</returns>
+ public static string ToString(string sep0, string[] names, string sep1, object[] values, string sep2)
+ {
+ StringBuilder sb = new StringBuilder();
+
+ for (int i = 0; i < names.Length; i++)
+ sb.Append(sep0 + names[i] + sep1 + values[i] + sep2);
+
+ return sb.ToString();
+ }
+
+ #region Nested Types
+
+ [StructLayout(LayoutKind.Explicit, Pack = 1)]
+ internal struct HostEndian16BitValue
+ {
+ public HostEndian16BitValue(short x)
+ {
+ U16 = 0;
+ B1 = (byte)(x >> 8);
+ B0 = (byte)(x & 0xff);
+ }
+
+ [FieldOffset(0)]
+ public readonly ushort U16;
+
+ [FieldOffset(0)]
+ public readonly byte B0;
+
+ [FieldOffset(1)]
+ public readonly byte B1;
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Builds a formatted hexidecimal string from an array of bytes.
+ /// </summary>
+ /// <param name="data">the byte array</param>
+ /// <param name="prefix">string to place before each byte</param>
+ /// <param name="suffix">string to place after each byte</param>
+ /// <returns>a formatted hex string</returns>
+ public static string HexString(byte[] data, string prefix, string suffix)
+ {
+ if (prefix == null) prefix = String.Empty;
+ if (suffix == null) suffix = String.Empty;
+
+ StringBuilder sb = new StringBuilder((data.Length * 2) + (data.Length * prefix.Length) + (data.Length * suffix.Length));
+ foreach (byte b in data)
+ sb.Append(prefix + b.ToString("X2") + suffix);
+
+ return sb.ToString();
+ }
+
+ }
+ /// <summary>
+ /// Used for allocating a <see cref="GCHandle"/> to access the underlying pointer of an object.
+ /// </summary>
+ public class PinnedHandle : IDisposable
+ {
+ private readonly IntPtr mPtr = IntPtr.Zero;
+ private bool mFreeGcBuffer;
+ private GCHandle mGcObject;
+
+
+ /// <summary>
+ /// Creates a pinned object.
+ /// </summary>
+ /// <param name="objectToPin">
+ /// The object can be any blittable class, or array. If a <see cref="GCHandle"/> is passed it will be used "as-is" and no pinning will take place.
+ /// </param>
+ public PinnedHandle(object objectToPin)
+ {
+ if (!ReferenceEquals(objectToPin, null))
+ {
+ mFreeGcBuffer = GetPinnedObjectHandle(objectToPin, out mGcObject);
+ mPtr = mGcObject.AddrOfPinnedObject();
+ }
+ }
+
+ /// <summary>
+ /// The raw pointer in memory of the pinned object.
+ /// </summary>
+ public IntPtr Handle
+ {
+ get { return mPtr; }
+ }
+
+ #region IDisposable Members
+
+ /// <summary>
+ /// Frees and disposes the <see cref="GCHandle"/> for this pinned object.
+ /// </summary>
+ /// <filterpriority>2</filterpriority>
+ public void Dispose()
+ {
+ if ((mFreeGcBuffer) && mGcObject.IsAllocated)
+ {
+ mFreeGcBuffer = false;
+ mGcObject.Free();
+ }
+ GC.SuppressFinalize(this);
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Disposes the gchande for the object if ibe is allocated.
+ /// </summary>
+ ~PinnedHandle() { Dispose(); }
+
+ private static bool GetPinnedObjectHandle(object objectToPin, out GCHandle pinnedObject)
+ {
+ bool bFreeGcBuffer = false;
+
+ if (objectToPin is GCHandle)
+ pinnedObject = (GCHandle)objectToPin;
+ else
+ {
+ pinnedObject = GCHandle.Alloc(objectToPin, GCHandleType.Pinned);
+ bFreeGcBuffer = true;
+ }
+
+ return bFreeGcBuffer;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/LegacyUsbRegistry.cs b/LibWinUsb/Main/LegacyUsbRegistry.cs
new file mode 100644
index 00000000..37c7f674
--- /dev/null
+++ b/LibWinUsb/Main/LegacyUsbRegistry.cs
@@ -0,0 +1,245 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.LibUsb;
+using LibUsbDotNet.LudnMonoLibUsb;
+using Microsoft.Win32.SafeHandles;
+using Debug=System.Diagnostics.Debug;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// LibUsb specific members for device registry settings.
+ /// This legacy class does not actually query the windows registry as the other Registry classes do.
+ /// Instead, it wraps a <see cref="LibUsbDevice"/> and queries descriptors directly from the device
+ /// using usb IO control messages.
+ /// </summary>
+ public class LegacyUsbRegistry : UsbRegistry
+ {
+
+ private readonly UsbDevice mUSBDevice;
+ internal LegacyUsbRegistry(UsbDevice usbDevice)
+ {
+ mUSBDevice = usbDevice;
+ GetPropertiesSPDRP(mUSBDevice, mDeviceProperties);
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <returns>Return a new instance of the <see cref="UsbDevice"/> class.
+ /// If the device fails to open a null refrence is return. For extended error
+ /// information use the <see cref="UsbDevice.UsbErrorEvent"/>.
+ /// </returns>
+ public override UsbDevice Device
+ {
+ get
+ {
+ UsbDevice libUsbDevice;
+ Open(out libUsbDevice);
+ return libUsbDevice;
+ }
+ }
+
+ /// <summary>
+ /// Gets the DeviceInterfaceGuids for the WinUsb device.
+ /// </summary>
+ public override Guid[] DeviceInterfaceGuids
+ {
+ get
+ {
+ if (ReferenceEquals(mDeviceInterfaceGuids, null))
+ {
+ if (!mDeviceProperties.ContainsKey(LIBUSB_INTERFACE_GUIDS)) return new Guid[0];
+
+ string[] saDeviceInterfaceGuids = mDeviceProperties[LIBUSB_INTERFACE_GUIDS] as string[];
+ if (ReferenceEquals(saDeviceInterfaceGuids, null)) return new Guid[0];
+
+ mDeviceInterfaceGuids = new Guid[saDeviceInterfaceGuids.Length];
+
+ for (int i = 0; i < saDeviceInterfaceGuids.Length; i++)
+ {
+ string sGuid = saDeviceInterfaceGuids[i].Trim(new char[] {' ', '{', '}', '[', ']', '\0'});
+ mDeviceInterfaceGuids[i] = new Guid(sGuid);
+ }
+ }
+ return mDeviceInterfaceGuids;
+ }
+ }
+
+ /// <summary>
+ /// Check this value to determine if the usb device is still connected to the bus and ready to open.
+ /// </summary>
+ /// <remarks>
+ /// Uses the symbolic name as a unique id to determine if this device instance is still attached.
+ /// </remarks>
+ /// <exception cref="UsbException">An exception is thrown if the <see cref="UsbRegistry.SymbolicName"/> property is null or empty.</exception>
+ public override bool IsAlive
+ {
+ get
+ {
+ if (String.IsNullOrEmpty(SymbolicName)) throw new UsbException(this, "A symbolic name is required for this property.");
+ List<LegacyUsbRegistry> deviceList = DeviceList;
+ foreach (LegacyUsbRegistry registry in deviceList)
+ {
+ if (String.IsNullOrEmpty(registry.SymbolicName)) continue;
+
+ if (registry.SymbolicName == SymbolicName)
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Gets a list of available LibUsb devices.
+ /// </summary>
+ ///
+ public static List<LegacyUsbRegistry> DeviceList
+ {
+ get
+ {
+ List<LegacyUsbRegistry> deviceList = new List<LegacyUsbRegistry>();
+ if (UsbDevice.IsLinux)
+ {
+ List<MonoUsbDevice> legacyLibUsbDeviceList = MonoUsbDevice.MonoUsbDeviceList;
+ foreach (MonoUsbDevice usbDevice in legacyLibUsbDeviceList)
+ {
+ deviceList.Add(new LegacyUsbRegistry(usbDevice));
+ }
+ }
+ else
+ {
+ for (int i = 1; i < UsbConstants.MAX_DEVICES; i++)
+ {
+ string deviceFileName = LibUsbDriverIO.GetDeviceNameString(i);
+
+ SafeFileHandle deviceHandle = LibUsbDriverIO.OpenDevice(deviceFileName);
+ if (deviceHandle != null && !deviceHandle.IsInvalid && !deviceHandle.IsClosed)
+ {
+ try
+ {
+ LibUsbDevice newUsbDevice = new LibUsbDevice(UsbDevice.LibUsbApi, deviceHandle, deviceFileName);
+
+ LegacyUsbRegistry regInfo = new LegacyUsbRegistry(newUsbDevice);
+
+ deviceList.Add(regInfo);
+ }
+ catch (Exception ex)
+ {
+ Debug.Print(ex.Message);
+ }
+ }
+ if (deviceHandle != null && !deviceHandle.IsClosed) deviceHandle.Close();
+ }
+ }
+ return deviceList;
+ }
+ }
+
+ ///// <summary>
+ ///// ProductID
+ ///// </summary>
+ //public override int Pid
+ //{
+ // get { return (int)((ushort)mUSBDevice.Info.Descriptor.ProductID); }
+ //}
+
+ ///// <summary>
+ ///// VendorID
+ ///// </summary>
+ //public override int Vid
+ //{
+ // get { return (int)((ushort)mUSBDevice.Info.Descriptor.VendorID); }
+ //}
+
+ /// <summary>
+ /// Usb device revision number.
+ /// </summary>
+ public override int Rev
+ {
+ get
+ {
+ int bcdRev;
+ string s = mUSBDevice.Info.Descriptor.BcdDevice.ToString("X4");
+ if (int.TryParse(s, out bcdRev))
+ {
+ return bcdRev;
+ }
+ return (int)((ushort)mUSBDevice.Info.Descriptor.BcdDevice);
+ }
+ }
+
+ internal static string GetRegistryHardwareID(ushort vid, ushort pid, ushort rev)
+ {
+ return string.Format("Vid_{0:X4}&Pid_{1:X4}&Rev_{2}", vid, pid, rev.ToString("0000"));
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public override bool Open(out UsbDevice usbDevice)
+ {
+ usbDevice = null;
+ bool bSuccess = mUSBDevice.Open();
+ if (bSuccess)
+ {
+ usbDevice = mUSBDevice;
+ usbDevice.mUsbRegistry = this;
+ }
+
+ return bSuccess;
+ }
+
+ internal static void GetPropertiesSPDRP(UsbDevice usbDevice, Dictionary<string, object> deviceProperties)
+ {
+
+
+ deviceProperties.Add(DevicePropertyType.Mfg.ToString(),
+ usbDevice.Info.Descriptor.ManufacturerStringIndex > 0 ? usbDevice.Info.ManufacturerString : string.Empty);
+
+ deviceProperties.Add(DevicePropertyType.DeviceDesc.ToString(),
+ usbDevice.Info.Descriptor.ProductStringIndex > 0 ? usbDevice.Info.ProductString : string.Empty);
+
+ deviceProperties.Add("SerialNumber",
+ usbDevice.Info.Descriptor.SerialStringIndex > 0 ? usbDevice.Info.SerialString : string.Empty);
+
+ string fakeHardwareIds = GetRegistryHardwareID((ushort)usbDevice.Info.Descriptor.VendorID,
+ (ushort)usbDevice.Info.Descriptor.ProductID,
+ (ushort)usbDevice.Info.Descriptor.BcdDevice);
+
+ deviceProperties.Add(DevicePropertyType.HardwareId.ToString(), new string[] { fakeHardwareIds });
+
+ string fakeSymbolicName = fakeHardwareIds + "{" + Guid.Empty + " }";
+
+ if (usbDevice.Info.Descriptor.SerialStringIndex > 0)
+ {
+ fakeSymbolicName += "#" + deviceProperties["SerialNumber"] + "#";
+ }
+ deviceProperties.Add(SYMBOLIC_NAME_KEY, fakeSymbolicName);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/ReadEndpointID.cs b/LibWinUsb/Main/ReadEndpointID.cs
new file mode 100644
index 00000000..0ae4ec80
--- /dev/null
+++ b/LibWinUsb/Main/ReadEndpointID.cs
@@ -0,0 +1,90 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Availabled endpoint numbers/ids for reading.
+ /// </summary>
+ public enum ReadEndpointID : byte
+ {
+ /// <summary>
+ /// Endpoint 1
+ /// </summary>
+ Ep01 = 0x81,
+ /// <summary>
+ /// Endpoint 2
+ /// </summary>
+ Ep02 = 0x82,
+ /// <summary>
+ /// Endpoint 3
+ /// </summary>
+ Ep03 = 0x83,
+ /// <summary>
+ /// Endpoint 4
+ /// </summary>
+ Ep04 = 0x84,
+ /// <summary>
+ /// Endpoint 5
+ /// </summary>
+ Ep05 = 0x85,
+ /// <summary>
+ /// Endpoint 6
+ /// </summary>
+ Ep06 = 0x86,
+ /// <summary>
+ /// Endpoint 7
+ /// </summary>
+ Ep07 = 0x87,
+ /// <summary>
+ /// Endpoint 8
+ /// </summary>
+ Ep08 = 0x88,
+ /// <summary>
+ /// Endpoint 9
+ /// </summary>
+ Ep09 = 0x89,
+ /// <summary>
+ /// Endpoint 10
+ /// </summary>
+ Ep10 = 0x8A,
+ /// <summary>
+ /// Endpoint 11
+ /// </summary>
+ Ep11 = 0x8B,
+ /// <summary>
+ /// Endpoint 12
+ /// </summary>
+ Ep12 = 0x8C,
+ /// <summary>
+ /// Endpoint 13
+ /// </summary>
+ Ep13 = 0x8D,
+ /// <summary>
+ /// Endpoint 14
+ /// </summary>
+ Ep14 = 0x8E,
+ /// <summary>
+ /// Endpoint 15
+ /// </summary>
+ Ep15 = 0x8F,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/SPDRP.cs b/LibWinUsb/Main/SPDRP.cs
new file mode 100644
index 00000000..0973a036
--- /dev/null
+++ b/LibWinUsb/Main/SPDRP.cs
@@ -0,0 +1,110 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Device registry property codes
+ /// </summary>
+ [Flags]
+ public enum SPDRP
+ {
+ /// <summary>
+ /// Requests a string describing the device, such as "Microsoft PS/2 Port Mouse", typically defined by the manufacturer.
+ /// </summary>
+ DeviceDesc = (0x00000000),
+ /// <summary>
+ /// Requests the hardware IDs provided by the device that identify the device.
+ /// </summary>
+ HardwareId = (0x00000001),
+ /// <summary>
+ /// Requests the compatible IDs reported by the device.
+ /// </summary>
+ CompatibleIds = (0x00000002),
+ /// <summary>
+ /// Requests the name of the device's setup class, in text format.
+ /// </summary>
+ Class = (0x00000007),
+ /// <summary>
+ /// Requests the GUID for the device's setup class.
+ /// </summary>
+ ClassGuid = (0x00000008),
+ /// <summary>
+ /// Requests the name of the driver-specific registry key.
+ /// </summary>
+ Driver = (0x00000009),
+ /// <summary>
+ /// Requests a string identifying the manufacturer of the device.
+ /// </summary>
+ Mfg = (0x0000000B),
+ /// <summary>
+ /// Requests a string that can be used to distinguish between two similar devices, typically defined by the class installer.
+ /// </summary>
+ FriendlyName = (0x0000000C),
+ /// <summary>
+ /// Requests information about the device's location on the bus; the interpretation of this information is bus-specific.
+ /// </summary>
+ LocationInformation = (0x0000000D),
+ /// <summary>
+ /// Requests the name of the PDO for this device.
+ /// </summary>
+ PhysicalDeviceObjectName = (0x0000000E),
+ /// <summary>
+ /// Requests a number associated with the device that can be displayed in the user interface.
+ /// </summary>
+ UiNumber = (0x00000010),
+ /// <summary>
+ /// Requests the GUID for the bus that the device is connected to.
+ /// </summary>
+ BusTypeGuid = (0x00000013),
+ /// <summary>
+ /// Requests the bus type, such as PCIBus or PCMCIABus.
+ /// </summary>
+ LegacyBusType = (0x00000014),
+ /// <summary>
+ /// Requests the legacy bus number of the bus the device is connected to.
+ /// </summary>
+ BusNumber = (0x00000015),
+ /// <summary>
+ /// Requests the name of the enumerator for the device, such as "USB".
+ /// </summary>
+ EnumeratorName = (0x00000016),
+ /// <summary>
+ /// Requests the address of the device on the bus.
+ /// </summary>
+ Address = (0x0000001C),
+ /// <summary>
+ /// (Windows XP and later.) Requests the device's current removal policy. The operating system uses this value as a hint to determine how the device is normally removed.
+ /// </summary>
+ RemovalPolicy = (0x0000001F),
+ /// <summary>
+ /// Windows XP and later.) Requests the device's installation state.
+ /// </summary>
+ InstallState = (0x00000022),
+ /// <summary>
+ /// Device Location Paths (R)
+ /// </summary>
+ LocationPaths=(0x00000023),
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/SafeContextHandle.cs b/LibWinUsb/Main/SafeContextHandle.cs
new file mode 100644
index 00000000..5d0b04eb
--- /dev/null
+++ b/LibWinUsb/Main/SafeContextHandle.cs
@@ -0,0 +1,65 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Base class for all critial handles.
+ /// </summary>
+ public abstract class SafeContextHandle : SafeHandle
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="pHandle"></param>
+ /// <param name="ownsHandle"></param>
+ protected SafeContextHandle(IntPtr pHandle, bool ownsHandle)
+ : base(IntPtr.Zero, ownsHandle) { SetHandle(pHandle); }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="pHandleToOwn"></param>
+ protected SafeContextHandle(IntPtr pHandleToOwn)
+ : this(pHandleToOwn, true) { }
+
+ /// <summary>
+ /// Gets a value indicating whether the handle value is invalid.
+ /// </summary>
+ /// <returns>
+ /// true if the handle value is invalid; otherwise, false.
+ /// </returns>
+ /// <PermissionSet><IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode"/></PermissionSet>
+ public override bool IsInvalid
+ {
+ get
+ {
+ if (handle != IntPtr.Zero)
+ {
+ return (handle == new IntPtr(-1));
+ }
+ return true;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/SetupApiRegistry.cs b/LibWinUsb/Main/SetupApiRegistry.cs
new file mode 100644
index 00000000..1878b3e7
--- /dev/null
+++ b/LibWinUsb/Main/SetupApiRegistry.cs
@@ -0,0 +1,210 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Text;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.LudnMonoLibUsb;
+using Microsoft.Win32;
+using MonoLibUsb;
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.Main
+{
+ internal static class SetupApiRegistry
+ {
+ private static readonly Object mLockSetupApiRegistry = new object();
+ private static readonly MasterList mMasterSetupApiDeviceList = new MasterList();
+ private static DateTime mLastRefreshTime = DateTime.MinValue;
+ public const string DEVICE_ID_KEY = "DeviceInstanceID";
+
+ public static bool NeedsRefresh
+ {
+ get
+ {
+ lock (mLockSetupApiRegistry)
+ {
+ if ((DateTime.Now - mLastRefreshTime).TotalMilliseconds >= 1000)
+ return true;
+ return false;
+ }
+ }
+ }
+
+ private class MasterItem : Dictionary<string, object>
+ {
+ public Dictionary<Guid, List<string>> DevicePaths = new Dictionary<Guid, List<string>>();
+ }
+
+ private class MasterList : List<MasterItem>
+ {
+ }
+
+ public static bool FillDeviceProperties(UsbRegistry usbRegistry, UsbDevice usbDevice)
+ {
+
+ lock (mLockSetupApiRegistry)
+ {
+ if (NeedsRefresh) BuildMasterList();
+ if (usbDevice is MonoUsbDevice && !Helper.IsLinux)
+ return FillWindowsMonoUsbDeviceRegistry(usbRegistry, (MonoUsbDevice) usbDevice);
+
+ string fakeHwId = LegacyUsbRegistry.GetRegistryHardwareID((ushort) usbDevice.Info.Descriptor.VendorID,
+ (ushort) usbDevice.Info.Descriptor.ProductID,
+ (ushort) usbDevice.Info.Descriptor.BcdDevice);
+ bool bFound = false;
+ string hwIdToFind = fakeHwId.ToLower();
+ foreach (MasterItem masterItem in mMasterSetupApiDeviceList)
+ {
+ string[] hwIds = masterItem[SPDRP.HardwareId.ToString()] as string[];
+ if (ReferenceEquals(hwIds, null)) continue;
+ foreach (string hwID in hwIds)
+ {
+ if (hwID.ToLower().Contains(hwIdToFind))
+ {
+ usbRegistry.mDeviceProperties = masterItem;
+ bFound = true;
+ break;
+ }
+ }
+ if (bFound) break;
+ }
+ return bFound;
+ }
+ }
+
+ private static bool FillWindowsMonoUsbDeviceRegistry(UsbRegistry usbRegistry, MonoUsbDevice usbDevice)
+ {
+ MonoLibUsb.MonoUsbApi.internal_windows_device_priv priv = MonoLibUsb.MonoUsbApi.GetWindowsPriv(usbDevice.Profile.ProfileHandle);
+ string path;
+ for (int i = 0; i < 32; i++)
+ {
+ if (priv.usb_interfaces[i].path == IntPtr.Zero) break;
+ path = Marshal.PtrToStringAnsi(priv.usb_interfaces[i].path);
+ //Debug.Print("Intf:{0} Path:{1}",i,path);
+ }
+ path = Marshal.PtrToStringAnsi(priv.path);
+
+ bool bFound = false;
+
+ //System.Diagnostics.Debug.WriteLine(sb.ToString());
+ path = path.ToString().ToLower().Replace("#", "\\");
+ foreach (MasterItem masterItem in mMasterSetupApiDeviceList)
+ {
+ if (path.Contains(masterItem[DEVICE_ID_KEY].ToString().ToLower()))
+ {
+ usbRegistry.mDeviceProperties = masterItem;
+ bFound = true;
+ break;
+ }
+ }
+ return bFound;
+ }
+
+ public static void BuildMasterList()
+ {
+ lock (mLockSetupApiRegistry)
+ {
+ mMasterSetupApiDeviceList.Clear();
+ SetupApi.EnumClassDevs(null, SetupApi.DICFG.PRESENT | SetupApi.DICFG.ALLCLASSES, BuildMasterCallback, mMasterSetupApiDeviceList);
+ mLastRefreshTime = DateTime.Now;
+ }
+ }
+
+ private static bool BuildMasterCallback(IntPtr deviceInfoSet, int deviceindex, ref SetupApi.SP_DEVINFO_DATA deviceInfoData, object userData)
+ {
+ MasterList deviceList = userData as MasterList;
+ MasterItem deviceItem = new MasterItem();
+ StringBuilder sb=new StringBuilder(256);
+
+ if (SetupApi.CM_Get_Device_ID(deviceInfoData.DevInst, sb, sb.Capacity, 0)!=SetupApi.CR.SUCCESS)
+ return false;
+
+ deviceItem.Add(DEVICE_ID_KEY,sb.ToString());
+ deviceList.Add(deviceItem);
+
+
+ RegistryValueKind propertyType;
+ byte[] propBuffer = new byte[256];
+ int requiredSize;
+ bool bSuccess = SetupApi.SetupDiGetCustomDeviceProperty(deviceInfoSet,
+ ref deviceInfoData,
+ UsbRegistry.DEVICE_INTERFACE_GUIDS,
+ SetupApi.DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ string[] devInterfaceGuids = UsbRegistry.GetAsStringArray(propBuffer, requiredSize);
+
+ deviceItem.Add(UsbRegistry.DEVICE_INTERFACE_GUIDS, devInterfaceGuids);
+ foreach (string s in devInterfaceGuids)
+ {
+ Guid g = new Guid(s);
+ List<string> devicePathList;
+ if (WinUsb.WinUsbRegistry.GetDevicePathList(g, out devicePathList))
+ {
+ deviceItem.DevicePaths.Add(g, devicePathList);
+ }
+ }
+ }
+ else
+ {
+ bSuccess = SetupApi.SetupDiGetCustomDeviceProperty(deviceInfoSet,
+ ref deviceInfoData,
+ UsbRegistry.LIBUSB_INTERFACE_GUIDS,
+ SetupApi.DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ string[] devInterfaceGuids = UsbRegistry.GetAsStringArray(propBuffer, requiredSize);
+
+ deviceItem.Add(UsbRegistry.LIBUSB_INTERFACE_GUIDS, devInterfaceGuids);
+ }
+ }
+
+ bSuccess =
+ SetupApi.SetupDiGetCustomDeviceProperty(deviceInfoSet,
+ ref deviceInfoData,
+ UsbRegistry.SYMBOLIC_NAME_KEY,
+ SetupApi.DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ string symbolicName = UsbRegistry.GetAsString(propBuffer, requiredSize);
+ deviceItem.Add(UsbRegistry.SYMBOLIC_NAME_KEY, symbolicName);
+ }
+ SetupApi.getSPDRPProperties(deviceInfoSet, ref deviceInfoData, deviceItem);
+
+ return false;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbConstants.cs b/LibWinUsb/Main/UsbConstants.cs
new file mode 100644
index 00000000..26496531
--- /dev/null
+++ b/LibWinUsb/Main/UsbConstants.cs
@@ -0,0 +1,66 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Various USB constants.
+ /// </summary>
+ public static class UsbConstants
+ {
+ /// <summary>
+ /// Default timeout for all USB IO operations.
+ /// </summary>
+ public const int DEFAULT_TIMEOUT = 1000;
+
+ internal const bool EXIT_CONTEXT = false;
+
+ /// <summary>
+ /// Maximum size of a config descriptor.
+ /// </summary>
+ public const int MAX_CONFIG_SIZE = 4096;
+
+ /// <summary>
+ /// Maximum number of USB devices.
+ /// </summary>
+ public const int MAX_DEVICES = 128;
+
+ /// <summary>
+ /// Maximum number of endpoints per device.
+ /// </summary>
+ public const int MAX_ENDPOINTS = 32;
+
+ /// <summary>
+ /// Endpoint direction mask.
+ /// </summary>
+ public const byte ENDPOINT_DIR_MASK = 0x80;
+
+ /// <summary>
+ /// Endpoint number mask.
+ /// </summary>
+ public const byte ENDPOINT_NUMBER_MASK = 0xf;
+
+ ///// <summary>
+ ///// See <see cref="UsbError.Handled"/>. Number of RETRIES before failed regardless of the handled field value.
+ ///// </summary>
+ //public const int MAX_FAIL_RETRIES_ON_HANDLED_ERROR = 4;
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbCtrlFlags.cs b/LibWinUsb/Main/UsbCtrlFlags.cs
new file mode 100644
index 00000000..d1a6fcdd
--- /dev/null
+++ b/LibWinUsb/Main/UsbCtrlFlags.cs
@@ -0,0 +1,73 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+// ReSharper disable InconsistentNaming
+namespace LibUsbDotNet.Main
+{
+ ///<summary>For Convienience Endpoint direction, recipient of the request, and request type on one enumeration.</summary>
+ [Flags]
+ public enum UsbCtrlFlags : byte
+ {
+ /// <summary>
+ /// In Direction
+ /// </summary>
+ Direction_In = 0x80,
+ /// <summary>
+ /// Out Direction
+ /// </summary>
+ Direction_Out = 0x00,
+
+ /// <summary>
+ /// Device is recipient.
+ /// </summary>
+ Recipient_Device = 0x00,
+ /// <summary>
+ /// Endpoint is recipient.
+ /// </summary>
+ Recipient_Endpoint = 0x02,
+ /// <summary>
+ /// Interface is recipient.
+ /// </summary>
+ Recipient_Interface = 0x01,
+ /// <summary>
+ /// Other is recipient.
+ /// </summary>
+ Recipient_Other = 0x03,
+
+ /// <summary>
+ /// Class specific request.
+ /// </summary>
+ RequestType_Class = (0x01 << 5),
+ /// <summary>
+ /// RESERVED.
+ /// </summary>
+ RequestType_Reserved = (0x03 << 5),
+ /// <summary>
+ /// Standard request.
+ /// </summary>
+ RequestType_Standard = (0x00 << 5),
+ /// <summary>
+ /// Vendor specific request.
+ /// </summary>
+ RequestType_Vendor = (0x02 << 5),
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbDeviceFinder.cs b/LibWinUsb/Main/UsbDeviceFinder.cs
new file mode 100644
index 00000000..2c3e6321
--- /dev/null
+++ b/LibWinUsb/Main/UsbDeviceFinder.cs
@@ -0,0 +1,319 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.Serialization;
+using System.Runtime.Serialization.Formatters.Binary;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Finds and identifies usb devices. Used for easily locating
+ /// </summary>
+ /// <remarks>
+ /// <list type="bullet">
+ /// <item>
+ /// Instances of this class can optionally be passed directly into
+ /// <see cref="UsbDevice.OpenUsbDevice(LibUsbDotNet.Main.UsbDeviceFinder)"/>
+ /// to quickly find and open a specific usb device in one step.
+ /// </item>
+ /// <item>
+ /// Pass instances of this class into the
+ /// <see cref="UsbRegDeviceList.Find(UsbDeviceFinder)"/>,
+ /// <see cref="UsbRegDeviceList.FindAll(UsbDeviceFinder)"/>,
+ /// or <see cref="UsbRegDeviceList.FindLast(UsbDeviceFinder)"/>
+ /// functions of a <see cref="UsbRegDeviceList"/>
+ /// instance to find connected usb devices without opening devices or interrogating the bus.
+ /// After locating the required <see cref="UsbRegistry"/> instance, call the
+ /// <see cref="UsbRegistry.Open"/> method to start using the <see cref="UsbDevice"/> instance.
+ /// </item>
+ /// </list>
+ /// </remarks>
+ /// <example>
+ /// <code source="..\Examples\Show.Info\ShowInfo.cs" lang="cs"/>
+ /// </example>
+ public class UsbDeviceFinder : ISerializable
+ {
+ ///<summary> The "exclude from search" value for <see cref="Pid"/>. </summary>
+ public const int NO_PID = int.MaxValue;
+
+ ///<summary> The "exclude from search" value for <see cref="Revision"/>. </summary>
+ public const int NO_REV = int.MaxValue;
+
+ ///<summary> The "exclude from search" value for <see cref="SerialNumber"/>. </summary>
+ public const string NO_SERIAL = null;
+
+ ///<summary> The "exclude from search" value for <see cref="Vid"/>. </summary>
+ public const int NO_VID = int.MaxValue;
+
+ ///<summary> The "exclude from search" value for <see cref="DeviceInterfaceGuid"/>. </summary>
+ public static readonly Guid NO_GUID = Guid.Empty;
+
+ private Guid mDeviceInterfaceGuid = Guid.Empty;
+ private int mPid = int.MaxValue;
+ private int mRevision = int.MaxValue;
+ private string mSerialNumber;
+ private int mVid = int.MaxValue;
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating and identifying usb devices.
+ /// </summary>
+ /// <param name="vid">The vendor id of the usb device to find, or <see cref="int.MaxValue"/> to ignore.</param>
+ /// <param name="pid">The product id of the usb device to find, or <see cref="int.MaxValue"/> to ignore.</param>
+ /// <param name="revision">The revision number of the usb device to find, or <see cref="int.MaxValue"/> to ignore.</param>
+ /// <param name="serialNumber">The serial number of the usb device to find, or null to ignore.</param>
+ /// <param name="deviceInterfaceGuid">The unique guid of the usb device to find, or <see cref="Guid.Empty"/> to ignore.</param>
+ public UsbDeviceFinder(int vid, int pid, int revision, string serialNumber, Guid deviceInterfaceGuid)
+ {
+ mVid = vid;
+ mPid = pid;
+ mRevision = revision;
+ mSerialNumber = serialNumber;
+ mDeviceInterfaceGuid = deviceInterfaceGuid;
+ }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices by VendorID, ProductID, and Serial number.
+ /// </summary>
+ /// <param name="vid">The vendor id of the usb device to find.</param>
+ /// <param name="pid">The product id of the usb device to find.</param>
+ /// <param name="serialNumber">The serial number of the usb device to find.</param>
+ public UsbDeviceFinder(int vid, int pid, string serialNumber)
+ : this(vid, pid, int.MaxValue, serialNumber, Guid.Empty) { }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices by VendorID, ProuctID, and Revision code.
+ /// </summary>
+ /// <param name="vid">The vendor id of the usb device to find.</param>
+ /// <param name="pid">The product id of the usb device to find.</param>
+ /// <param name="revision">The revision number of the usb device to find.</param>
+ public UsbDeviceFinder(int vid, int pid, int revision)
+ : this(vid, pid, revision, null, Guid.Empty) { }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices vendor and product ID.
+ /// </summary>
+ /// <param name="vid">The vendor id of the usb device to find.</param>
+ /// <param name="pid">The product id of the usb device to find.</param>
+ public UsbDeviceFinder(int vid, int pid)
+ : this(vid, pid, int.MaxValue, null, Guid.Empty) { }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices.
+ /// </summary>
+ /// <param name="vid">The vendor id of the usb device to find.</param>
+ public UsbDeviceFinder(int vid)
+ : this(vid, int.MaxValue, int.MaxValue, null, Guid.Empty) { }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices by a serial number.
+ /// </summary>
+ /// <param name="serialNumber">The serial number of the usb device to find.</param>
+ public UsbDeviceFinder(string serialNumber)
+ : this(int.MaxValue, int.MaxValue, int.MaxValue, serialNumber, Guid.Empty) { }
+
+ /// <summary>
+ /// Creates a UsbDeviceFinder class for locating usb devices by a unique <see cref="Guid"/> string.
+ /// </summary>
+ /// <param name="deviceInterfaceGuid">The unique <see cref="Guid"/> to find.</param>
+ public UsbDeviceFinder(Guid deviceInterfaceGuid)
+ : this(int.MaxValue, int.MaxValue, int.MaxValue, null, deviceInterfaceGuid) { }
+
+ /// <summary>
+ /// Use a serialization stream to fill the <see cref="UsbDeviceFinder"/> class.
+ /// </summary>
+ /// <param name="info"></param>
+ /// <param name="context"></param>
+ protected UsbDeviceFinder(SerializationInfo info, StreamingContext context)
+ {
+ if (info == null)
+ throw new ArgumentNullException("info");
+
+ mVid = (int) info.GetValue("Vid", typeof (int));
+ mPid = (int) info.GetValue("Pid", typeof (int));
+ mRevision = (int) info.GetValue("Revision", typeof (int));
+ mSerialNumber = (string) info.GetValue("SerialNumber", typeof (string));
+ mDeviceInterfaceGuid = (Guid) info.GetValue("DeviceInterfaceGuid", typeof (Guid));
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ protected UsbDeviceFinder() { }
+
+ /// <summary>
+ /// The device interface guid string to find, or <see cref="String.Empty"/> to ignore.
+ /// </summary>
+ public Guid DeviceInterfaceGuid
+ {
+ get { return mDeviceInterfaceGuid; }
+ set { mDeviceInterfaceGuid = value; }
+ }
+
+ /// <summary>
+ /// The serial number of the device to find.
+ /// </summary>
+ /// <remarks>
+ /// Set to null to ignore.
+ /// </remarks>
+ public string SerialNumber
+ {
+ get { return mSerialNumber; }
+ set { mSerialNumber = value; }
+ }
+
+ /// <summary>
+ /// The revision number of the device to find.
+ /// </summary>
+ /// <remarks>
+ /// Set to <see cref="int.MaxValue"/> to ignore.
+ /// </remarks>
+ public int Revision
+ {
+ get { return mRevision; }
+ set { mRevision = value; }
+ }
+
+ /// <summary>
+ /// The product id of the device to find.
+ /// </summary>
+ /// <remarks>
+ /// Set to <see cref="int.MaxValue"/> to ignore.
+ /// </remarks>
+ public int Pid
+ {
+ get { return mPid; }
+ set { mPid = value; }
+ }
+
+ /// <summary>
+ /// The vendor id of the device to find.
+ /// </summary>
+ /// <remarks>
+ /// Set to <see cref="int.MaxValue"/> to ignore.
+ /// </remarks>
+ public int Vid
+ {
+ get { return mVid; }
+ set { mVid = value; }
+ }
+
+ #region ISerializable Members
+
+ /// <summary>
+ /// Store this class as a binary serializtion object.
+ /// </summary>
+ /// <param name="info">The serialization instance to populate.</param>
+ /// <param name="context"></param>
+ public void GetObjectData(SerializationInfo info, StreamingContext context)
+ {
+ if (info == null)
+ throw new ArgumentNullException("info");
+
+ info.AddValue("Vid", mVid);
+ info.AddValue("Pid", mPid);
+ info.AddValue("Revision", mRevision);
+ info.AddValue("SerialNumber", mSerialNumber);
+ info.AddValue("DeviceInterfaceGuid", mDeviceInterfaceGuid);
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Load usb device finder properties from a binary stream.
+ /// </summary>
+ /// <param name="deviceFinderStream">The binary stream containing a
+ /// <see cref="UsbDeviceFinder"/> </param> instance.
+ /// <returns>A pre-loaded <see cref="UsbDeviceFinder"/> instance.</returns>
+ public static UsbDeviceFinder Load(Stream deviceFinderStream)
+ {
+ BinaryFormatter formatter = new BinaryFormatter();
+ return formatter.Deserialize(deviceFinderStream) as UsbDeviceFinder;
+ }
+
+ /// <summary>
+ /// Saves a <see cref="UsbDeviceFinder"/> instance to a stream.
+ /// </summary>
+ /// <param name="usbDeviceFinder"></param>
+ /// <param name="outStream"></param>
+ public static void Save(UsbDeviceFinder usbDeviceFinder, Stream outStream)
+ {
+ BinaryFormatter formatter = new BinaryFormatter();
+ formatter.Serialize(outStream, usbDeviceFinder);
+ }
+
+ /// <summary>
+ /// Dynamic predicate find function. Pass this function into any method that has a <see cref="Predicate{UsbRegistry}"/> parameter.
+ /// </summary>
+ /// <remarks>
+ /// Override this member when inheriting the <see cref="UsbDeviceFinder"/> class to change/alter the matching behavior.
+ /// </remarks>
+ /// <param name="usbRegistry">The UsbRegistry device to check.</param>
+ /// <returns>True if the <see cref="UsbRegistry"/> instance matches the <see cref="UsbDeviceFinder"/> properties.</returns>
+ public virtual bool Check(UsbRegistry usbRegistry)
+ {
+ if (mVid != int.MaxValue)
+ if (usbRegistry.Vid != mVid) return false;
+ if (mPid != int.MaxValue)
+ if (usbRegistry.Pid != mPid) return false;
+ if (mRevision != int.MaxValue)
+ if (usbRegistry.Rev != mRevision) return false;
+
+ if (!String.IsNullOrEmpty(mSerialNumber))
+ {
+ if (String.IsNullOrEmpty(usbRegistry.SymbolicName)) return false;
+
+ UsbSymbolicName usbSymbolicName = UsbSymbolicName.Parse(usbRegistry.SymbolicName);
+ if (mSerialNumber != usbSymbolicName.SerialNumber) return false;
+ }
+ if (mDeviceInterfaceGuid != Guid.Empty)
+ {
+ List<Guid> deviceGuids = new List<Guid>(usbRegistry.DeviceInterfaceGuids);
+ if (!deviceGuids.Contains(mDeviceInterfaceGuid)) return false;
+ }
+ return true;
+ }
+ /// <summary>
+ /// Dynamic predicate find function. Pass this function into any method that has a <see cref="Predicate{UsbDevice}"/> parameter.
+ /// </summary>
+ /// <remarks>
+ /// Override this member when inheriting the <see cref="UsbDeviceFinder"/> class to change/alter the matching behavior.
+ /// </remarks>
+ /// <param name="usbDevice">The UsbDevice to check.</param>
+ /// <returns>True if the <see cref="UsbDevice"/> instance matches the <see cref="UsbDeviceFinder"/> properties.</returns>
+ public virtual bool Check(UsbDevice usbDevice)
+ {
+ if (mVid != int.MaxValue)
+ if (((ushort)usbDevice.Info.Descriptor.VendorID) != mVid) return false;
+ if (mPid != int.MaxValue)
+ if (((ushort)usbDevice.Info.Descriptor.ProductID) != mPid) return false;
+ if (mRevision != int.MaxValue)
+ if (((ushort)usbDevice.Info.Descriptor.BcdDevice) != mRevision) return false;
+
+ if (!String.IsNullOrEmpty(mSerialNumber))
+ if (mSerialNumber!=usbDevice.Info.SerialString) return false;
+
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbEndpointBase.cs b/LibWinUsb/Main/UsbEndpointBase.cs
new file mode 100644
index 00000000..f679775e
--- /dev/null
+++ b/LibWinUsb/Main/UsbEndpointBase.cs
@@ -0,0 +1,391 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.ObjectModel;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Info;
+using LibUsbDotNet.Internal;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Endpoint members common to Read, Write, Bulk, and Interrupt <see cref="T:LibUsbDotNet.Main.EndpointType"/>.
+ /// </summary>
+ public abstract class UsbEndpointBase : IDisposable
+ {
+ /// <summary>
+ /// The maximum transfer payload size for all usb endpoints.
+ /// </summary>
+ /// <remarks>
+ /// Transfers greater than this amount are automatically split into
+ /// multiple transfers. This applies to all endpoint transfer methods
+ /// (reads and writes). The default is 4megs (4,194,304 bytes)
+ /// </remarks>
+ public static int MaxReadWrite = 65536;
+
+ internal readonly byte mEpNum;
+ internal readonly UsbApiBase mUsbApi;
+ private readonly UsbDevice mUsbDevice;
+ private readonly SafeHandle mUsbHandle;
+ private bool mIsDisposed;
+ internal TransferDelegate mPipeTransferSubmit;
+ private UsbTransfer mTransferContext;
+ private UsbEndpointInfo mUsbEndpointInfo;
+ private EndpointType mEndpointType;
+ private UsbInterfaceInfo mUsbInterfacetInfo;
+
+ internal UsbEndpointBase(UsbDevice usbDevice, byte epNum, EndpointType endpointType)
+ {
+ mUsbDevice = usbDevice;
+ mUsbApi = mUsbDevice.mUsbApi;
+ mUsbHandle = mUsbDevice.Handle;
+ mEpNum = epNum;
+ mEndpointType = endpointType;
+ if ((mEpNum & 0x80) > 0)
+ {
+ mPipeTransferSubmit = ReadPipe;
+ }
+ else
+ mPipeTransferSubmit = WritePipe;
+ }
+
+
+ internal virtual TransferDelegate PipeTransferSubmit
+ {
+ get { return mPipeTransferSubmit; }
+ }
+
+ internal UsbTransfer TransferContext
+ {
+ get
+ {
+ if (ReferenceEquals(mTransferContext, null))
+ {
+ mTransferContext = CreateTransferContext();
+ }
+ return mTransferContext;
+ }
+ }
+
+ /// <summary>
+ /// Gets a value indicating if the object is disposed.
+ /// </summary>
+ public bool IsDisposed
+ {
+ get { return mIsDisposed; }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="UsbDevice"/> class this endpoint belongs to.
+ /// </summary>
+ public UsbDevice Device
+ {
+ get { return mUsbDevice; }
+ }
+
+
+ internal SafeHandle Handle
+ {
+ get { return mUsbHandle; }
+ }
+
+ /// <summary>
+ /// Gets the endpoint ID for this <see cref="UsbEndpointBase"/> class.
+ /// </summary>
+ public byte EpNum
+ {
+ get
+ {
+ return mEpNum;
+ }
+ }
+
+ /// <summary>
+ /// Returns the <see cref="EndpointType"/> for this endpoint.
+ /// </summary>
+ public EndpointType Type
+ {
+ get { return mEndpointType; }
+ }
+
+ /// <summary>
+ /// Returns the <see cref="UsbEndpointInfo"/> descriptor for this endpoint.
+ /// </summary>
+ public UsbEndpointInfo EndpointInfo
+ {
+ get
+ {
+ if (ReferenceEquals(mUsbEndpointInfo, null))
+ {
+ if (!LookupEndpointInfo(Device.Configs[0], mEpNum, out mUsbInterfacetInfo, out mUsbEndpointInfo))
+ {
+ // throw new UsbException(this, String.Format("Failed locating endpoint {0} for the current usb configuration.", mEpNum));
+ return null;
+ }
+ }
+ return mUsbEndpointInfo;
+ }
+ }
+
+ #region IDisposable Members
+
+ /// <summary>
+ /// Frees resources associated with the endpoint. Once disposed this <see cref="UsbEndpointBase"/> cannot be used.
+ /// </summary>
+ public virtual void Dispose() { DisposeAndRemoveFromList(); }
+
+ #endregion
+
+ internal abstract UsbTransfer CreateTransferContext();
+
+ /// <summary>
+ /// Aborts pending IO operation on this enpoint of one exists.
+ /// </summary>
+ /// <returns>True on success or if no pending IO operation exits.</returns>
+ public virtual bool Abort()
+ {
+ if (mIsDisposed) throw new ObjectDisposedException(GetType().Name);
+ bool bSuccess = TransferContext.Cancel() == ErrorCode.Success;
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Discards any data that is cached in this endpoint.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public virtual bool Flush()
+ {
+ if (mIsDisposed) throw new ObjectDisposedException(GetType().Name);
+
+ bool bSuccess = mUsbApi.FlushPipe(mUsbHandle, EpNum);
+
+ if (!bSuccess) UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "FlushPipe", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Resets the data toggle and clears the stall condition on an enpoint.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public virtual bool Reset()
+ {
+ if (mIsDisposed) throw new ObjectDisposedException(GetType().Name);
+
+ bool bSuccess = mUsbApi.ResetPipe(mUsbHandle, EpNum);
+
+ if (!bSuccess) UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "ResetPipe", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Synchronous bulk/interrupt transfer function.
+ /// </summary>
+ /// <param name="buffer">An <see cref="IntPtr"/> to a caller-allocated buffer.</param>
+ /// <param name="offset">Position in buffer that transferring begins.</param>
+ /// <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>True on success.</returns>
+ public virtual ErrorCode Transfer(IntPtr buffer, int offset, int length, int timeout, out int transferLength) { return UsbTransfer.SyncTransfer(TransferContext, buffer, offset, length, timeout, out transferLength); }
+
+ /// <summary>
+ /// Creates, fills and submits an asynchronous <see cref="UsbTransfer"/> context.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context is created and submitted.</note>
+ /// </remarks>
+ /// <param name="buffer">A caller-allocated buffer for the data that is transferred.</param>
+ /// <param name="offset">Position in buffer that transferring begins.</param>
+ /// <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete.</param>
+ /// <param name="transferContext">On <see cref="ErrorCode.Success"/>, a new transfer context.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if the transfer context was created and <see cref="UsbTransfer.Submit"/> succeeded.</returns>
+ /// <seealso cref="SubmitAsyncTransfer(System.IntPtr,int,int,int,out LibUsbDotNet.Main.UsbTransfer)"/>
+ /// <seealso cref="NewAsyncTransfer"/>
+ public virtual ErrorCode SubmitAsyncTransfer(object buffer, int offset, int length, int timeout, out UsbTransfer transferContext)
+ {
+ transferContext = CreateTransferContext();
+ transferContext.Fill(buffer, offset, length, timeout);
+
+ ErrorCode ec = transferContext.Submit();
+ if (ec != ErrorCode.None)
+ {
+ transferContext.Dispose();
+ transferContext = null;
+ UsbError.Error(ec, 0, "SubmitAsyncTransfer Failed", this);
+ }
+
+ return ec;
+ }
+
+ /// <summary>
+ /// Creates, fills and submits an asynchronous <see cref="UsbTransfer"/> context.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context is created and submitted.</note>
+ /// </remarks>
+ /// <param name="buffer">A caller-allocated buffer for the data that is transferred.</param>
+ /// <param name="offset">Position in buffer that transferring begins.</param>
+ /// <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete.</param>
+ /// <param name="transferContext">On <see cref="ErrorCode.Success"/>, a new transfer context.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if the transfer context was created and <see cref="UsbTransfer.Submit"/> succeeded.</returns>
+ /// <seealso cref="SubmitAsyncTransfer(object,int,int,int,out LibUsbDotNet.Main.UsbTransfer)"/>
+ /// <seealso cref="NewAsyncTransfer"/>
+ public virtual ErrorCode SubmitAsyncTransfer(IntPtr buffer, int offset, int length, int timeout, out UsbTransfer transferContext)
+ {
+ transferContext = CreateTransferContext();
+ transferContext.Fill(buffer, offset, length, timeout);
+
+ ErrorCode ec = transferContext.Submit();
+ if (ec != ErrorCode.None)
+ {
+ transferContext.Dispose();
+ transferContext = null;
+ UsbError.Error(ec, 0, "SubmitAsyncTransfer Failed", this);
+ }
+
+ return ec;
+ }
+ /// <summary>
+ /// Creates a <see cref="UsbTransfer"/> context for asynchronous transfers.
+ /// </summary>
+ /// <remarks>
+ /// <para> This method returns a new, empty transfer context. Unlike <see cref="SubmitAsyncTransfer(object,int,int,int,out LibUsbDotNet.Main.UsbTransfer)">SubmitAsyncTransfer</see>, this context is <c>not</c> filled and submitted.</para>
+ /// <note type="tip">This is a non-blocking asynchronous transfer function. This function returns immediately after the context created.</note>
+ /// </remarks>
+ /// <returns>A new <see cref="UsbTransfer"/> context.</returns>
+ /// <seealso cref="SubmitAsyncTransfer(System.IntPtr,int,int,int,out LibUsbDotNet.Main.UsbTransfer)"/>
+ /// <seealso cref="SubmitAsyncTransfer(object,int,int,int,out LibUsbDotNet.Main.UsbTransfer)"/>
+ public UsbTransfer NewAsyncTransfer()
+ {
+ UsbTransfer transfer = CreateTransferContext();
+ return transfer;
+ }
+
+ /// <summary>
+ /// Looks up endpoint/interface information in a configuration.
+ /// </summary>
+ /// <param name="currentConfigInfo">The config to seach.</param>
+ /// <param name="endpointAddress">The endpoint address to look for.</param>
+ /// <param name="usbInterfaceInfo">On success, the <see cref="UsbInterfaceInfo"/> class for this endpoint.</param>
+ /// <param name="usbEndpointInfo">On success, the <see cref="UsbEndpointInfo"/> class for this endpoint.</param>
+ /// <returns>True of the endpoint was found, otherwise false.</returns>
+ public static bool LookupEndpointInfo(UsbConfigInfo currentConfigInfo, byte endpointAddress, out UsbInterfaceInfo usbInterfaceInfo, out UsbEndpointInfo usbEndpointInfo)
+ {
+ bool found = false;
+
+ usbInterfaceInfo = null;
+ usbEndpointInfo = null;
+ foreach (UsbInterfaceInfo interfaceInfo in currentConfigInfo.InterfaceInfoList)
+ {
+ foreach (UsbEndpointInfo endpointInfo in interfaceInfo.EndpointInfoList)
+ {
+ if ((endpointAddress & UsbConstants.ENDPOINT_NUMBER_MASK) == 0)
+ {
+ // find first read/write endpoint
+ if ((endpointAddress & UsbConstants.ENDPOINT_DIR_MASK) == 0 &&
+ (endpointInfo.Descriptor.EndpointID & UsbConstants.ENDPOINT_DIR_MASK) == 0)
+ {
+ // first write endpoint
+ found = true;
+ }
+ if ((endpointAddress & UsbConstants.ENDPOINT_DIR_MASK) != 0 &&
+ (endpointInfo.Descriptor.EndpointID & UsbConstants.ENDPOINT_DIR_MASK) != 0)
+ {
+ // first read endpoint
+ found = true;
+ }
+ }
+ else if (endpointInfo.Descriptor.EndpointID == endpointAddress)
+ {
+ found = true;
+ }
+
+ if (found)
+ {
+ usbInterfaceInfo = interfaceInfo;
+ usbEndpointInfo = endpointInfo;
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// Synchronous bulk/interrupt transfer function.
+ /// </summary>
+ /// <param name="buffer">A caller-allocated buffer for the transfer data. This object is pinned using <see cref="PinnedHandle"/>.</param>
+ /// <param name="offset">Position in buffer that transferring begins.</param>
+ /// <param name="length">Number of bytes, starting from thr offset parameter to transfer.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>True on success.</returns>
+ public ErrorCode Transfer(object buffer, int offset, int length, int timeout, out int transferLength)
+ {
+ PinnedHandle pinned = new PinnedHandle(buffer);
+ ErrorCode eReturn = Transfer(pinned.Handle, offset, length, timeout, out transferLength);
+ pinned.Dispose();
+ return eReturn;
+ }
+
+ private void DisposeAndRemoveFromList()
+ {
+ if (!mIsDisposed)
+ {
+ UsbEndpointReader epReader = this as UsbEndpointReader;
+ if (!ReferenceEquals(epReader, null))
+ {
+ if (epReader.DataReceivedEnabled) epReader.DataReceivedEnabled = false;
+ }
+ Abort();
+ mUsbDevice.ActiveEndpoints.RemoveFromList(this);
+ }
+ mIsDisposed = true;
+ }
+
+ private int ReadPipe(IntPtr pBuffer, int bufferLength, out int lengthTransferred, int isoPacketSize, IntPtr pOverlapped)
+ {
+ bool bSuccess = mUsbApi.ReadPipe(this, pBuffer, bufferLength, out lengthTransferred, isoPacketSize, pOverlapped);
+ if (!bSuccess) return Marshal.GetLastWin32Error();
+ return 0;
+ }
+
+
+ private int WritePipe(IntPtr pBuffer, int bufferLength, out int lengthTransferred, int isoPacketSize, IntPtr pOverlapped)
+ {
+ bool bSuccess = mUsbApi.WritePipe(this, pBuffer, bufferLength, out lengthTransferred, isoPacketSize, pOverlapped);
+ if (!bSuccess) return Marshal.GetLastWin32Error();
+ return 0;
+ }
+
+ #region Nested type: TransferDelegate
+
+ internal delegate int TransferDelegate(IntPtr pBuffer, int bufferLength, out int lengthTransferred, int isoPacketSize, IntPtr pOverlapped);
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbEndpointDirection.cs b/LibWinUsb/Main/UsbEndpointDirection.cs
new file mode 100644
index 00000000..89f15f99
--- /dev/null
+++ b/LibWinUsb/Main/UsbEndpointDirection.cs
@@ -0,0 +1,40 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ ///<summary>Endpoint direction.</summary>
+ /// <seealso cref="UsbCtrlFlags"/>
+ [Flags]
+ public enum UsbEndpointDirection : byte
+ {
+ /// <summary>
+ /// In Direction
+ /// </summary>
+ EndpointIn = 0x80,
+ /// <summary>
+ /// Out Direction
+ /// </summary>
+ EndpointOut = 0x00,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbEndpointList.cs b/LibWinUsb/Main/UsbEndpointList.cs
new file mode 100644
index 00000000..7e6ef8d3
--- /dev/null
+++ b/LibWinUsb/Main/UsbEndpointList.cs
@@ -0,0 +1,147 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Collections;
+using System.Collections.Generic;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Endpoint list.
+ /// </summary>
+ public class UsbEndpointList : IEnumerable<UsbEndpointBase>
+ {
+ private readonly List<UsbEndpointBase> mEpList = new List<UsbEndpointBase>();
+
+ internal UsbEndpointList() { }
+
+ /// <summary>
+ /// Gets the <see cref="UsbEndpointBase"/> item at the specified index.
+ /// </summary>
+ /// <param name="index">The zero-based index of the item.</param>
+ /// <returns>The <see cref="UsbEndpointBase"/> item at the specified index.</returns>
+ ///<exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="UsbEndpointList"/>.</exception>
+ public UsbEndpointBase this[int index]
+ {
+ get { return mEpList[index]; }
+ }
+
+ ///<summary>
+ ///Gets the number of elements contained in the <see cref="UsbEndpointList"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///The number of elements contained in the <see cref="UsbEndpointList"/>.
+ ///</returns>
+ ///
+ public int Count
+ {
+ get { return mEpList.Count; }
+ }
+
+ #region IEnumerable<UsbEndpointBase> Members
+
+ ///<summary>
+ ///Returns <see cref="UsbEndpointBase"/> enumerator that iterates through the collection.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="UsbEndpointBase"/> enumerator that can be used to iterate through the collection.
+ ///</returns>
+ public IEnumerator<UsbEndpointBase> GetEnumerator() { return mEpList.GetEnumerator(); }
+
+ ///<summary>
+ ///Returns an enumerator that iterates through a collection.
+ ///</summary>
+ ///
+ ///<returns>
+ ///An <see cref="System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
+ ///</returns>
+ ///<filterpriority>2</filterpriority>
+ IEnumerator IEnumerable.GetEnumerator() { return mEpList.GetEnumerator(); }
+
+ #endregion
+
+ ///<summary>
+ ///Removes all items from the <see cref="UsbEndpointList"/>.
+ ///</summary>
+ public void Clear()
+ {
+ while (mEpList.Count > 0)
+ Remove(mEpList[0]);
+ }
+
+ ///<summary>
+ ///Determines whether the <see cref="UsbEndpointList"/> contains a specific value.
+ ///</summary>
+ ///
+ ///<returns>
+ ///true if item is found in the <see cref="UsbEndpointList"/>; otherwise, false.
+ ///</returns>
+ ///
+ ///<param name="item">The <see cref="UsbEndpointBase"/> to locate in the <see cref="UsbEndpointList"/>.</param>
+ public bool Contains(UsbEndpointBase item) { return mEpList.Contains(item); }
+
+
+ ///<summary>
+ ///Determines the index of a specific <see cref="UsbEndpointBase"/> in the <see cref="UsbEndpointList"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///The index of item if found in the list; otherwise, -1.
+ ///</returns>
+ ///
+ ///<param name="item">The <see cref="UsbEndpointBase"/> to locate in the <see cref="UsbEndpointList"/>.</param>
+ public int IndexOf(UsbEndpointBase item) { return mEpList.IndexOf(item); }
+
+ ///<summary>
+ ///Removes the specified <see cref="UsbEndpointBase"/> in the <see cref="UsbEndpointList"/>.
+ ///</summary>
+ ///
+ ///<param name="item">The <see cref="UsbEndpointBase"/> to remove in the <see cref="UsbEndpointList"/>.</param>
+ public void Remove(UsbEndpointBase item) { item.Dispose(); }
+
+ ///<summary>
+ ///Removes the <see cref="UsbEndpointList"/> item at the specified index.
+ ///</summary>
+ ///
+ ///<param name="index">The zero-based index of the item to remove.</param>
+ ///<exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="UsbEndpointList"/>.</exception>
+ public void RemoveAt(int index)
+ {
+ UsbEndpointBase item = mEpList[index];
+ Remove(item);
+ }
+
+
+ internal UsbEndpointBase Add(UsbEndpointBase item)
+ {
+ foreach (UsbEndpointBase endpoint in mEpList)
+ {
+ if (endpoint.EpNum == item.EpNum)
+ return endpoint;
+ }
+ mEpList.Add(item);
+ return item;
+ }
+
+ internal bool RemoveFromList(UsbEndpointBase item) { return mEpList.Remove(item); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbException.cs b/LibWinUsb/Main/UsbException.cs
new file mode 100644
index 00000000..54ffcb40
--- /dev/null
+++ b/LibWinUsb/Main/UsbException.cs
@@ -0,0 +1,46 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Represents an exception generated by a USB operation.
+ /// </summary>
+ public class UsbException : Exception
+ {
+ private readonly object mSender;
+
+ /// <summary>
+ /// LibUsbDotNet USB exception.
+ /// </summary>
+ internal UsbException(object sender, string description)
+ : base(description) { mSender = sender; }
+
+ /// <summary>
+ /// The object that caused the exception.
+ /// </summary>
+ public object Sender
+ {
+ get { return mSender; }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbKernelVersion.cs b/LibWinUsb/Main/UsbKernelVersion.cs
new file mode 100644
index 00000000..b29e7134
--- /dev/null
+++ b/LibWinUsb/Main/UsbKernelVersion.cs
@@ -0,0 +1,91 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.Main
+{
+ ///<summary>
+ /// Contains version information for the LibUsb Sys driver.
+ ///</summary>
+ /// <remarks>
+ /// This version is not related to LibUsbDotNet. TO get the LibUsbDotNet version use .NET reflections.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct UsbKernelVersion
+ {
+ /// <summary>
+ /// True if Major == 0 and Minor == 0 and Micro == 0 and Nano == 0.
+ /// </summary>
+ public bool IsEmpty
+ {
+ get
+ {
+ if (Major == 0 && Minor == 0 && Micro == 0 && Nano == 0) return true;
+ return false;
+ }
+ }
+
+ internal UsbKernelVersion(int major, int minor, int micro, int nano, int bcdLibUsbDotNetKernelMod)
+ {
+ Major = major;
+ Minor = minor;
+ Micro = micro;
+ Nano = nano;
+ BcdLibUsbDotNetKernelMod = bcdLibUsbDotNetKernelMod;
+ }
+
+ /// <summary>
+ /// LibUsb-Win32 Major version
+ /// </summary>
+ public readonly int Major;
+
+ /// <summary>
+ /// LibUsb-Win32 Minor version
+ /// </summary>
+ public readonly int Minor;
+
+ /// <summary>
+ /// LibUsb-Win32 Micro version
+ /// </summary>
+ public readonly int Micro;
+
+ /// <summary>
+ /// LibUsb-Win32 Nano version
+ /// </summary>
+ public readonly int Nano;
+
+ /// <summary>
+ /// The LibUsbDotNet - LibUsb-Win32 binary mod code. if not running the LibUsbDotNet LibUsb-Win32 modified kernel driver, this value is 0.
+ /// </summary>
+ public readonly int BcdLibUsbDotNetKernelMod;
+
+
+ ///<summary>
+ ///The full LibUsb-Win32 kernel driver version (libusb0.sys).
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> containing the full LibUsb-Win32 version.
+ ///</returns>
+ public override string ToString() { return string.Format("{0}.{1}.{2}.{3}", Major, Minor, Micro, Nano); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbLockStyle.cs b/LibWinUsb/Main/UsbLockStyle.cs
new file mode 100644
index 00000000..5f905980
--- /dev/null
+++ b/LibWinUsb/Main/UsbLockStyle.cs
@@ -0,0 +1,146 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: sourceforge.net/projects/libusbdotnet/
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary>Contains the locking strategy for a <see cref="UsbDevice"/> and it's associated endpoints.</summary>
+ /// <remarks>Locking styles are use to change the way proccess/threads are allowed to communcate with a USB device and/or endpoints.
+ /// See the <see cref="DeviceLockType"/>, <see cref="ControlEpLockType"/>, and <see cref="DataEpLockType"/> enumerations for a description of the various locking styles.
+ /// </remarks>
+ public class UsbLockStyle
+ {
+ private ControlEpLockType mControlEpLock;
+ private DataEpLockType mDataEpLock;
+ private DeviceLockType mDeviceLockType;
+ private int mEndpointControlTimeout;
+ private int mEndpointLockTimeout;
+
+ /// <summary>
+ /// Create a device lock style class.
+ /// </summary>
+ /// <param name="deviceLockType">See <see cref="DeviceLockType"/>.</param>
+ /// <param name="controlEpLockType">See <see cref="ControlEpLock"/>.</param>
+ /// <param name="dataEpLockType">See <see cref="DataEpLock"/>.</param>
+ public UsbLockStyle(DeviceLockType deviceLockType, ControlEpLockType controlEpLockType, DataEpLockType dataEpLockType)
+ : this(deviceLockType, controlEpLockType, dataEpLockType, 1000, 1000)
+ {
+ }
+
+ /// <summary>
+ /// Create a device lock style class.
+ /// </summary>
+ /// <param name="deviceLockType">See <see cref="DeviceLockType"/>.</param>
+ /// <param name="controlEpLockType">See <see cref="ControlEpLock"/>.</param>
+ /// <param name="dataEpLockType">See <see cref="DataEpLock"/>.</param>
+ /// <param name="endpoint0Timeout">Number of milliseconds to wait for an endpoint 0 lock before returning a timeout errorcode.</param>
+ /// <param name="endpointLockTimeout">Number of milliseconds to wait for an endpoint lock before returning a timeout errorcode.</param>
+ public UsbLockStyle(DeviceLockType deviceLockType,
+ ControlEpLockType controlEpLockType,
+ DataEpLockType dataEpLockType,
+ int endpoint0Timeout,
+ int endpointLockTimeout)
+ {
+ mDeviceLockType = deviceLockType;
+ mControlEpLock = controlEpLockType;
+ mDataEpLock = dataEpLockType;
+ mEndpointControlTimeout = endpoint0Timeout;
+ mEndpointLockTimeout = endpointLockTimeout;
+ }
+
+ /// <summary>
+ /// Locking strategy for the device. See <see cref="DeviceLockType"/> for more information.
+ /// </summary>
+ public DeviceLockType DeviceLockType
+ {
+ get
+ {
+ return mDeviceLockType;
+ }
+ set
+ {
+ mDeviceLockType = value;
+ }
+ }
+
+ /// <summary>
+ /// Locking strategy for <see cref="UsbDevice"/> Endpoint0 operations. This property will generally always be <see cref="ControlEpLockType.None"/>, See <see cref="ControlEpLockType"/> for more information.
+ /// </summary>
+ public ControlEpLockType ControlEpLock
+ {
+ get
+ {
+ return mControlEpLock;
+ }
+ set
+ {
+ mControlEpLock = value;
+ }
+ }
+
+ /// <summary>
+ /// Locking strategy for the <see cref="UsbDevice"/> endpoint operations. See <see cref="DataEpLockType"/> for more information.
+ /// </summary>
+ public DataEpLockType DataEpLock
+ {
+ get
+ {
+ return mDataEpLock;
+ }
+ set
+ {
+ mDataEpLock = value;
+ }
+ }
+
+ /// <summary>
+ /// Timeout value used when attempting to aquire an <see cref="ControlEpLockType"/> when <see cref="ControlEpLock"/> is set to a value other than <see cref="ControlEpLockType.None"/>.
+ /// </summary>
+ public int EndpointControlTimeout
+ {
+ get
+ {
+ return mEndpointControlTimeout;
+ }
+ set
+ {
+ mEndpointControlTimeout = value;
+ }
+ }
+
+ /// <summary>
+ /// Maximum time(ms) to wait for an endpoint to become idle before returning a <see cref="ErrorCode.EndpointLockTimedOut"/> error code.
+ /// </summary>
+ /// <remarks>
+ /// This property has no affect unless the <see cref="UsbDevice.LockStyle"/> includes the <see cref="DataEpLockType.Locked"/> enumeration.
+ /// </remarks>
+ public int EndpointLockTimeout
+ {
+ get
+ {
+ return mEndpointLockTimeout;
+ }
+ set
+ {
+ mEndpointLockTimeout = value;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbRegDeviceList.cs b/LibWinUsb/Main/UsbRegDeviceList.cs
new file mode 100644
index 00000000..574dca32
--- /dev/null
+++ b/LibWinUsb/Main/UsbRegDeviceList.cs
@@ -0,0 +1,179 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Array of USB device available for communication via LibUsb or WinUsb.
+ /// </summary>
+ public class UsbRegDeviceList : IEnumerable<UsbRegistry>
+ {
+ private readonly List<UsbRegistry> mUsbRegistryList;
+
+ ///<summary>
+ /// Creates an empty <see cref="UsbRegDeviceList"/> instance.
+ ///</summary>
+ public UsbRegDeviceList() { mUsbRegistryList = new List<UsbRegistry>(); }
+
+ private UsbRegDeviceList(IEnumerable<UsbRegistry> usbRegDeviceList) { mUsbRegistryList = new List<UsbRegistry>(usbRegDeviceList); }
+
+ ///<summary>
+ ///Gets the element at the specified index.
+ ///</summary>
+ ///
+ ///<returns>
+ ///The element at the specified index.
+ ///</returns>
+ ///
+ ///<param name="index">The zero-based index of the element to get or set.</param>
+ ///<exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
+ ///<exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
+ public UsbRegistry this[int index]
+ {
+ get { return mUsbRegistryList[index]; }
+ }
+
+ ///<summary>
+ ///Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
+ ///</returns>
+ ///
+ public int Count
+ {
+ get { return mUsbRegistryList.Count; }
+ }
+
+ #region IEnumerable<UsbRegistry> Members
+
+ ///<summary>
+ ///Returns an enumerator that iterates through the collection.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="IEnumerator{T}"/> that can be used to iterate through the collection.
+ ///</returns>
+ IEnumerator<UsbRegistry> IEnumerable<UsbRegistry>.GetEnumerator() { return mUsbRegistryList.GetEnumerator(); }
+
+ ///<summary>
+ ///Returns an enumerator that iterates through a collection.
+ ///</summary>
+ ///
+ ///<returns>
+ ///An <see cref="System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
+ ///</returns>
+ public IEnumerator GetEnumerator() { return ((IEnumerable<UsbRegistry>) this).GetEnumerator(); }
+
+ #endregion
+
+ /// <summary>
+ /// Find the first UsbRegistry device that matches the FindUsbPredicate.
+ /// </summary>
+ /// <param name="findUsbPredicate">The predicate function to use.</param>
+ /// <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
+ public UsbRegistry Find(Predicate<UsbRegistry> findUsbPredicate) { return mUsbRegistryList.Find(findUsbPredicate); }
+
+ /// <summary>
+ /// Find all UsbRegistry devices that matches the FindUsbPredicate.
+ /// </summary>
+ /// <param name="findUsbPredicate">The predicate function to use.</param>
+ /// <returns>All usb registry classes that match.</returns>
+ public UsbRegDeviceList FindAll(Predicate<UsbRegistry> findUsbPredicate) { return new UsbRegDeviceList(mUsbRegistryList.FindAll(findUsbPredicate)); }
+
+ /// <summary>
+ /// Find the last a UsbRegistry device that matches the FindUsbPredicate.
+ /// </summary>
+ /// <param name="findUsbPredicate">The predicate function to use.</param>
+ /// <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
+ public UsbRegistry FindLast(Predicate<UsbRegistry> findUsbPredicate) { return mUsbRegistryList.FindLast(findUsbPredicate); }
+
+ /// <summary>
+ /// Find the first UsbRegistry device using a <see cref="UsbDeviceFinder"/> instance.
+ /// </summary>
+ /// <param name="usbDeviceFinder">The <see cref="UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
+ /// <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
+ public UsbRegistry Find(UsbDeviceFinder usbDeviceFinder) { return mUsbRegistryList.Find((Predicate<UsbRegistry>) usbDeviceFinder.Check); }
+
+ /// <summary>
+ /// Find all UsbRegistry devices using a <see cref="UsbDeviceFinder"/> instance.
+ /// </summary>
+ /// <param name="usbDeviceFinder">The <see cref="UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
+ /// <returns>All usb registry classes that match.</returns>
+ public UsbRegDeviceList FindAll(UsbDeviceFinder usbDeviceFinder) { return FindAll((Predicate<UsbRegistry>)usbDeviceFinder.Check); }
+
+ /// <summary>
+ /// Find the last UsbRegistry devices using a <see cref="UsbDeviceFinder"/> instance.
+ /// </summary>
+ /// <param name="usbDeviceFinder">The <see cref="UsbDeviceFinder"/> instance used to locate the usb registry devices.</param>
+ /// <returns>A valid usb registry class if the device was found or Null if the device was not found.</returns>
+ public UsbRegistry FindLast(UsbDeviceFinder usbDeviceFinder) { return mUsbRegistryList.FindLast((Predicate<UsbRegistry>)usbDeviceFinder.Check); }
+
+ ///<summary>
+ ///Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
+ ///</summary>
+ ///
+ ///<returns>
+ ///true if item is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
+ ///</returns>
+ ///
+ ///<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
+ public bool Contains(UsbRegistry item) { return mUsbRegistryList.Contains(item); }
+
+ ///<summary>
+ ///Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
+ ///</summary>
+ ///
+ ///<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
+ ///<param name="offset">The zero-based index in Array at which copying begins.</param>
+ ///<exception cref="T:System.ArgumentOutOfRangeException">Offset is less than 0.</exception>
+ ///<exception cref="T:System.ArgumentNullException">Array is null.</exception>
+ ///<exception cref="T:System.ArgumentException">Array is multidimensional.-or-Offset is equal to or greater than the length of Array.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from Offset to the end of the destination Array.-or-Type T cannot be cast automatically to the type of the destination Array.</exception>
+ public void CopyTo(UsbRegistry[] array, int offset) { mUsbRegistryList.CopyTo(array, offset); }
+
+ ///<summary>
+ ///Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///The index of item if found in the list; otherwise, -1.
+ ///</returns>
+ ///
+ ///<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
+ public int IndexOf(UsbRegistry item) { return mUsbRegistryList.IndexOf(item); }
+
+ internal bool Add(UsbRegistry item)
+ {
+ //for (int i = 0; i < Count; i++)
+ //{
+ // if (mUsbRegistryList[i] == item)
+ // return false;
+ //}
+ mUsbRegistryList.Add(item);
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbRegistry.cs b/LibWinUsb/Main/UsbRegistry.cs
new file mode 100644
index 00000000..f957c596
--- /dev/null
+++ b/LibWinUsb/Main/UsbRegistry.cs
@@ -0,0 +1,332 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Text;
+using LibUsbDotNet.Descriptors;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> USB device registry members common to both LibUsb and WinUsb devices.
+ /// </summary>
+ public abstract class UsbRegistry //: IEquatable<UsbRegistry>
+ {
+ internal const string DEVICE_INTERFACE_GUIDS = "DeviceInterfaceGuids";
+ internal const string LIBUSB_INTERFACE_GUIDS = "LibUsbInterfaceGUIDs";
+
+ internal const string SYMBOLIC_NAME_KEY = "SymbolicName";
+ internal const string DEVICE_ID_KEY = "DeviceID";
+
+ private static readonly char[] ChNull = new char[] {'\0'};
+
+ /// <summary>
+ /// If true, LibUsbDotNet will use the vid, pid and revision of the <see cref="UsbDevice.Info"/>
+ /// descriptor to lookup additional device information in the windows registry via the setupapi.
+ /// Setting this field to false will cause all device information to come directly from the
+ /// device descriptors.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// If using WinUSB or the LibUsbDotNet-libusb-win32 native driver, information provided by
+ /// the <see cref="UsbRegistry"/> class will come from the registry regardless of this setting
+ /// because these drivers have direct support for this.
+ /// </para>
+ /// <para>
+ /// The Libusb-1.0 windows-backend driver and the legacy libusb-win32 driver have their own methods
+ /// for listing, finding, and opening devices. For these drivers, the <see cref="ForceSetupApi"/> can
+ /// be set to do a "reverse lookup" via the setupapi using only the vid, pid and revision of the
+ /// <see cref="UsbDeviceDescriptor"/>. The <see cref="UsbRegistry"/> class is then populated with
+ /// all available <see cref="SPDRP"/> properties, device interface guids, winusb device paths, etc.
+ /// </para>
+ /// </remarks>
+ public static bool ForceSetupApi = true;
+
+ /// <summary>
+ /// Guid array of all <see cref="DeviceInterfaceGuids"/> assigned to this device.
+ /// </summary>
+ internal Guid[] mDeviceInterfaceGuids=new Guid[0];
+
+ internal Dictionary<string, object> mDeviceProperties = new Dictionary<string, object>();
+
+ private UsbSymbolicName mSymHardwareId;
+
+ /// <summary>
+ /// Collection of known usb device properties (from the registry).
+ /// </summary>
+ public Dictionary<string, object> DeviceProperties
+ {
+ get { return mDeviceProperties; }
+ }
+
+ /// <summary>
+ /// Check this value to determine if the usb device is still connected to the bus and ready to open.
+ /// </summary>
+ /// <remarks>
+ /// Uses the symbolic name as a unique id to determine if this device instance is still attached.
+ /// </remarks>
+ /// <exception cref="UsbException">An exception is thrown if the <see cref="UsbRegistry.SymbolicName"/> property is null or empty.</exception>
+ public abstract bool IsAlive { get; }
+
+ /// <summary>
+ /// The unique "SymbolicName" of the device.
+ /// </summary>
+ public string SymbolicName
+ {
+ get
+ {
+ if (mDeviceProperties.ContainsKey(SYMBOLIC_NAME_KEY))
+ return (string) mDeviceProperties[SYMBOLIC_NAME_KEY];
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// The unique "SymbolicName" of the device.
+ /// </summary>
+ public abstract Guid[] DeviceInterfaceGuids { get; }
+
+ /// <summary>
+ /// VendorID
+ /// </summary>
+ public virtual int Vid
+ {
+ get
+ {
+ if (ReferenceEquals(mSymHardwareId, null))
+ {
+ string[] saHardwareIds = mDeviceProperties[SPDRP.HardwareId.ToString()] as string[];
+ if (saHardwareIds != null && saHardwareIds.Length > 0)
+ {
+ mSymHardwareId = UsbSymbolicName.Parse(saHardwareIds[0]);
+ }
+ }
+ if (!ReferenceEquals(mSymHardwareId, null))
+ {
+ return mSymHardwareId.Vid;
+ }
+
+ return 0;
+ }
+ }
+
+ /// <summary>
+ /// ProductID
+ /// </summary>
+ public virtual int Pid
+ {
+ get
+ {
+ if (ReferenceEquals(mSymHardwareId, null))
+ {
+ string[] saHardwareIds = mDeviceProperties[SPDRP.HardwareId.ToString()] as string[];
+ if (saHardwareIds != null && saHardwareIds.Length > 0)
+ {
+ mSymHardwareId = UsbSymbolicName.Parse(saHardwareIds[0]);
+ }
+ }
+ if (!ReferenceEquals(mSymHardwareId, null))
+ {
+ return mSymHardwareId.Pid;
+ }
+
+ return 0;
+ }
+ }
+
+ /// <summary>
+ /// Gets a device property/key from the registry.
+ /// </summary>
+ /// <param name="name">The name of the property to retrieve.</param>
+ /// <returns></returns>
+ public object this[string name]
+ {
+ get
+ {
+ object temp;
+ mDeviceProperties.TryGetValue(name, out temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Gets a device property/key from the registry. See the <see cref="SPDRP"/> enumeration for more information.
+ /// </summary>
+ /// <param name="spdrp">The name of the property to retrieve.</param>
+ /// <returns></returns>
+ public object this[SPDRP spdrp]
+ {
+ get
+ {
+ object temp;
+ mDeviceProperties.TryGetValue(spdrp.ToString(), out temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Gets a property from the registry. See the <see cref="DevicePropertyType"/> enumeration for more information.
+ /// </summary>
+ /// <param name="devicePropertyType">The name of the property to retrieve.</param>
+ /// <returns></returns>
+ public object this[DevicePropertyType devicePropertyType]
+ {
+ get
+ {
+ object temp;
+ mDeviceProperties.TryGetValue(devicePropertyType.ToString(), out temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Gets the short name of the usb device.
+ /// </summary>
+ /// <remarks>This is the device decription as it is defined in the setup/inf file.</remarks>
+ public string Name
+ {
+ get
+ {
+ string deviceDesc = this[SPDRP.DeviceDesc] as string;
+ if (String.IsNullOrEmpty(deviceDesc)) return string.Empty;
+ return deviceDesc;
+ }
+ }
+
+ /// <summary>
+ /// Gets the manufacturer followed by the device decription in the format 'Mfu - Description'
+ /// </summary>
+ /// <remarks>This property works best for a display name. It does additional proccessing on the manufacturer and device description that make it more user readable.</remarks>
+ public string FullName
+ {
+ get
+ {
+ string deviceDesc = Name;
+ string mfg = this[SPDRP.Mfg] as string;
+ if (mfg == null) mfg = String.Empty;
+ deviceDesc = deviceDesc.Trim();
+ mfg = mfg.Trim();
+
+ int firstMfuSpace = mfg.IndexOf(' ');
+ int firstDescSpace = deviceDesc.IndexOf(' ');
+ while (firstMfuSpace == firstDescSpace && firstDescSpace != -1)
+ {
+ if (mfg.Substring(0, firstMfuSpace).Equals(deviceDesc.Substring(0, firstDescSpace)))
+ {
+ deviceDesc = deviceDesc.Remove(0, firstDescSpace + 1);
+ firstMfuSpace = mfg.IndexOf(' ');
+ firstDescSpace = deviceDesc.IndexOf(' ');
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ if (deviceDesc.ToLower().Contains(mfg.ToLower()))
+ return deviceDesc;
+
+ if (mfg == string.Empty) mfg = "[Not Provided]";
+ if (deviceDesc == string.Empty) deviceDesc = "[Not Provided]";
+
+ return (mfg + " - " + deviceDesc);
+ }
+ }
+
+ /// <summary>
+ /// Number of properties in the array.
+ /// </summary>
+ public int Count
+ {
+ get { return mDeviceProperties.Count; }
+ }
+
+ /// <summary>
+ /// Usb device revision number.
+ /// </summary>
+ public virtual int Rev
+ {
+ get
+ {
+ if (ReferenceEquals(mSymHardwareId, null))
+ {
+ string[] saHardwareIds = mDeviceProperties[SPDRP.HardwareId.ToString()] as string[];
+ if (saHardwareIds != null && saHardwareIds.Length > 0)
+ {
+ mSymHardwareId = UsbSymbolicName.Parse(saHardwareIds[0]);
+ }
+ }
+ if (!ReferenceEquals(mSymHardwareId, null))
+ {
+ return mSymHardwareId.Rev;
+ }
+
+ return 0;
+ }
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <returns>Return a new instance of the <see cref="UsbDevice"/> class.
+ /// If the device fails to open a null refrence is return. For extended error
+ /// information see the <see cref="UsbDevice.UsbErrorEvent"/>.
+ /// </returns>
+ public abstract UsbDevice Device { get; }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public abstract bool Open(out UsbDevice usbDevice);
+
+ internal static Guid GetAsGuid(byte[] buffer, int len)
+ {
+ Guid rtn = Guid.Empty;
+ if (len == 16)
+ {
+ byte[] guidBytes = new byte[len];
+ Array.Copy(buffer, guidBytes, guidBytes.Length);
+ rtn = new Guid(guidBytes);
+ }
+
+ return rtn;
+ }
+
+ internal static string GetAsString(byte[] buffer, int len)
+ {
+ if (len > 2) return Encoding.Unicode.GetString(buffer, 0, len).TrimEnd(ChNull);
+
+ return "";
+ }
+
+ internal static string[] GetAsStringArray(byte[] buffer, int len) { return GetAsString(buffer, len).Split(new char[] {'\0'}, StringSplitOptions.RemoveEmptyEntries); }
+
+ internal static Int32 GetAsStringInt32(byte[] buffer, int len)
+ {
+ Int32 iRtn = 0;
+ if (len == 4)
+ iRtn = buffer[0] | ((buffer[1]) << 8) | ((buffer[2]) << 16) | ((buffer[3]) << 24);
+ return iRtn;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbRequestRecipient.cs b/LibWinUsb/Main/UsbRequestRecipient.cs
new file mode 100644
index 00000000..8ac943c1
--- /dev/null
+++ b/LibWinUsb/Main/UsbRequestRecipient.cs
@@ -0,0 +1,48 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ ///<summary>Recipient of the request.</summary>
+ /// <seealso cref="UsbCtrlFlags"/>
+ [Flags]
+ public enum UsbRequestRecipient : byte
+ {
+ /// <summary>
+ /// Device is recipient.
+ /// </summary>
+ RecipDevice = 0x00,
+ /// <summary>
+ /// Endpoint is recipient.
+ /// </summary>
+ RecipEndpoint = 0x02,
+ /// <summary>
+ /// Interface is recipient.
+ /// </summary>
+ RecipInterface = 0x01,
+ /// <summary>
+ /// Other is recipient.
+ /// </summary>
+ RecipOther = 0x03,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbRequestType.cs b/LibWinUsb/Main/UsbRequestType.cs
new file mode 100644
index 00000000..7c82c9a0
--- /dev/null
+++ b/LibWinUsb/Main/UsbRequestType.cs
@@ -0,0 +1,50 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Standard USB requests.
+ /// </summary>
+ /// <seealso cref="UsbCtrlFlags"/>
+ [Flags]
+ public enum UsbRequestType : byte
+ {
+ /// <summary>
+ /// Class specific request.
+ /// </summary>
+ TypeClass = (0x01 << 5),
+ /// <summary>
+ /// RESERVED.
+ /// </summary>
+ TypeReserved = (0x03 << 5),
+ /// <summary>
+ /// Standard request.
+ /// </summary>
+ TypeStandard = (0x00 << 5),
+ /// <summary>
+ /// Vendor specific request.
+ /// </summary>
+ TypeVendor = (0x02 << 5),
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbSetupPacket.cs b/LibWinUsb/Main/UsbSetupPacket.cs
new file mode 100644
index 00000000..fb045e80
--- /dev/null
+++ b/LibWinUsb/Main/UsbSetupPacket.cs
@@ -0,0 +1,95 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Transfers data to the main control endpoint (Endpoint 0).
+ /// </summary>
+ /// <remarks> All USB devices respond to requests from the host on the device’s Default Control Pipe. These requests are made using control transfers. The request and the request’s parameters are sent to the device in the Setup packet. The host is responsible for establishing the values passed in the fields. Every Setup packet has eight bytes.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public struct UsbSetupPacket
+ {
+ /// <summary>
+ /// This bitmapped field identifies the characteristics of the specific request. In particular, this field identifies the direction of data transfer in the second phase of the control transfer. The state of the Direction bit is ignored if the wLength field is zero, signifying there is no Data stage.
+ /// The USB Specification defines a series of standard requests that all devices must support. In addition, a device class may define additional requests. A device vendor may also define requests supported by the device.
+ /// Requests may be directed to the device, an interface on the device, or a specific endpoint on a device. This field also specifies the intended recipient of the request. When an interface or endpoint is specified, the wIndex field identifies the interface or endpoint.
+ /// </summary>
+ /// <remarks>
+ /// <ul>Characteristics of request:
+ /// <li>D7: Data transfer direction</li>
+ /// <li>0 = Host-to-device</li>
+ /// <li>1 = Device-to-host</li>
+ /// <li>D6...5: Type</li>
+ /// <li>0 = Standard</li>
+ /// <li>1 = Class</li>
+ /// <li>2 = Vendor</li>
+ /// <li>3 = Reserved</li>
+ /// <li>D4...0: Recipient</li>
+ /// <li>0 = Device</li>
+ /// <li>1 = Interface</li>
+ /// <li>2 = Endpoint</li>
+ /// <li>3 = Other</li>
+ /// <li>4...31 = Reserved</li>
+ /// </ul>
+ /// </remarks>
+ public byte RequestType;
+
+ /// <summary>
+ /// This field specifies the particular request. The Type bits in the bmRequestType field modify the meaning of this field. This specification defines values for the bRequest field only when the bits are reset to zero, indicating a standard request.
+ /// </summary>
+ public byte Request;
+
+ /// <summary>
+ /// The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request.
+ /// </summary>
+ public short Value;
+
+ /// <summary>
+ /// The contents of this field vary according to the request. It is used to pass a parameter to the device, specific to the request.
+ /// </summary>
+ public short Index;
+
+ /// <summary>
+ /// This field specifies the length of the data transferred during the second phase of the control transfer. The direction of data transfer (host-to-device or device-to-host) is indicated by the Direction bit of the <see cref="RequestType"/> field. If this field is zero, there is no data transfer phase. On an input request, a device must never return more data than is indicated by the wLength value; it may return less. On an output request, wLength will always indicate the exact amount of data to be sent by the host. Device behavior is undefined if the host should send more data than is specified in wLength.
+ /// </summary>
+ public short Length;
+
+ /// <summary>
+ /// Creates a new instance of a <see cref="UsbSetupPacket"/> and initializes all the fields with the following parameters.
+ /// </summary>
+ /// <param name="requestType">See <see cref="UsbSetupPacket.RequestType"/>.</param>
+ /// <param name="request">See <see cref="UsbSetupPacket.Request"/>.</param>
+ /// <param name="value">See <see cref="UsbSetupPacket.Value"/>.</param>
+ /// <param name="index">See <see cref="UsbSetupPacket.Index"/>.</param>
+ /// <param name="length">See <see cref="UsbSetupPacket.Length"/>.</param>
+ public UsbSetupPacket(byte requestType, byte request, short value, short index, short length)
+ {
+ RequestType = requestType;
+ Request = request;
+ Value = value;
+ Index = index;
+ Length = length;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbStandardRequest.cs b/LibWinUsb/Main/UsbStandardRequest.cs
new file mode 100644
index 00000000..301ef892
--- /dev/null
+++ b/LibWinUsb/Main/UsbStandardRequest.cs
@@ -0,0 +1,78 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+using System;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Standard Device Requests.
+ /// </summary>
+ [Flags]
+ public enum UsbStandardRequest : byte
+ {
+ /// <summary>
+ /// Clear or disable a specific feature.
+ /// </summary>
+ ClearFeature = 0x01,
+ /// <summary>
+ /// Returns the current device Configuration value.
+ /// </summary>
+ GetConfiguration = 0x08,
+ /// <summary>
+ /// Returns the specified descriptor if the descriptor exists.
+ /// </summary>
+ GetDescriptor = 0x06,
+ /// <summary>
+ /// Returns the selected alternate setting for the specified interface.
+ /// </summary>
+ GetInterface = 0x0A,
+ /// <summary>
+ /// Returns status for the specified recipient.
+ /// </summary>
+ GetStatus = 0x00,
+ /// <summary>
+ /// Sets the device address for all future device accesses.
+ /// </summary>
+ SetAddress = 0x05,
+ /// <summary>
+ /// Sets the device Configuration.
+ /// </summary>
+ SetConfiguration = 0x09,
+ /// <summary>
+ /// Optional and may be used to update existing descriptors or new descriptors may be added.
+ /// </summary>
+ SetDescriptor = 0x07,
+ /// <summary>
+ /// used to set or enable a specific feature.
+ /// </summary>
+ SetFeature = 0x03,
+ /// <summary>
+ /// Allows the host to select an alternate setting for the specified interface.
+ /// </summary>
+ SetInterface = 0x0B,
+ /// <summary>
+ /// Used to set and then report an endpoint’s synchronization frame.
+ /// </summary>
+ SynchFrame = 0x0C,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbStatusClodes.cs b/LibWinUsb/Main/UsbStatusClodes.cs
new file mode 100644
index 00000000..c2fe4b1c
--- /dev/null
+++ b/LibWinUsb/Main/UsbStatusClodes.cs
@@ -0,0 +1,31 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ internal enum UsbStatusClodes
+ {
+ /// <summary>
+ /// Returned bo overlapped IO functions when data is still pending.
+ /// </summary>
+ ErrorIoPending = 997
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbStream.cs b/LibWinUsb/Main/UsbStream.cs
new file mode 100644
index 00000000..542f65d8
--- /dev/null
+++ b/LibWinUsb/Main/UsbStream.cs
@@ -0,0 +1,286 @@
+// Copyright © 2006-2009 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Threading;
+using System.Windows.Forms;
+
+namespace LibUsbDotNet.Main
+{
+ public class IOCancelledException : IOException
+ {
+ public IOCancelledException(string message) : base(message) { }
+ }
+
+ public class UsbStreamAsyncTransfer : IAsyncResult
+ {
+ internal readonly int mCount;
+ internal readonly int mOffset;
+ internal readonly object mState;
+ private readonly int mTimeout;
+ internal AsyncCallback mCallback;
+ internal ManualResetEvent mCompleteEvent = new ManualResetEvent(false);
+ internal GCHandle mGCBuffer;
+ internal bool mIsComplete;
+ private ErrorCode mResult;
+ private int mTrasferredLength;
+ internal UsbEndpointBase mUsbEndpoint;
+
+ public UsbStreamAsyncTransfer(UsbEndpointBase usbEndpoint,
+ byte[] buffer,
+ int offset,
+ int count,
+ AsyncCallback callback,
+ object state,
+ int timeout)
+ {
+ mUsbEndpoint = usbEndpoint;
+ mOffset = offset;
+ mCount = count;
+ mState = state;
+ mTimeout = timeout;
+ mCallback = callback;
+ mGCBuffer = GCHandle.Alloc(buffer, GCHandleType.Pinned);
+ }
+
+ public ErrorCode Result
+ {
+ get { return mResult; }
+ }
+
+ public int TransferredLength
+ {
+ get { return mTrasferredLength; }
+ }
+
+ #region IAsyncResult Members
+
+ public bool IsCompleted
+ {
+ get { return mIsComplete; }
+ }
+
+ public WaitHandle AsyncWaitHandle
+ {
+ get { return mCompleteEvent; }
+ }
+
+ public object AsyncState
+ {
+ get { return mState; }
+ }
+
+ public bool CompletedSynchronously
+ {
+ get { return false; }
+ }
+
+ #endregion
+
+ public ErrorCode SyncTransfer()
+ {
+ mResult = mUsbEndpoint.Transfer(mGCBuffer.AddrOfPinnedObject(), mOffset, mCount, mTimeout, out mTrasferredLength);
+ mGCBuffer.Free();
+ mIsComplete = true;
+ if (mCallback != null) mCallback(this as IAsyncResult);
+ mCompleteEvent.Set();
+ return mResult;
+ }
+ }
+
+ public class UsbStream : Stream
+ {
+ private readonly UsbEndpointBase mUsbEndpoint;
+ private int mTimeout = UsbConstants.DEFAULT_TIMEOUT;
+ private Thread mWaitThread;
+
+ public UsbStream(UsbEndpointBase usbEndpoint) { mUsbEndpoint = usbEndpoint; }
+
+ #region NOT SUPPORTED
+
+ public override long Length
+ {
+ get { throw new NotSupportedException(); }
+ }
+
+ public override long Position
+ {
+ get { throw new NotSupportedException(); }
+ set { throw new NotSupportedException(); }
+ }
+
+
+ public override long Seek(long offset, SeekOrigin origin) { throw new NotSupportedException(); }
+
+ public override void SetLength(long value) { throw new NotSupportedException(); }
+
+ #endregion
+
+ #region Overridden Members
+
+ public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
+ {
+ UsbStreamAsyncTransfer asyncTransfer = new UsbStreamAsyncTransfer(mUsbEndpoint, buffer, offset, count, callback, state, ReadTimeout);
+ WaitThread.Start(asyncTransfer);
+ return asyncTransfer;
+ }
+ private Thread WaitThread
+ {
+ get
+ {
+ if (ReferenceEquals(mWaitThread,null))
+ mWaitThread=new Thread(AsyncTransferFn);
+
+ while (mWaitThread.IsAlive)Application.DoEvents();
+
+ return mWaitThread;
+ }
+ }
+ public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state)
+ {
+ UsbStreamAsyncTransfer asyncTransfer = new UsbStreamAsyncTransfer(mUsbEndpoint, buffer, offset, count, callback, state, WriteTimeout);
+ WaitThread.Start(asyncTransfer);
+ return asyncTransfer;
+ }
+
+ public override bool CanRead
+ {
+ get { return (mUsbEndpoint.EpNum & 0x80) == 0x80; }
+ }
+
+ public override bool CanSeek
+ {
+ get { return false; }
+ }
+
+ public override bool CanTimeout
+ {
+ get { return true; }
+ }
+
+ public override bool CanWrite
+ {
+ get { return (mUsbEndpoint.EpNum & 0x80) == 0; }
+ }
+
+ public override int EndRead(IAsyncResult asyncResult)
+ {
+ UsbStreamAsyncTransfer asyncTransfer = (UsbStreamAsyncTransfer) asyncResult;
+ asyncTransfer.mCompleteEvent.WaitOne();
+
+ if (asyncTransfer.Result == ErrorCode.Success) return asyncTransfer.TransferredLength;
+
+ if (asyncTransfer.Result == ErrorCode.IoTimedOut)
+ throw new TimeoutException(String.Format("{0}:Endpoint 0x{1:X2} IO timed out.", asyncTransfer.Result, mUsbEndpoint.EpNum));
+ if (asyncTransfer.Result == ErrorCode.IoCancelled)
+ throw new IOCancelledException(String.Format("{0}:Endpoint 0x{1:X2} IO was cancelled.", asyncTransfer.Result, mUsbEndpoint.EpNum));
+
+ throw new IOException(string.Format("{0}:Failed reading from endpoint:{1}", asyncTransfer.Result, mUsbEndpoint.EpNum));
+ }
+
+ public override void EndWrite(IAsyncResult asyncResult)
+ {
+ UsbStreamAsyncTransfer asyncTransfer = (UsbStreamAsyncTransfer) asyncResult;
+ asyncTransfer.mCompleteEvent.WaitOne();
+
+ if (asyncTransfer.Result == ErrorCode.Success && asyncTransfer.mCount == asyncTransfer.TransferredLength) return;
+
+ if (asyncTransfer.Result == ErrorCode.IoTimedOut)
+ throw new TimeoutException(String.Format("{0}:Endpoint 0x{1:X2} IO timed out.", asyncTransfer.Result, mUsbEndpoint.EpNum));
+ if (asyncTransfer.Result == ErrorCode.IoCancelled)
+ throw new IOCancelledException(String.Format("{0}:Endpoint 0x{1:X2} IO was cancelled.", asyncTransfer.Result, mUsbEndpoint.EpNum));
+ if (asyncTransfer.mCount != asyncTransfer.TransferredLength)
+ throw new IOException(String.Format("{0}:Failed writing {1} byte(s) to endpoint 0x{2:X2}.",
+ asyncTransfer.Result,
+ asyncTransfer.mCount - asyncTransfer.TransferredLength,
+ mUsbEndpoint.EpNum));
+
+ throw new IOException(String.Format("{0}:Failed writing to endpoint 0x{1:X2}", asyncTransfer.Result, mUsbEndpoint.EpNum));
+ }
+
+ public override void Flush() { return; }
+
+ public override int Read(byte[] buffer, int offset, int count)
+ {
+ if (!CanRead)
+ throw new InvalidOperationException(String.Format("Cannot read from WriteEndpoint {0}.", (WriteEndpointID) mUsbEndpoint.EpNum));
+
+ int transferred;
+ ErrorCode ec = mUsbEndpoint.Transfer(buffer, offset, count, ReadTimeout, out transferred);
+
+ if (ec == ErrorCode.Success) return transferred;
+
+ if (ec == ErrorCode.IoTimedOut) throw new TimeoutException(String.Format("{0}:Endpoint 0x{1:X2} IO timed out.", ec, mUsbEndpoint.EpNum));
+ if (ec == ErrorCode.IoCancelled)
+ throw new IOCancelledException(String.Format("{0}:Endpoint 0x{1:X2} IO was cancelled.", ec, mUsbEndpoint.EpNum));
+
+ throw new IOException(string.Format("{0}:Failed reading from endpoint:{1}", ec, mUsbEndpoint.EpNum));
+ }
+
+ public override int ReadTimeout
+ {
+ get { return mTimeout; }
+ set { mTimeout = value; }
+ }
+
+ public override void Write(byte[] buffer, int offset, int count)
+ {
+ if (!CanWrite)
+ throw new InvalidOperationException(String.Format("Cannot write to ReadEndpoint {0}.", (ReadEndpointID) mUsbEndpoint.EpNum));
+
+ int transferred;
+ ErrorCode ec = mUsbEndpoint.Transfer(buffer, offset, count, WriteTimeout, out transferred);
+
+ if (ec == ErrorCode.Success && count == transferred) return;
+
+ if (ec == ErrorCode.IoTimedOut) throw new TimeoutException(String.Format("{0}:Endpoint 0x{1:X2} IO timed out.", ec, mUsbEndpoint.EpNum));
+ if (ec == ErrorCode.IoCancelled)
+ throw new IOCancelledException(String.Format("{0}:Endpoint 0x{1:X2} IO was cancelled.", ec, mUsbEndpoint.EpNum));
+ if (count != transferred)
+ throw new IOException(String.Format("{0}:Failed writing {1} byte(s) to endpoint 0x{2:X2}.",
+ ec,
+ count - transferred,
+ mUsbEndpoint.EpNum));
+
+ throw new IOException(String.Format("{0}:Failed writing to endpoint 0x{1:X2}", ec, mUsbEndpoint.EpNum));
+ }
+
+ public override int WriteTimeout
+ {
+ get { return mTimeout; }
+ set { mTimeout = value; }
+ }
+
+ #endregion
+
+ #region STATIC Members
+
+ private static void AsyncTransferFn(object oContext)
+ {
+ UsbStreamAsyncTransfer context = oContext as UsbStreamAsyncTransfer;
+ context.SyncTransfer();
+ }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbSymbolicName.cs b/LibWinUsb/Main/UsbSymbolicName.cs
new file mode 100644
index 00000000..0bf268f6
--- /dev/null
+++ b/LibWinUsb/Main/UsbSymbolicName.cs
@@ -0,0 +1,227 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Globalization;
+using System.Text.RegularExpressions;
+using LibUsbDotNet.Internal.UsbRegex;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary> USB device symbolic names are persistent accrossed boots and uniquely identify each device.
+ /// </summary>
+ /// <remarks> As well as uniquely identify connected devices, the UsbSymbolicName class parses the symbolic name key into usable fields.
+ /// </remarks>
+ public class UsbSymbolicName
+ {
+ private static RegHardwareID _regHardwareId;
+ private static RegSymbolicName _regSymbolicName;
+ private readonly string mSymbolicName;
+
+ private Guid mClassGuid = Guid.Empty;
+ private bool mIsParsed;
+ private int mProductID;
+ private int mRevisionCode;
+ private string mSerialNumber = String.Empty;
+ private int mVendorID;
+
+ internal UsbSymbolicName(string symbolicName) { mSymbolicName = symbolicName; }
+
+ private static RegSymbolicName RegSymbolicName
+ {
+ get
+ {
+ if (ReferenceEquals(_regSymbolicName, null))
+ {
+ _regSymbolicName = new RegSymbolicName();
+ }
+
+ return _regSymbolicName;
+ }
+ }
+
+ private static RegHardwareID RegHardwareId
+ {
+ get
+ {
+ if (ReferenceEquals(_regHardwareId, null))
+ {
+ _regHardwareId = new RegHardwareID();
+ }
+
+ return _regHardwareId;
+ }
+ }
+
+ /// <summary>
+ /// The full symbolic name of the device.
+ /// </summary>
+ public string FullName
+ {
+ get
+ {
+ if (mSymbolicName != null) return mSymbolicName.TrimStart(new char[] {'\\', '?'});
+ return String.Empty;
+ }
+ }
+
+ /// <summary>
+ /// VendorId parsed out of the <see cref="UsbSymbolicName.FullName"/>
+ /// </summary>
+ public int Vid
+ {
+ get
+ {
+ Parse();
+ return mVendorID;
+ }
+ }
+
+ /// <summary>
+ /// ProductId parsed out of the <see cref="UsbSymbolicName.FullName"/>
+ /// </summary>
+ public int Pid
+ {
+ get
+ {
+ Parse();
+ return mProductID;
+ }
+ }
+
+ /// <summary>
+ /// SerialNumber parsed out of the <see cref="UsbSymbolicName.FullName"/>
+ /// </summary>
+ public string SerialNumber
+ {
+ get
+ {
+ Parse();
+ return mSerialNumber;
+ }
+ }
+
+ /// <summary>
+ /// Device class parsed out of the <see cref="UsbSymbolicName.FullName"/>
+ /// </summary>
+ public Guid ClassGuid
+ {
+ get
+ {
+ Parse();
+ return mClassGuid;
+ }
+ }
+
+ /// <summary>
+ /// Usb device revision number.
+ /// </summary>
+ public int Rev
+ {
+ get
+ {
+ Parse();
+ return mRevisionCode;
+ }
+ }
+
+
+ /// <summary>
+ /// Parses registry strings containing USB information. This function can Parse symbolic names as well as hardware ids, compatible ids, etc.
+ /// </summary>
+ /// <param name="identifiers"></param>
+ /// <returns>A <see cref="UsbSymbolicName"/> class with all the available information from the <paramref name="identifiers"/> string.</returns>
+ /// <remarks>
+ /// <code>
+ /// List&lt;UsbRegistryDeviceInfo&gt; regDeviceList = UsbGlobals.RegFindDevices();
+ /// foreach (UsbRegistryDeviceInfo regDevice in mDevList)
+ /// {
+ /// string[] hardwareIds = (string[])regDevice.Properties[DevicePropertyType.HardwareID];
+ /// UsbSymbolicName usbHardwareID = UsbSymbolicName.Parse(hardwareIds[0]);
+ /// Debug.Print(string.Format("Vid:0x{0:X4} Pid:0x{1:X4}", usbHardwareID.Vid, usbHardwareID.Pid));
+ /// }
+ /// </code>
+ /// </remarks>
+ public static UsbSymbolicName Parse(string identifiers) { return new UsbSymbolicName(identifiers); }
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbSymbolicName"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbSymbolicName"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ object[] o = new object[] {FullName, Vid.ToString("X4"), Pid.ToString("X4"), SerialNumber, ClassGuid};
+ return string.Format("FullName:{0}\r\nVid:0x{1}\r\nPid:0x{2}\r\nSerialNumber:{3}\r\nClassGuid:{4}\r\n", o);
+ }
+
+
+ private void Parse()
+ {
+ if (!mIsParsed)
+ {
+ mIsParsed = true;
+ if (mSymbolicName != null)
+ {
+ MatchCollection matches = RegSymbolicName.Matches(mSymbolicName);
+ foreach (Match match in matches)
+ {
+ Group gVid = match.Groups[(int) NamedGroupType.Vid];
+ Group gPid = match.Groups[(int) NamedGroupType.Pid];
+ Group gRev = match.Groups[(int) NamedGroupType.Rev];
+ Group gString = match.Groups[(int) NamedGroupType.String];
+ Group gClass = match.Groups[(int) NamedGroupType.ClassGuid];
+
+ if (gVid.Success && mVendorID == 0)
+ {
+ int.TryParse(gVid.Captures[0].Value, NumberStyles.HexNumber, null, out mVendorID);
+ }
+ if (gPid.Success && mProductID == 0)
+ {
+ int.TryParse(gPid.Captures[0].Value, NumberStyles.HexNumber, null, out mProductID);
+ }
+ if (gRev.Success && mRevisionCode == 0)
+ {
+ int.TryParse(gRev.Captures[0].Value, out mRevisionCode);
+ }
+ if ((gString.Success) && mSerialNumber == String.Empty)
+ {
+ mSerialNumber = gString.Captures[0].Value;
+ }
+ if ((gClass.Success) && mClassGuid == Guid.Empty)
+ {
+ try
+ {
+ mClassGuid = new Guid(gClass.Captures[0].Value);
+ }
+ catch (Exception)
+ {
+ mClassGuid = Guid.Empty;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/UsbTransfer.cs b/LibWinUsb/Main/UsbTransfer.cs
new file mode 100644
index 00000000..52646d1f
--- /dev/null
+++ b/LibWinUsb/Main/UsbTransfer.cs
@@ -0,0 +1,629 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Diagnostics;
+using System.Threading;
+
+namespace LibUsbDotNet.Main
+{
+ /// <summary>
+ /// Base class for async transfer context.
+ /// </summary>
+ public abstract class UsbTransfer : IDisposable,IAsyncResult
+ {
+ private readonly UsbEndpointBase mEndpointBase;
+
+ private IntPtr mBuffer;
+ private int mCurrentOffset;
+ private int mCurrentRemaining;
+ private int mCurrentTransmitted;
+
+ /// <summary></summary>
+ protected int mIsoPacketSize;
+
+ /// <summary></summary>
+ protected int mOriginalCount;
+ /// <summary></summary>
+ protected int mOriginalOffset;
+ private PinnedHandle mPinnedHandle;
+
+ /// <summary></summary>
+ protected int mTimeout;
+
+ /// <summary></summary>
+ protected bool mHasWaitBeenCalled = true;
+
+ /// <summary></summary>
+ protected readonly object mTransferLOCK = new object();
+
+ /// <summary></summary>
+ protected ManualResetEvent mTransferCancelEvent = new ManualResetEvent(false);
+ /// <summary></summary>
+ protected internal ManualResetEvent mTransferCompleteEvent = new ManualResetEvent(true);
+
+ /// <summary></summary>
+ protected UsbTransfer(UsbEndpointBase endpointBase) { mEndpointBase = endpointBase; }
+
+ /// <summary>
+ /// Returns the <see cref="UsbEndpointReader"/> or <see cref="UsbEndpointWriter"/> this transfer context is associated with.
+ /// </summary>
+ public UsbEndpointBase EndpointBase
+ {
+ get { return mEndpointBase; }
+ }
+
+ /// <summary>
+ /// Number of bytes that will be requested for the next transfer.
+ /// </summary>
+ protected int RequestCount
+ {
+ get { return (mCurrentRemaining > UsbEndpointBase.MaxReadWrite ? UsbEndpointBase.MaxReadWrite : mCurrentRemaining); }
+ }
+
+ ///// <summary></summary>
+ //protected int FailRetries
+ //{
+ // get { return mFailRetries; }
+ //}
+
+ /// <summary></summary>
+ protected IntPtr NextBufPtr
+ {
+ get { return new IntPtr(mBuffer.ToInt64() + mCurrentOffset); }
+ }
+
+ ///<summary>
+ /// True if the transfer has been cacelled with <see cref="Cancel"/>.
+ ///</summary>
+ public bool IsCancelled
+ {
+ get { return mTransferCancelEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT); }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="WaitHandle"/> for the cancel event.
+ /// </summary>
+ public WaitHandle CancelWaitHandle
+ {
+ get { return mTransferCancelEvent; }
+ }
+
+ /// <summary>
+ /// Gets the size of each isochronous packet.
+ /// </summary>
+ /// <remarks>
+ /// To change the packet size see <see cref="Fill(System.IntPtr,int,int,int,int)"/>
+ /// </remarks>
+ public int IsoPacketSize
+ {
+ get { return mIsoPacketSize; }
+ }
+
+
+ #region IDisposable Members
+
+ /// <summary>
+ /// Cancels any pending transfer and frees resources.
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!IsCancelled) Cancel();
+
+ int dummy;
+ if (!mHasWaitBeenCalled) Wait(out dummy);
+ if (mPinnedHandle != null) mPinnedHandle.Dispose();
+ mPinnedHandle = null;
+ }
+
+ #endregion
+
+ ~UsbTransfer() { Dispose(); }
+
+ /// <summary>
+ /// Cancels a pending transfer that was previously submitted with <see cref="Submit"/>.
+ /// </summary>
+ /// <returns></returns>
+ public virtual ErrorCode Cancel()
+ {
+ mTransferCancelEvent.Set();
+ mTransferCompleteEvent.WaitOne(5000, false);
+
+ return ErrorCode.Success;
+ }
+
+ /// <summary>
+ /// Submits the transfer.
+ /// </summary>
+ /// <remarks>
+ /// This functions submits the USB transfer and return immediately.
+ /// </remarks>
+ /// <returns>
+ /// <see cref="ErrorCode.Success"/> if the submit succeeds,
+ /// otherwise one of the other <see cref="ErrorCode"/> codes.
+ /// </returns>
+ public abstract ErrorCode Submit();
+
+ /// <summary>
+ /// Wait for the transfer to complete, timeout, or get cancelled.
+ /// </summary>
+ /// <param name="transferredCount">The number of bytes transferred on <see cref="ErrorCode.Success"/>.</param>
+ /// <param name="cancel">If true, the transfer is cancelled if it does not complete within the time specified in <see cref="Timeout"/>.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="ErrorCode"/> codes.</returns>
+ public abstract ErrorCode Wait(out int transferredCount, bool cancel);
+
+ /// <summary>
+ /// Wait for the transfer to complete, timeout, or get cancelled.
+ /// </summary>
+ /// <param name="transferredCount">The number of bytes transferred on <see cref="ErrorCode.Success"/>.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="ErrorCode"/> codes.</returns>
+ public ErrorCode Wait(out int transferredCount) { return Wait(out transferredCount, true); }
+
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="Submit"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer; See <see cref="PinnedHandle"/> for more details.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ public virtual void Fill(object buffer, int offset, int count, int timeout)
+ {
+ if (mPinnedHandle != null) mPinnedHandle.Dispose();
+ mPinnedHandle = new PinnedHandle(buffer);
+ Fill(mPinnedHandle.Handle, offset, count, timeout);
+ }
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="Submit"/> an isochronous transfer.
+ /// </summary>
+ /// <param name="buffer">The buffer; See <see cref="PinnedHandle"/> for more details.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ /// <param name="isoPacketSize">Size of each isochronous packet.</param>
+ public virtual void Fill(object buffer, int offset, int count, int timeout, int isoPacketSize)
+ {
+ if (mPinnedHandle != null) mPinnedHandle.Dispose();
+ mPinnedHandle = new PinnedHandle(buffer);
+ Fill(mPinnedHandle.Handle, offset, count, timeout, isoPacketSize);
+ }
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="Submit"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ public virtual void Fill(IntPtr buffer, int offset, int count, int timeout)
+ {
+ mBuffer = buffer;
+
+ mOriginalOffset = offset;
+ mOriginalCount = count;
+ mTimeout = timeout;
+ Reset();
+ }
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="Submit"/> an isochronous transfer.
+ /// </summary>
+ /// <param name="buffer">The buffer.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ /// <param name="isoPacketSize">Size of each isochronous packet.</param>
+ public virtual void Fill(IntPtr buffer, int offset, int count, int timeout, int isoPacketSize)
+ {
+ mBuffer = buffer;
+
+ mOriginalOffset = offset;
+ mOriginalCount = count;
+ mTimeout = timeout;
+ mIsoPacketSize = isoPacketSize;
+ Reset();
+ }
+ internal static ErrorCode SyncTransfer(UsbTransfer transferContext,
+ IntPtr buffer,
+ int offset,
+ int length,
+ int timeout,
+ out int transferLength)
+ {
+ return SyncTransfer(transferContext, buffer, offset, length, timeout, 0, out transferLength);
+ }
+ internal static ErrorCode SyncTransfer(UsbTransfer transferContext,
+ IntPtr buffer,
+ int offset,
+ int length,
+ int timeout,
+ int isoPacketSize,
+ out int transferLength)
+ {
+ if (ReferenceEquals(transferContext, null)) throw new NullReferenceException("Invalid transfer context.");
+ if (offset < 0) throw new ArgumentException("must be >=0", "offset");
+ if (isoPacketSize == 0 && transferContext.EndpointBase.Type == EndpointType.Isochronous)
+ {
+ Info.UsbEndpointInfo endpointInfo = transferContext.EndpointBase.EndpointInfo;
+ if (endpointInfo!=null)
+ isoPacketSize = endpointInfo.Descriptor.MaxPacketSize;
+ }
+ lock (transferContext.mTransferLOCK)
+ {
+ transferLength = 0;
+
+ int transferred;
+ ErrorCode ec;
+ transferContext.Fill(buffer, offset, length, timeout, isoPacketSize);
+
+ while (true)
+ {
+ ec = transferContext.Submit();
+ if (ec != ErrorCode.Success) return ec;
+
+ ec = transferContext.Wait(out transferred);
+ if (ec != ErrorCode.Success) return ec;
+
+ transferLength += transferred;
+
+ if ((ec != ErrorCode.None || transferred != UsbEndpointBase.MaxReadWrite) ||
+ !transferContext.IncrementTransfer(transferred))
+ break;
+ }
+
+ return ec;
+ }
+ }
+
+ /// <summary>
+ /// Increments the internal counters to the next transfer batch (for transfers greater than <see cref="UsbEndpointBase.MaxReadWrite"/>)
+ /// </summary>
+ /// <param name="amount">This will usually be the total transferred on the previous batch.</param>
+ /// <returns>True if the buffer still has data available and internal counters were successfully incremented.</returns>
+ public bool IncrementTransfer(int amount)
+ {
+ mCurrentTransmitted += amount;
+ mCurrentRemaining -= amount;
+ mCurrentOffset += amount;
+
+ if ((mCurrentRemaining) <= 0)
+ {
+ Debug.Assert(mCurrentRemaining == 0);
+ return false;
+ }
+
+ return true;
+ }
+
+ /// <summary>
+ /// Totoal number of bytes transferred.
+ /// </summary>
+ public int Transmitted
+ {
+ get
+ {
+ return mCurrentTransmitted;
+ }
+ }
+
+ /// <summary>
+ /// Remaining bytes in the transfer data buffer.
+ /// </summary>
+ public int Remaining
+ {
+ get
+ {
+ return mCurrentRemaining;
+ }
+ }
+ /// <summary>
+ /// Resets the transfer to its orignal state.
+ /// </summary>
+ /// <remarks>
+ /// Prepares a <see cref="UsbTransfer"/> to be resubmitted.
+ /// </remarks>
+ public void Reset()
+ {
+ mCurrentOffset = mOriginalOffset;
+ mCurrentRemaining = mOriginalCount;
+ mCurrentTransmitted = 0;
+
+ mTransferCancelEvent.Reset();
+ }
+
+ /// <summary>
+ /// Gets an indication whether the asynchronous operation has completed.
+ /// </summary>
+ /// <returns>
+ /// true if the operation is complete; otherwise, false.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public bool IsCompleted
+ {
+ get { return mTransferCompleteEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT); }
+ }
+
+
+ /// <summary>
+ /// Gets a <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="T:System.Threading.WaitHandle"/> that is used to wait for an asynchronous operation to complete.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public WaitHandle AsyncWaitHandle
+ {
+ get { return mTransferCompleteEvent; }
+ }
+
+ /// <summary>
+ /// Gets a user-defined object that qualifies or contains information about an asynchronous operation.
+ /// </summary>
+ /// <returns>
+ /// A user-defined object that qualifies or contains information about an asynchronous operation.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public object AsyncState
+ {
+ get { throw new NotImplementedException(); }
+ }
+
+ /// <summary>
+ /// Gets an indication of whether the asynchronous operation completed synchronously.
+ /// </summary>
+ /// <returns>
+ /// true if the asynchronous operation completed synchronously; otherwise, false.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public bool CompletedSynchronously
+ {
+ get { return false; }
+ }
+ }
+
+ /// <summary>
+ /// Helper class for maintaining a user defined number of outstanding aync transfers on an endpoint.
+ /// </summary>
+ public class UsbTransferQueue
+ {
+ /// <summary>
+ /// Creates a new transfer queue instance.
+ /// </summary>
+ /// <param name="endpointBase">The endpoint to transfer data to/from.</param>
+ /// <param name="maxOutstandingIO">The number of transfers to <see cref="UsbTransfer.Submit"/> before waiting for a completion.</param>
+ /// <param name="bufferSize">The size of each data buffer.</param>
+ /// <param name="timeout">The maximum time to wait for each transfer.</param>
+ /// <param name="isoPacketSize">For isochronous use only. The iso packet size. If 0, the endpoints max packet size is used.</param>
+ public UsbTransferQueue(UsbEndpointBase endpointBase, int maxOutstandingIO, int bufferSize, int timeout, int isoPacketSize)
+ {
+ EndpointBase = endpointBase;
+ IsoPacketSize = isoPacketSize;
+ Timeout = timeout;
+ BufferSize = bufferSize;
+ MaxOutstandingIO = maxOutstandingIO;
+
+ mTransferHandles = new Handle[maxOutstandingIO];
+
+ mBuffer = new byte[maxOutstandingIO][];
+ for(int i=0; i < maxOutstandingIO; i++)
+ mBuffer[i] = new byte[bufferSize];
+
+ IsoPacketSize = isoPacketSize > 0 ? isoPacketSize : endpointBase.EndpointInfo.Descriptor.MaxPacketSize;
+ }
+
+ /// <summary>
+ /// Endpoint for I/O operations.
+ /// </summary>
+ public readonly UsbEndpointBase EndpointBase;
+
+ /// <summary>
+ /// Maximum outstanding I/O operations before waiting for a completion.
+ /// This is also the number of data buffers allocated for this transfer queue.
+ /// </summary>
+ public readonly int MaxOutstandingIO;
+
+ /// <summary>
+ /// Size (in bytes) of each data buffer in this transfer queue.
+ /// </summary>
+ public readonly int BufferSize;
+
+ /// <summary>
+ /// Time (in milliseconds) to wait for a transfer to complete before returning <see cref="ErrorCode.IoTimedOut"/>.
+ /// </summary>
+ public readonly int Timeout;
+
+ /// <summary>
+ /// For isochronous use only. The iso packet size.
+ /// </summary>
+ public readonly int IsoPacketSize;
+
+ private int mOutstandingTransferCount;
+ private readonly Handle[] mTransferHandles;
+ private readonly byte[][] mBuffer;
+ private int mTransferHandleNextIndex;
+ private int mTransferHandleWaitIndex;
+
+ /// <summary>
+ /// A transfer queue handle.
+ /// </summary>
+ public class Handle
+ {
+ internal Handle(UsbTransfer context, byte[] data)
+ {
+ Context = context;
+ Data = data;
+
+ }
+
+ /// <summary>
+ /// Transfer context.
+ /// </summary>
+ public readonly UsbTransfer Context;
+
+ /// <summary>
+ /// Data buffer.
+ /// </summary>
+ public readonly byte[] Data;
+
+ /// <summary>
+ /// Number of bytes sent/received.
+ /// </summary>
+ public int Transferred;
+
+ internal bool InUse;
+
+ }
+
+ /// <summary>
+ /// Gets the transfer data buffer at the specified index.
+ /// </summary>
+ /// <param name="index">The index of the buffer to retrieve.</param>
+ /// <returns>The byte array for a transfer.</returns>
+ public byte[] this[int index]
+ {
+ get{ return mBuffer[index]; }
+ }
+
+ /// <summary>
+ /// Gets a two dimensional array of data buffers. The first index represents the transfer the second represents the data buffer.
+ /// </summary>
+ public byte[][] Buffer
+ {
+ get { return mBuffer; }
+ }
+
+ private static void IncWithRoll(ref int incField, int rollOverValue)
+ {
+ if ((++incField) >= rollOverValue)
+ incField = 0;
+ }
+
+ /// <summary>
+ /// Submits transfers until <see cref="MaxOutstandingIO"/> is reached then waits for the oldest transfer to complete.
+ /// </summary>
+ /// <param name="handle">The queue handle to the <see cref="UsbTransfer"/> that completed.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if data was transferred, or another <see cref="ErrorCode"/> on error.</returns>
+ public ErrorCode Transfer(out Handle handle)
+ {
+ return transfer(this, out handle);
+ }
+ private static ErrorCode transfer(UsbTransferQueue transferParam, out Handle handle)
+ {
+ handle = null;
+ ErrorCode ret = ErrorCode.Success;
+
+ // Submit transfers until the maximum number of outstanding transfer(s) is reached.
+ while (transferParam.mOutstandingTransferCount < transferParam.MaxOutstandingIO)
+ {
+ if (ReferenceEquals(transferParam.mTransferHandles[transferParam.mTransferHandleNextIndex], null))
+ {
+ handle = transferParam.mTransferHandles[transferParam.mTransferHandleNextIndex] =
+ new Handle(transferParam.EndpointBase.NewAsyncTransfer(), transferParam.mBuffer[transferParam.mTransferHandleNextIndex]);
+
+ // Get the next available benchmark transfer handle.
+ handle.Context.Fill(handle.Data, 0, handle.Data.Length, transferParam.Timeout, transferParam.IsoPacketSize);
+ }
+ else
+ {
+ // Get the next available benchmark transfer handle.
+ handle = transferParam.mTransferHandles[transferParam.mTransferHandleNextIndex];
+
+ }
+
+ handle.Transferred = 0;
+
+ // Submit this transfer now.
+ handle.Context.Reset();
+ ret = handle.Context.Submit();
+ if (ret != ErrorCode.Success) goto Done;
+
+ // Mark this handle has InUse.
+ handle.InUse = true;
+
+ // When transfers ir successfully submitted, OutstandingTransferCount goes up; when
+ // they are completed it goes down.
+ //
+ transferParam.mOutstandingTransferCount++;
+
+ // Move TransferHandleNextIndex to the next available transfer.
+ IncWithRoll(ref transferParam.mTransferHandleNextIndex, transferParam.MaxOutstandingIO);
+ }
+
+ // If the number of outstanding transfers has reached the limit, wait for the
+ // oldest outstanding transfer to complete.
+ //
+ if (transferParam.mOutstandingTransferCount == transferParam.MaxOutstandingIO)
+ {
+ // TransferHandleWaitIndex is the index of the oldest outstanding transfer.
+ handle = transferParam.mTransferHandles[transferParam.mTransferHandleWaitIndex];
+ ret = handle.Context.Wait(out handle.Transferred, false);
+ if (ret != ErrorCode.Success)
+ goto Done;
+
+ // Mark this handle has no longer InUse.
+ handle.InUse = false;
+
+ // When transfers ir successfully submitted, OutstandingTransferCount goes up; when
+ // they are completed it goes down.
+ //
+ transferParam.mOutstandingTransferCount--;
+
+ // Move TransferHandleWaitIndex to the oldest outstanding transfer.
+ IncWithRoll(ref transferParam.mTransferHandleWaitIndex, transferParam.MaxOutstandingIO);
+
+ return ErrorCode.Success;
+ }
+
+ Done:
+ return ret;
+ }
+
+ /// <summary>
+ /// Cancels and frees all oustanding transfers.
+ /// </summary>
+ public void Free()
+ {
+ free(this);
+ }
+
+ private static void free(UsbTransferQueue transferParam)
+ {
+ for (int i = 0; i < transferParam.MaxOutstandingIO; i++)
+ {
+ if (!ReferenceEquals(transferParam.mTransferHandles[i], null))
+ {
+ if (transferParam.mTransferHandles[i].InUse)
+ {
+ if (!transferParam.mTransferHandles[i].Context.IsCompleted)
+ {
+ transferParam.EndpointBase.Abort();
+ Thread.Sleep(1);
+ }
+
+ transferParam.mTransferHandles[i].InUse = false;
+ transferParam.mTransferHandles[i].Context.Dispose();
+ }
+ transferParam.mTransferHandles[i] = null;
+ }
+ }
+ transferParam.mOutstandingTransferCount = 0;
+ transferParam.mTransferHandleNextIndex = 0;
+ transferParam.mTransferHandleWaitIndex = 0;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/Main/WriteEndpointID.cs b/LibWinUsb/Main/WriteEndpointID.cs
new file mode 100644
index 00000000..feac1142
--- /dev/null
+++ b/LibWinUsb/Main/WriteEndpointID.cs
@@ -0,0 +1,89 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.Main
+{
+ /// <summary> Availabled endpoint numbers/ids for writing.
+ /// </summary>
+ public enum WriteEndpointID : byte
+ {
+ /// <summary>
+ /// Endpoint 1
+ /// </summary>
+ Ep01 = 0x01,
+ /// <summary>
+ /// Endpoint 2
+ /// </summary>
+ Ep02 = 0x02,
+ /// <summary>
+ /// Endpoint 3
+ /// </summary>
+ Ep03 = 0x03,
+ /// <summary>
+ /// Endpoint 4
+ /// </summary>
+ Ep04 = 0x04,
+ /// <summary>
+ /// Endpoint 5
+ /// </summary>
+ Ep05 = 0x05,
+ /// <summary>
+ /// Endpoint 6
+ /// </summary>
+ Ep06 = 0x06,
+ /// <summary>
+ /// Endpoint 7
+ /// </summary>
+ Ep07 = 0x07,
+ /// <summary>
+ /// Endpoint 8
+ /// </summary>
+ Ep08 = 0x08,
+ /// <summary>
+ /// Endpoint 9
+ /// </summary>
+ Ep09 = 0x09,
+ /// <summary>
+ /// Endpoint 10
+ /// </summary>
+ Ep10 = 0x0A,
+ /// <summary>
+ /// Endpoint 11
+ /// </summary>
+ Ep11 = 0x0B,
+ /// <summary>
+ /// Endpoint 12
+ /// </summary>
+ Ep12 = 0x0C,
+ /// <summary>
+ /// Endpoint 13
+ /// </summary>
+ Ep13 = 0x0D,
+ /// <summary>
+ /// Endpoint 14
+ /// </summary>
+ Ep14 = 0x0E,
+ /// <summary>
+ /// Endpoint 15
+ /// </summary>
+ Ep15 = 0x0F,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/CallbackDelegates.cs b/LibWinUsb/MonoLibUsb/CallbackDelegates.cs
new file mode 100644
index 00000000..10011fce
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/CallbackDelegates.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Runtime.InteropServices;
+using MonoLibUsb.Transfer;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Asynchronous transfer callback delegate
+ /// </summary>
+ /// <param name="transfer">The transfer previously allocated with <see cref="MonoUsbApi.AllocTransfer"/>.</param>
+ [UnmanagedFunctionPointer(MonoUsbApi.CC)]
+ public delegate void MonoUsbTransferDelegate(MonoUsbTransfer transfer);
+
+ /// <summary>
+ /// Callback delegate, invoked when a new file descriptor should be added to the set of file descriptors monitored for events.
+ /// </summary>
+ /// <param name="fd">The new file descriptor.</param>
+ /// <param name="events">Events to monitor for, see PollfdItem for a description.</param>
+ /// <param name="user_data">User data pointer specified in <see cref="MonoUsbApi.SetPollfdNotifiers"/> call.</param>
+ [UnmanagedFunctionPointer(MonoUsbApi.CC)]
+ public delegate void PollfdAddedDelegate(int fd, short events, IntPtr user_data);
+
+ /// <summary>
+ /// Callback delegate, invoked when a file descriptor should be removed from the set of file descriptors being monitored for events.
+ /// </summary>
+ /// <remarks>After returning from this callback, do not use that file descriptor again. </remarks>
+ /// <param name="fd">The file descriptor to stop monitoring.</param>
+ /// <param name="user_data">User data pointer specified in <see cref="MonoUsbApi.SetPollfdNotifiers"/> call.</param>
+ [UnmanagedFunctionPointer(MonoUsbApi.CC)]
+ public delegate void PollfdRemovedDelegate(int fd, IntPtr user_data);
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbAltInterfaceDescriptor.cs b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbAltInterfaceDescriptor.cs
new file mode 100644
index 00000000..c3b85718
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbAltInterfaceDescriptor.cs
@@ -0,0 +1,103 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+
+namespace MonoLibUsb.Descriptors
+{
+ /// <summary>
+ /// A structure representing the standard USB interface descriptor. This
+ /// descriptor is documented in section 9.6.5 of the USB 2.0 specification.
+ /// All multiple-byte fields are represented in host-endian format.
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ public class MonoUsbAltInterfaceDescriptor
+ {
+ ///<summary>Size of this descriptor (in bytes)</summary>
+ public readonly Byte bLength;
+
+ ///<summary>Descriptor type. Will have value LIBUSB_DT_INTERFACE in this context.</summary>
+ public readonly DescriptorType bDescriptorType;
+
+ ///<summary>Number of this interface</summary>
+ public readonly Byte bInterfaceNumber;
+
+ ///<summary>Value used to select this alternate setting for this interface</summary>
+ public readonly Byte bAlternateSetting;
+
+ ///<summary> Number of endpoints used by this interface (excluding the control endpoint).</summary>
+ public readonly Byte bNumEndpoints;
+
+ ///<summary> USB-IF class code for this interface. See ClassCodeType.</summary>
+ public readonly ClassCodeType bInterfaceClass;
+
+ ///<summary> USB-IF subclass code for this interface, qualified by the bInterfaceClass value</summary>
+ public readonly Byte bInterfaceSubClass;
+
+ ///<summary> USB-IF protocol code for this interface, qualified by the bInterfaceClass and bInterfaceSubClass values</summary>
+ public readonly Byte bInterfaceProtocol;
+
+ ///<summary> Index of string descriptor describing this interface</summary>
+ public readonly Byte iInterface;
+
+ ///<summary> Array of endpoint descriptors. This length of this array is determined by the bNumEndpoints field.</summary>
+ private readonly IntPtr pEndpointDescriptors;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown interface descriptors, it will store them here, should you wish to parse them.</summary>
+ private IntPtr pExtraBytes;
+
+ ///<summary> Length of the extra descriptors, in bytes.</summary>
+ public readonly int ExtraLength;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown interface descriptors, it will store them here, should you wish to parse them.</summary>
+ public byte[] ExtraBytes
+ {
+ get
+ {
+ byte[] bytes = new byte[ExtraLength];
+ Marshal.Copy(pExtraBytes, bytes, 0, bytes.Length);
+ return bytes;
+ }
+ }
+
+ ///<summary> Array of endpoint descriptors. This length of this array is determined by the bNumEndpoints field.</summary>
+ public List<MonoUsbEndpointDescriptor> EndpointList
+ {
+ get
+ {
+ List<MonoUsbEndpointDescriptor> endpointList = new List<MonoUsbEndpointDescriptor>();
+ int iEndpoint;
+ for (iEndpoint = 0; iEndpoint < bNumEndpoints; iEndpoint++)
+ {
+ IntPtr pNextInterface = new IntPtr(pEndpointDescriptors.ToInt64() + (Marshal.SizeOf(typeof (MonoUsbEndpointDescriptor))*iEndpoint));
+ MonoUsbEndpointDescriptor monoUsbEndpoint = new MonoUsbEndpointDescriptor();
+ Marshal.PtrToStructure(pNextInterface, monoUsbEndpoint);
+ endpointList.Add(monoUsbEndpoint);
+ }
+
+ return endpointList;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbConfigDescriptor.cs b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbConfigDescriptor.cs
new file mode 100644
index 00000000..f10297de
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbConfigDescriptor.cs
@@ -0,0 +1,115 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+
+using LibUsbDotNet.Descriptors;
+using MonoLibUsb.Profile;
+
+namespace MonoLibUsb.Descriptors
+{
+ ///<summary>A structure representing the standard USB configuration descriptor.
+ ///This descriptor is documented in section 9.6.3 of the USB 2.0 specification.
+ ///All multiple-byte fields are represented in host-endian format.</summary>
+ /// <example><code source="..\MonoLibUsb\MonoUsb.ShowConfig\ShowConfig.cs" lang="cs"/></example>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ public class MonoUsbConfigDescriptor
+ {
+ internal MonoUsbConfigDescriptor()
+ {
+ }
+
+ /// <summary>
+ /// Create a new <see cref="MonoUsbConfigDescriptor"/> instance from a <see cref="MonoUsbConfigHandle"/>.
+ /// </summary>
+ /// <param name="configHandle">A config handle.</param>
+ public MonoUsbConfigDescriptor(MonoUsbConfigHandle configHandle)
+ {
+ Marshal.PtrToStructure(configHandle.DangerousGetHandle(), this);
+ }
+
+ ///<summary> Size of this descriptor (in bytes)</summary>
+ public readonly byte bLength;
+
+ ///<summary> Descriptor type. Will have value LIBUSB_DT_CONFIG in this context.</summary>
+ public readonly DescriptorType bDescriptorType;
+
+ ///<summary> Total length of data returned for this configuration</summary>
+ public readonly short wTotalLength;
+
+ ///<summary> Number of interfaces supported by this configuration</summary>
+ public readonly byte bNumInterfaces;
+
+ ///<summary> Identifier value for this configuration</summary>
+ public readonly byte bConfigurationValue;
+
+ ///<summary> Index of string descriptor describing this configuration</summary>
+ public readonly byte iConfiguration;
+
+ ///<summary> Configuration characteristics</summary>
+ public readonly byte bmAttributes;
+
+ ///<summary> Maximum power consumption of the USB device from this bus in this configuration when the device is fully opreation. Expressed in units of 2 mA.</summary>
+ public readonly byte MaxPower;
+
+ ///<summary> Array of interfaces supported by this configuration. The length of this array is determined by the bNumInterfaces field.</summary>
+ private readonly IntPtr pInterfaces;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.</summary>
+ private readonly IntPtr pExtraBytes;
+
+ ///<summary> Length of the extra descriptors, in bytes.</summary>
+ public readonly int ExtraLength;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown configuration descriptors, it will store them here, should you wish to parse them.</summary>
+ public byte[] ExtraBytes
+ {
+ get
+ {
+ byte[] bytes = new byte[ExtraLength];
+ Marshal.Copy(pExtraBytes, bytes, 0, bytes.Length);
+ return bytes;
+ }
+ }
+
+ ///<summary> Array of interfaces supported by this configuration. The length of this array is determined by the bNumInterfaces field.</summary>
+ public List<MonoUsbInterface> InterfaceList
+ {
+ get
+ {
+ List<MonoUsbInterface> interfaceList = new List<MonoUsbInterface>();
+ int iInterface;
+ for (iInterface = 0; iInterface < bNumInterfaces; iInterface++)
+ {
+ IntPtr pNextInterface = new IntPtr(pInterfaces.ToInt64() + (Marshal.SizeOf(typeof (MonoUsbInterface))*iInterface));
+ MonoUsbInterface monoUsbInterface = new MonoUsbInterface();
+ Marshal.PtrToStructure(pNextInterface, monoUsbInterface);
+ interfaceList.Add(monoUsbInterface);
+ }
+
+ return interfaceList;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbDeviceDescriptor.cs b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbDeviceDescriptor.cs
new file mode 100644
index 00000000..6330e685
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbDeviceDescriptor.cs
@@ -0,0 +1,134 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Descriptors
+{
+ ///<summary>A structure representing the standard USB device descriptor.
+ ///This descriptor is documented in section 9.6.1 of the USB 2.0 specification.
+ ///All multiple-byte fields are represented in host-endian format.</summary>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ public class MonoUsbDeviceDescriptor
+ {
+ /// <summary>
+ /// Total size of this structure in bytes.
+ /// </summary>
+ public static readonly int Size = Marshal.SizeOf(typeof (MonoUsbDeviceDescriptor));
+
+ /// <summary>
+ /// Length of structure reported by the associated usb device.
+ /// </summary>
+ public byte Length;
+
+ /// <summary>
+ /// Type of structure reported by the associated usb device.
+ /// </summary>
+ public DescriptorType DescriptorType;
+
+ /// <summary>
+ /// USB Specification Number which device complies too.
+ /// </summary>
+ public readonly short BcdUsb;
+
+ /// <summary>
+ /// Class Code (Assigned by USB Org)
+ /// If equal to Zero, each interface specifies it’s own class code; If equal to 0xFF, the class code is vendor specified; Otherwise field is valid Class Code.
+ /// </summary>
+ public readonly ClassCodeType Class;
+
+ /// <summary>
+ /// Subclass Code (Assigned by USB Org)
+ /// </summary>
+ public readonly byte SubClass;
+
+ /// <summary>
+ /// Protocol Code (Assigned by USB Org)
+ /// </summary>
+ public readonly byte Protocol;
+
+ /// <summary>
+ /// Maximum Packet Size for Zero Endpoint. Valid Sizes are 8, 16, 32, 64
+ /// </summary>
+ public readonly byte MaxPacketSize0;
+
+ /// <summary>
+ /// Vendor ID (Assigned by USB Org)
+ /// </summary>
+ public readonly short VendorID;
+
+ /// <summary>
+ /// Product ID (Assigned by Manufacturer)
+ /// </summary>
+ public readonly short ProductID;
+
+ /// <summary>
+ /// Device Release Number
+ /// </summary>
+ public readonly short BcdDevice;
+
+ /// <summary>
+ /// Index of Manufacturer String Descriptor
+ /// </summary>
+ public readonly byte ManufacturerStringIndex;
+
+ /// <summary>
+ /// Index of Product String Descriptor
+ /// </summary>
+ public readonly byte ProductStringIndex;
+
+ /// <summary>
+ /// Index of Serial Number String Descriptor
+ /// </summary>
+ public readonly byte SerialStringIndex;
+
+ /// <summary>
+ /// Number of Possible Configurations
+ /// </summary>
+ public readonly byte ConfigurationCount;
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="MonoUsbDeviceDescriptor"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="MonoUsbDeviceDescriptor"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ Object[] values = {
+ Length, DescriptorType, "0x" + BcdUsb.ToString("X4"), Class, SubClass, Protocol, MaxPacketSize0,
+ "0x" + VendorID.ToString("X4"), "0x" + ProductID.ToString("X4"), BcdDevice,
+ ManufacturerStringIndex, ProductStringIndex, SerialStringIndex, ConfigurationCount
+ };
+ string[] names = {
+ "Length", "DescriptorType", "BcdUsb", "Class", "SubClass", "Protocol", "MaxPacketSize0", "VendorID", "ProductID",
+ "BcdDevice",
+ "ManufacturerStringIndex", "ProductStringIndex", "SerialStringIndex", "ConfigurationCount"
+ };
+ return Helper.ToString("", names, ":", values, "\r\n");
+
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbEndpointDescriptor.cs b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbEndpointDescriptor.cs
new file mode 100644
index 00000000..82f60523
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbEndpointDescriptor.cs
@@ -0,0 +1,77 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+
+namespace MonoLibUsb.Descriptors
+{
+ /// <summary>
+ /// A structure representing the standard USB endpoint descriptor. This
+ /// descriptor is documented in section 9.6.3 of the USB 2.0 specification.
+ /// All multiple-byte fields are represented in host-endian format.
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ public class MonoUsbEndpointDescriptor
+ {
+ ///<summary> Size of this descriptor (in bytes)</summary>
+ public readonly Byte bLength;
+
+ ///<summary> Descriptor type. Will have value LIBUSB_DT_ENDPOINT in this context.</summary>
+ public readonly DescriptorType bDescriptorType;
+
+ ///<summary> The address of the endpoint described by this descriptor. Bits 0:3 are the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction, see \ref libusb_endpoint_direction.</summary>
+ public readonly Byte bEndpointAddress;
+
+ ///<summary> Attributes which apply to the endpoint when it is configured using the bConfigurationValue. Bits 0:1 determine the transfer type and correspond to \ref libusb_transfer_type. Bits 2:3 are only used for isochronous endpoints and correspond to \ref libusb_iso_sync_type. Bits 4:5 are also only used for isochronous endpoints and correspond to \ref libusb_iso_usage_type. Bits 6:7 are reserved.</summary>
+ public readonly Byte bmAttributes;
+
+ ///<summary> Maximum packet size this endpoint is capable of sending/receiving.</summary>
+ public readonly short wMaxPacketSize;
+
+ ///<summary> Interval for polling endpoint for data transfers.</summary>
+ public readonly Byte bInterval;
+
+ ///<summary> For audio devices only: the rate at which synchronization feedback is provided.</summary>
+ public readonly Byte bRefresh;
+
+ ///<summary> For audio devices only: the address if the synch endpoint</summary>
+ public readonly Byte bSynchAddress;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown endpoint descriptors, it will store them here, should you wish to parse them.</summary>
+ private readonly IntPtr pExtraBytes;
+
+ ///<summary> Length of the extra descriptors, in bytes.</summary>
+ public readonly int ExtraLength;
+
+ ///<summary> Extra descriptors. If libusb encounters unknown endpoint descriptors, it will store them here, should you wish to parse them.</summary>
+ public byte[] ExtraBytes
+ {
+ get
+ {
+ byte[] bytes = new byte[ExtraLength];
+ Marshal.Copy(pExtraBytes, bytes, 0, bytes.Length);
+ return bytes;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbInterface.cs b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbInterface.cs
new file mode 100644
index 00000000..d31e1b01
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Descriptors/MonoUsbInterface.cs
@@ -0,0 +1,59 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace MonoLibUsb.Descriptors
+{
+ ///<summary>A collection of alternate settings for a particular USB interface.</summary>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ public class MonoUsbInterface
+ {
+ ///<summary> Array of interface descriptors. The length of this array is determined by the num_altsetting field.</summary>
+ private IntPtr pAltSetting;
+
+ ///<summary> The number of alternate settings that belong to this interface</summary>
+ public readonly int num_altsetting;
+
+
+ ///<summary> Array of interface descriptors. The length of this array is determined by the num_altsetting field.</summary>
+ public List<MonoUsbAltInterfaceDescriptor> AltInterfaceList
+ {
+ get
+ {
+ List<MonoUsbAltInterfaceDescriptor> altInterfaceList = new List<MonoUsbAltInterfaceDescriptor>();
+ int iAltInterface;
+ for (iAltInterface = 0; iAltInterface < num_altsetting; iAltInterface++)
+ {
+ IntPtr pNextInterface = new IntPtr(pAltSetting.ToInt64() + (Marshal.SizeOf(typeof (MonoUsbAltInterfaceDescriptor))*iAltInterface));
+ MonoUsbAltInterfaceDescriptor monoUSBAltInterfaceDescriptor = new MonoUsbAltInterfaceDescriptor();
+ Marshal.PtrToStructure(pNextInterface, monoUSBAltInterfaceDescriptor);
+
+ altInterfaceList.Add(monoUSBAltInterfaceDescriptor);
+ }
+
+ return altInterfaceList;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoLibUsbApi.cs b/LibWinUsb/MonoLibUsb/MonoLibUsbApi.cs
new file mode 100644
index 00000000..45b44f4d
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoLibUsbApi.cs
@@ -0,0 +1,1470 @@
+#pragma warning disable 0649
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using System.Text;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+using MonoLibUsb.Profile;
+using MonoLibUsb.Transfer;
+using System.Threading;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Libusb-1.0 low-level API library.
+ /// </summary>
+ public static class MonoUsbApi
+ {
+ internal const CallingConvention CC = 0;
+ internal const string LIBUSB_DLL = "libusb-1.0.dll";
+ internal const int LIBUSB_PACK = 0;
+
+ #region Private Members
+
+ private static readonly MonoUsbTransferDelegate DefaultAsyncDelegate = DefaultAsyncCB;
+ private static void DefaultAsyncCB(MonoUsbTransfer transfer)
+ {
+ ManualResetEvent completeEvent = GCHandle.FromIntPtr(transfer.PtrUserData).Target as ManualResetEvent;
+ completeEvent.Set();
+ }
+
+ #endregion
+ #region API LIBRARY FUNCTIONS - Initialization & Deinitialization
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_init")]
+ internal static extern int Init(ref IntPtr pContext);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_exit")]
+ internal static extern void Exit(IntPtr pContext);
+
+
+ /// <summary>Set message verbosity.</summary>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="level">Debug level to set.</param>
+ /// <remarks>
+ /// <list type="bullet">
+ /// <item>Level 0: no messages ever printed by the library. (default)</item>
+ /// <item>Level 1: error messages are printed to stderr.</item>
+ /// <item>Level 2: warning and error messages are printed to stderr.</item>
+ /// <item>Level 3: informational messages are printed to stdout, warning and error messages are printed to stderr</item>
+ /// </list>
+ /// <para>The default level is 0, which means no messages are ever printed. If you choose to increase the message verbosity level, ensure that your application does not close the stdout/stderr file descriptors.</para>
+ /// <para>You are advised to set level 3. libusb is conservative with its message logging and most of the time, will only log messages that explain error conditions and other oddities. This will help you debug your software.</para>
+ /// <para>If the LIBUSB_DEBUG environment variable was set when libusb was initialized, this function does nothing: the message verbosity is fixed to the value in the environment variable.</para>
+ /// <para>If libusb was compiled without any message logging, this function does nothing: you'll never get any messages.</para>
+ /// <para>If libusb was compiled with verbose debug message logging, this function does nothing: you'll always get messages from all levels.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="lib"/></note>
+ /// </remarks>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_set_debug")]
+ public static extern void SetDebug([In]MonoUsbSessionHandle sessionHandle, int level);
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - Device handling and enumeration
+
+ /// <summary>
+ /// Returns a list of USB devices currently attached to the system.
+ /// </summary>
+ /// <remarks>
+ /// <para>This is your entry point into finding a USB device to operate.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="monoUSBProfileListHandle"> output location for a list of devices.</param>
+ /// <returns>The number of devices in the outputted list, or <see cref="MonoUsbError.ErrorNoMem"/> on memory allocation failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_device_list")]
+ public static extern int GetDeviceList([In]MonoUsbSessionHandle sessionHandle, [Out] out MonoUsbProfileListHandle monoUSBProfileListHandle);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_free_device_list")]
+ internal static extern void FreeDeviceList(IntPtr pHandleList, int unrefDevices);
+
+ /// <summary>
+ /// Get the number of the bus that a device is connected to.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <returns>The bus number.</returns>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_bus_number")]
+ public static extern byte GetBusNumber([In] MonoUsbProfileHandle deviceProfileHandle);
+
+
+ /// <summary>
+ /// Get the address of the device on the bus it is connected to.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <returns>The device address.</returns>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_device_address")]
+ public static extern byte GetDeviceAddress([In] MonoUsbProfileHandle deviceProfileHandle);
+
+ /// <summary>
+ /// Convenience function to retrieve the wMaxPacketSize value for a particular endpoint in the active device configuration.
+ /// </summary>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="endpoint">Endpoint address to retrieve the max packet size for.</param>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// <para>This function was originally intended to be of assistance when setting up isochronous transfers, but a design mistake resulted in this function instead. It simply returns the <see cref="MonoUsbEndpointDescriptor.wMaxPacketSize"/> value without considering its contents. If you're dealing with isochronous transfers, you probably want <see cref="GetMaxIsoPacketSize"/> instead.</para>
+ /// </remarks>
+ /// <returns>The <see cref="MonoUsbEndpointDescriptor.wMaxPacketSize"/></returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_max_packet_size")]
+ public static extern int GetMaxPacketSize([In] MonoUsbProfileHandle deviceProfileHandle, byte endpoint);
+
+ /// <summary>
+ /// Calculate the maximum packet size which a specific endpoint is capable is sending or receiving in the duration of 1 microframe.
+ /// </summary>
+ /// <remarks>
+ /// <para>Only the active configuration is examined. The calculation is based on the wMaxPacketSize field in the endpoint descriptor as described in section 9.6.6 in the USB 2.0 specifications.</para>
+ /// <para>If acting on an isochronous or interrupt endpoint, this function will multiply the value found in bits 0:10 by the number of transactions per microframe (determined by bits 11:12). Otherwise, this function just returns the numeric value found in bits 0:10.</para>
+ /// <para>This function is useful for setting up isochronous transfers, for example you might pass the return value from this function to <see cref="MonoUsbTransfer.SetIsoPacketLengths">libusb_set_iso_packet_lengths</see> in order to set the length field of every isochronous packet in a transfer.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="endpoint">Endpoint address to retrieve the max packet size for.</param>
+ /// <returns>The maximum packet size which can be sent/received on this endpoint.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_max_iso_packet_size")]
+ public static extern int GetMaxIsoPacketSize([In] MonoUsbProfileHandle deviceProfileHandle, byte endpoint);
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_ref_device")]
+ internal static extern IntPtr RefDevice(IntPtr pDeviceProfileHandle);
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_unref_device")]
+ internal static extern IntPtr UnrefDevice(IntPtr pDeviceProfileHandle);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_open")]
+ internal static extern int Open([In] MonoUsbProfileHandle deviceProfileHandle, ref IntPtr deviceHandle);
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_open_device_with_vid_pid")]
+ private static extern IntPtr OpenDeviceWithVidPidInternal([In]MonoUsbSessionHandle sessionHandle, short vendorID, short productID);
+
+ /// <summary>
+ /// Convenience function for finding a device with a particular idVendor/idProduct combination.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="vendorID">The idVendor value to search for.</param>
+ /// <param name="productID">The idProduct value to search for.</param>
+ /// <returns>Null if the device was not opened or not found, otherwise an opened device handle.</returns>
+ public static MonoUsbDeviceHandle OpenDeviceWithVidPid([In]MonoUsbSessionHandle sessionHandle, short vendorID, short productID)
+ {
+ IntPtr pHandle = OpenDeviceWithVidPidInternal(sessionHandle, vendorID, productID);
+ if (pHandle == IntPtr.Zero) return null;
+ return new MonoUsbDeviceHandle(pHandle);
+ }
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_close")]
+ internal static extern void Close(IntPtr deviceHandle);
+
+
+ /// <summary>
+ /// Get a <see cref="MonoUsbProfileHandle"/> for a <see cref="MonoUsbDeviceHandle"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// This function differs from the Libusb-1.0 C API in that when the new <see cref="MonoUsbProfileHandle"/> is returned, the device profile reference count
+ /// is incremented ensuring the profile will remain valid as long as it is in-use.
+ /// </para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="devicehandle">A device handle.</param>
+ /// <returns>The underlying profile handle.</returns>
+ public static MonoUsbProfileHandle GetDevice(MonoUsbDeviceHandle devicehandle) { return new MonoUsbProfileHandle(GetDeviceInternal(devicehandle)); }
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_device")]
+ private static extern IntPtr GetDeviceInternal([In] MonoUsbDeviceHandle devicehandle);
+
+ /// <summary>
+ /// Determine the <see cref="MonoUsbConfigDescriptor.bConfigurationValue"/> of the currently active configuration.
+ /// </summary>
+ /// <remarks>
+ /// <para>You could formulate your own control request to obtain this information, but this function has the advantage that it may be able to retrieve the information from operating system caches (no I/O involved).</para>
+ /// <para>If the OS does not cache this information, then this function will block while a control transfer is submitted to retrieve the information.</para>
+ /// <para>This function will return a value of 0 in the <paramref name="configuration"/> parameter if the device is in unconfigured state.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="configuration">Output location for the <see cref="MonoUsbConfigDescriptor.bConfigurationValue"/> of the active configuration. (only valid for return code 0)</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_configuration")]
+ public static extern int GetConfiguration([In] MonoUsbDeviceHandle deviceHandle, ref int configuration);
+
+ /// <summary>
+ /// Set the active configuration for a device.
+ /// </summary>
+ /// <remarks>
+ /// <para>The operating system may or may not have already set an active configuration on the device. It is up to your application to ensure the correct configuration is selected before you attempt to claim interfaces and perform other operations.</para>
+ /// <para>If you call this function on a device already configured with the selected configuration, then this function will act as a lightweight device reset: it will issue a SET_CONFIGURATION request using the current configuration, causing most USB-related device state to be reset (altsetting reset to zero, endpoint halts cleared, toggles reset).</para>
+ /// <para>You cannot change/reset configuration if your application has claimed interfaces - you should free them with <see cref="ReleaseInterface"/> first. You cannot change/reset configuration if other applications or drivers have claimed interfaces.</para>
+ /// <para>A configuration value of -1 will put the device in unconfigured state. The USB specifications state that a configuration value of 0 does this, however buggy devices exist which actually have a configuration 0.</para>
+ /// <para>You should always use this function rather than formulating your own SET_CONFIGURATION control request. This is because the underlying operating system needs to know when such changes happen.</para>
+ /// <para>This is a blocking function.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="configuration">The <see cref="MonoUsbConfigDescriptor.bConfigurationValue"/> of the configuration you wish to activate, or -1 if you wish to put the device in unconfigured state </param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the requested configuration does not exist</item>
+ /// <item><see cref="MonoUsbError.ErrorBusy"/> if interfaces are currently claimed</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_set_configuration")]
+ public static extern int SetConfiguration([In] MonoUsbDeviceHandle deviceHandle, int configuration);
+
+ /// <summary>
+ /// Claim an interface on a given device handle.
+ /// </summary>
+ /// <remarks>
+ /// <para>You must claim the interface you wish to use before you can perform I/O on any of its endpoints.</para>
+ /// <para>It is legal to attempt to claim an already-claimed interface, in which case libusb just returns 0 without doing anything.</para>
+ /// <para>Claiming of interfaces is a purely logical operation; it does not cause any requests to be sent over the bus. Interface claiming is used to instruct the underlying operating system that your application wishes to take ownership of the interface.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">the <see cref="MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the interface you wish to claim.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the requested interface does not exist</item>
+ /// <item><see cref="MonoUsbError.ErrorBusy"/> if another program or driver has claimed the interface </item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_claim_interface")]
+ public static extern int ClaimInterface([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber);
+
+ /// <summary>
+ /// Release an interface previously claimed with <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>You should release all claimed interfaces before closing a device handle.</para>
+ /// <para>This is a blocking function. A SET_INTERFACE control request will be sent to the device, resetting interface state to the first alternate setting.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">the <see cref="MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the interface you wish to claim.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the interface was not claimed</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_release_interface")]
+ public static extern int ReleaseInterface([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber);
+
+ /// <summary>
+ /// Activate an alternate setting for an interface.
+ /// </summary>
+ /// <remarks>
+ /// <para>The interface must have been previously claimed with <see cref="ClaimInterface"/>.</para>
+ /// <para>You should always use this function rather than formulating your own SET_INTERFACE control request. This is because the underlying operating system needs to know when such changes happen.</para>
+ /// <para>This is a blocking function.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">The <see cref="MonoUsbAltInterfaceDescriptor.bInterfaceNumber"/> of the previously-claimed interface.</param>
+ /// <param name="alternateSetting">The <see cref="MonoUsbAltInterfaceDescriptor.bAlternateSetting"/> of the alternate setting to activate.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the interface was not claimed, or the requested alternate setting does not exist</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_set_interface_alt_setting")]
+ public static extern int SetInterfaceAltSetting([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber, int alternateSetting);
+
+ /// <summary>
+ /// Clear the halt/stall condition for an endpoint.
+ /// </summary>
+ /// <remarks>
+ /// <para>Endpoints with halt status are unable to receive or transmit data until the halt condition is stalled.</para>
+ /// <para>You should cancel all pending transfers before attempting to clear the halt condition.</para>
+ /// <para>This is a blocking function.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="endpoint">The endpoint to clear halt status.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the endpoint does not exist</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_clear_halt")]
+ public static extern int ClearHalt([In] MonoUsbDeviceHandle deviceHandle, byte endpoint);
+
+ /// <summary>
+ /// Perform a USB port reset to reinitialize a device.
+ /// </summary>
+ /// <remarks>
+ /// <para>The system will attempt to restore the previous configuration and alternate settings after the reset has completed.</para>
+ /// <para>If the reset fails, the descriptors change, or the previous state cannot be restored, the device will appear to be disconnected and reconnected. This means that the device handle is no longer valid (you should close it) and rediscover the device. A return code of <see cref="MonoUsbError.ErrorNotFound"/> indicates when this is the case.</para>
+ /// <para>This is a blocking function which usually incurs a noticeable delay.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if re-enumeration is required, or if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failure</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_reset_device")]
+ public static extern int ResetDevice([In] MonoUsbDeviceHandle deviceHandle);
+
+ /// <summary>
+ /// Determine if a kernel driver is active on an interface.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">The interface to check.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 if no kernel driver is active.</item>
+ /// <item>1 if a kernel driver is active.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected.</item>
+ /// <item>Another <see cref="MonoUsbError"/> code on other failure.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_kernel_driver_active")]
+ public static extern int KernelDriverActive([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber);
+
+ /// <summary>
+ /// Detach a kernel driver from an interface.
+ /// </summary>
+ /// <remarks>
+ /// <para>If successful, you will then be able to claim the interface and perform I/O.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">The interface to detach the driver from.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success.</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if no kernel driver was active.</item>
+ /// <item><see cref="MonoUsbError.ErrorInvalidParam"/> if the interface does not exist.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected </item>
+ /// <item>Another <see cref="MonoUsbError"/> code on other failure.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_detach_kernel_driver")]
+ public static extern int DetachKernelDriver([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber);
+
+ /// <summary>
+ /// Re-attach an interface's kernel driver, which was previously detached using <see cref="DetachKernelDriver"/>.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="dev"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A device handle.</param>
+ /// <param name="interfaceNumber">The interface to attach the driver from.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success.</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if no kernel driver was active.</item>
+ /// <item><see cref="MonoUsbError.ErrorInvalidParam"/> if the interface does not exist.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected.</item>
+ /// <item><see cref="MonoUsbError.ErrorBusy"/> if the driver cannot be attached because the interface is claimed by a program or driver.</item>
+ /// <item>Another <see cref="MonoUsbError"/> code on other failure.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_attach_kernel_driver")]
+ public static extern int AttachKernelDriver([In] MonoUsbDeviceHandle deviceHandle, int interfaceNumber);
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - USB descriptors
+
+ /// <summary>
+ /// Gets the standard device descriptor.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="deviceDescriptor">The <see cref="MonoUsbDeviceDescriptor"/> clas that will hold the data.</param>
+ /// <returns>0 on success or a <see cref="MonoUsbError"/> code on failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_device_descriptor")]
+ public static extern int GetDeviceDescriptor([In] MonoUsbProfileHandle deviceProfileHandle,
+ [Out] MonoUsbDeviceDescriptor deviceDescriptor);
+
+ /// <summary>
+ /// Get the USB configuration descriptor for the currently active configuration.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="configHandle">A config handle.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
+ /// <item>another <see cref="MonoUsbError"/> code on error</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_active_config_descriptor")]
+ public static extern int GetActiveConfigDescriptor([In] MonoUsbProfileHandle deviceProfileHandle,
+ [Out] out MonoUsbConfigHandle configHandle);
+
+
+ /// <summary>
+ /// Get a USB configuration descriptor based on its index.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="configIndex">The index of the configuration you wish to retrieve.</param>
+ /// <param name="configHandle">A config handle.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
+ /// <item>another <see cref="MonoUsbError"/> code on error</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_config_descriptor")]
+ public static extern int GetConfigDescriptor([In] MonoUsbProfileHandle deviceProfileHandle,
+ byte configIndex,
+ [Out] out MonoUsbConfigHandle configHandle);
+
+ /// <summary>
+ /// Get a USB configuration descriptor with a specific bConfigurationValue.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This is a non-blocking function which does not involve any requests being sent to the device.</note>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceProfileHandle">A device profile handle.</param>
+ /// <param name="bConfigurationValue">The bConfigurationValue of the configuration you wish to retrieve.</param>
+ /// <param name="configHandle">A config handle.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success</item>
+ /// <item><see cref="MonoUsbError.ErrorNotFound"/> if the device is in unconfigured state </item>
+ /// <item>another <see cref="MonoUsbError"/> code on error</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_config_descriptor_by_value")]
+ public static extern int GetConfigDescriptorByValue([In] MonoUsbProfileHandle deviceProfileHandle,
+ byte bConfigurationValue,
+ [Out] out MonoUsbConfigHandle configHandle);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_free_config_descriptor")]
+ internal static extern void FreeConfigDescriptor(IntPtr pConfigDescriptor);
+
+ /// <summary>
+ /// Retrieve a descriptor from the default control pipe.
+ /// </summary>
+ /// <remarks>
+ /// <para>This is a convenience function which formulates the appropriate control message to retrieve the descriptor.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">Retrieve a descriptor from the default control pipe.</param>
+ /// <param name="descType">The descriptor type, <see cref="DescriptorType"/></param>
+ /// <param name="descIndex">The index of the descriptor to retrieve.</param>
+ /// <param name="pData">Output buffer for descriptor.</param>
+ /// <param name="length">Size of data buffer.</param>
+ /// <returns>Number of bytes returned in data, or a <see cref="MonoUsbError"/> code on failure.</returns>
+ public static int GetDescriptor(MonoUsbDeviceHandle deviceHandle, byte descType, byte descIndex, IntPtr pData, int length)
+ {
+ return ControlTransfer(deviceHandle,
+ (byte) UsbEndpointDirection.EndpointIn,
+ (byte) UsbStandardRequest.GetDescriptor,
+ (short) ((descType << 8) | descIndex),
+ 0,
+ pData,
+ (short) length,
+ 1000);
+ }
+
+ /// <summary>
+ /// Retrieve a descriptor from the default control pipe.
+ /// </summary>
+ /// <remarks>
+ /// <para>This is a convenience function which formulates the appropriate control message to retrieve the descriptor.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="desc"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">Retrieve a descriptor from the default control pipe.</param>
+ /// <param name="descType">The descriptor type, <see cref="DescriptorType"/></param>
+ /// <param name="descIndex">The index of the descriptor to retrieve.</param>
+ /// <param name="data">Output buffer for descriptor. This object is pinned using <see cref="PinnedHandle"/>.</param>
+ /// <param name="length">Size of data buffer.</param>
+ /// <returns>Number of bytes returned in data, or <see cref="MonoUsbError"/> code on failure.</returns>
+ public static int GetDescriptor(MonoUsbDeviceHandle deviceHandle, byte descType, byte descIndex, object data, int length)
+ {
+ PinnedHandle p = new PinnedHandle(data);
+ return GetDescriptor(deviceHandle, descType, descIndex, p.Handle, length);
+ }
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - Asynchronous device I/O
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_alloc_transfer")]
+ internal static extern IntPtr AllocTransfer(int isoPackets);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_free_transfer")]
+ internal static extern void FreeTransfer(IntPtr pTransfer);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_submit_transfer")]
+ internal static extern int SubmitTransfer(IntPtr pTransfer);
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_cancel_transfer")]
+ internal static extern int CancelTransfer(IntPtr pTransfer);
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - Polling and timing
+
+ /// <summary>
+ /// Attempt to acquire the event handling lock.
+ /// </summary>
+ /// <remarks>
+ /// <para>This lock is used to ensure that only one thread is monitoring libusb event sources at any one time.</para>
+ /// <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly. If you stick to libusb's event handling loop functions (e.g. <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
+ /// <para>While holding this lock, you are trusted to actually be handling events. If you are no longer handling events, you must call <see cref="UnlockEvents">libusb_unlock_events</see> as soon as possible.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 if the lock was obtained successfully.</item>
+ /// <item>1 if the lock was not obtained. (i.e. another thread holds the lock)</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_try_lock_events")]
+ public static extern int TryLockEvents([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Acquire the event handling lock, blocking until successful acquisition if it is contended.
+ /// </summary>
+ /// <remarks>
+ /// <para>This lock is used to ensure that only one thread is monitoring libusb event sources at any one time.</para>
+ /// <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly. If you stick to libusb's event handling loop functions (e.g. <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
+ /// <para>While holding this lock, you are trusted to actually be handling events. If you are no longer handling events, you must call <see cref="UnlockEvents">libusb_unlock_events</see> as soon as possible.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_lock_events")]
+ public static extern void LockEvents([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Release the lock previously acquired with <see cref="TryLockEvents">libusb_try_lock_events</see> or <see cref="LockEvents">libusb_lock_events</see>.
+ /// </summary>
+ /// <remarks>
+ /// <para>Releasing this lock will wake up any threads blocked on <see cref="WaitForEvent">libusb_wait_for_event</see>.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_unlock_events")]
+ public static extern void UnlockEvents([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Determine if it is still OK for this thread to be doing event handling.
+ /// </summary>
+ /// <remarks>
+ /// <para>Sometimes, libusb needs to temporarily pause all event handlers, and this is the function you should use before polling file descriptors to see if this is the case.</para>
+ /// <para>If this function instructs your thread to give up the events lock, you should just continue the usual logic that is documented in Multi-threaded applications and asynchronous I/O. On the next iteration, your thread will fail to obtain the events lock, and will hence become an event waiter.</para>
+ /// <para>This function should be called while the events lock is held: you don't need to worry about the results of this function if your thread is not the current event handler.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>1 if event handling can start or continue.</item>
+ /// <item>0 if this thread must give up the events lock.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_event_handling_ok")]
+ public static extern int EventHandlingOk([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Determine if an active thread is handling events (i.e. if anyone is holding the event handling lock).
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>1 if a thread is handling events.</item>
+ /// <item>0 if there are no threads currently handling events.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_event_handler_active")]
+ public static extern int EventHandlerActive([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Acquire the event waiters lock.
+ /// </summary>
+ /// <remarks>
+ /// <para>This lock is designed to be obtained under the situation where you want to be aware when events are completed, but some other thread is event handling so calling <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see> is not allowed.</para>
+ /// <para>You then obtain this lock, re-check that another thread is still handling events, then call <see cref="WaitForEvent">libusb_wait_for_event</see>.</para>
+ /// <para>You only need to use this lock if you are developing an application which calls poll() or select() on libusb's file descriptors directly, and may potentially be handling events from 2 threads simultaenously. If you stick to libusb's event handling loop functions (e.g. <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see>) then you do not need to be concerned with this locking.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_lock_event_waiters")]
+ public static extern void LockEventWaiters([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Release the event waiters lock.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_unlock_event_waiters")]
+ public static extern void UnlockEventWaiters([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Wait for another thread to signal completion of an event.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// This function will block until any of the following conditions are met:
+ /// <list type="numbered">
+ /// <item>The timeout expires.</item>
+ /// <item>A transfer completes.</item>
+ /// <item>A thread releases the event handling lock through <see cref="UnlockEvents">libusb_unlock_events</see>.</item>
+ /// </list>
+ /// </para>
+ /// <para>Condition 1 is obvious. Condition 2 unblocks your thread after the callback for the transfer has completed. Condition 3 is important because it means that the thread that was previously handling events is no longer doing so, so if any events are to complete, another thread needs to step up and start event handling.</para>
+ /// <para>This function releases the event waiters lock before putting your thread to sleep, and reacquires the lock as it is being woken up.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="timeval">Maximum timeout for this blocking function.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 after a transfer completes or another thread stops event handling.</item>
+ /// <item>1 if the timeout expired.</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_wait_for_event")]
+ public static extern int WaitForEvent([In]MonoUsbSessionHandle sessionHandle, ref UnixNativeTimeval timeval);
+
+ /// <summary>
+ /// Handle any pending events.
+ /// </summary>
+ /// <remarks>
+ /// <para>libusb determines "pending events" by checking if any timeouts have expired and by checking the set of file descriptors for activity.</para>
+ /// <para>If a non-zero timeval is passed and no events are currently pending, this function will block waiting for events to handle up until the specified timeout. If an event arrives or a signal is raised, this function will return early.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
+ /// <returns>0 on success, or a <see cref="MonoUsbError"/> code on other failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_handle_events_timeout")]
+ public static extern int HandleEventsTimeout([In]MonoUsbSessionHandle sessionHandle, ref UnixNativeTimeval tv);
+
+ /// <summary>
+ /// Handle any pending events in blocking mode with a sensible timeout.
+ /// </summary>
+ /// <remarks>
+ /// <para>This timeout is currently hardcoded at 2 seconds but we may change this if we decide other values are more sensible. For finer control over whether this function is blocking or non-blocking, or the maximum timeout, use <see cref="HandleEventsTimeout">libusb_handle_events_timeout</see> instead.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>0 on success, or a <see cref="MonoUsbError"/> code on other failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_handle_events")]
+ public static extern int HandleEvents([In]MonoUsbSessionHandle sessionHandle);
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_handle_events")]
+ private static extern int HandleEvents(IntPtr pSessionHandle);
+
+ /// <summary>
+ /// Handle any pending events by polling file descriptors, without checking if any other threads are already doing so.
+ /// </summary>
+ /// <remarks>
+ /// <para>Must be called with the event lock held, see <see cref="LockEvents">libusb_lock_events</see>.</para>
+ /// <para>This function is designed to be called under the situation where you have taken the event lock and are calling poll()/select() directly on libusb's file descriptors (as opposed to using <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see> or similar). You detect events on libusb's descriptors, so you then call this function with a zero timeout value (while still holding the event lock).</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
+ /// <returns>0 on success, or a <see cref="MonoUsbError"/> code on other failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_handle_events_locked")]
+ public static extern int HandleEventsLocked([In]MonoUsbSessionHandle sessionHandle, ref UnixNativeTimeval tv);
+
+ /// <summary>
+ /// Determines whether your application must apply special timing considerations when monitoring libusb's file descriptors.
+ /// </summary>
+ /// <remarks>
+ /// <para>This function is only useful for applications which retrieve and poll libusb's file descriptors in their own main loop (The more advanced option).</para>
+ /// <para>Ordinarily, libusb's event handler needs to be called into at specific moments in time (in addition to times when there is activity on the file descriptor set). The usual approach is to use <see cref="GetNextTimeout">libusb_get_next_timeout</see> to learn about when the next timeout occurs, and to adjust your poll()/select() timeout accordingly so that you can make a call into the library at that time.</para>
+ /// <para>Some platforms supported by libusb do not come with this baggage - any events relevant to timing will be represented by activity on the file descriptor set, and <see cref="GetNextTimeout">libusb_get_next_timeout</see> will always return 0. This function allows you to detect whether you are running on such a platform.</para>
+ /// <para>Since v1.0.5.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>0 if you must call into libusb at times determined by <see cref="GetNextTimeout">libusb_get_next_timeout</see>, or 1 if all timeout events are handled internally or through regular activity on the file descriptors.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_pollfds_handle_timeouts")]
+ public static extern int PollfdsHandleTimeouts([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Determine the next internal timeout that libusb needs to handle.
+ /// </summary>
+ /// <remarks>
+ /// <para>You only need to use this function if you are calling poll() or select() or similar on libusb's file descriptors yourself - you do not need to use it if you are calling <see cref="HandleEvents(MonoUsbSessionHandle)">libusb_handle_events</see> or a variant directly.</para>
+ /// <para>You should call this function in your main loop in order to determine how long to wait for select() or poll() to return results. libusb needs to be called into at this timeout, so you should use it as an upper bound on your select() or poll() call.</para>
+ /// <para>When the timeout has expired, call into <see cref="HandleEventsTimeout">libusb_handle_events_timeout</see> (perhaps in non-blocking mode) so that libusb can handle the timeout.</para>
+ /// <para>This function may return 1 (success) and an all-zero timeval. If this is the case, it indicates that libusb has a timeout that has already expired so you should call <see cref="HandleEventsTimeout">libusb_handle_events_timeout</see> or similar immediately. A return code of 0 indicates that there are no pending timeouts.</para>
+ /// <para>On some platforms, this function will always returns 0 (no pending timeouts). See Notes on time-based events.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="tv">The maximum time to block waiting for events, or zero for non-blocking mode</param>
+ /// <returns>0 if there are no pending timeouts, 1 if a timeout was returned, or <see cref="MonoUsbError.ErrorOther"/> on failure.</returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_next_timeout")]
+ public static extern int GetNextTimeout([In]MonoUsbSessionHandle sessionHandle, ref UnixNativeTimeval tv);
+
+ /// <summary>
+ /// Register notification functions for file descriptor additions/removals.
+ /// </summary>
+ /// <remarks>
+ /// <para>To remove notifiers, pass NULL values for the function pointers.</para>
+ /// <para>Note that file descriptors may have been added even before you register these notifiers (e.g. when a new <see cref="MonoUsbSessionHandle"/> is created).</para>
+ /// <para>Additionally, note that the removal notifier may be called during <see cref="Exit"/> (e.g. when it is closing file descriptors that were opened and added to the poll set when a new <see cref="MonoUsbSessionHandle"/> was created). If you don't want this, remove the notifiers immediately before calling <see cref="SafeHandle.Close">MonoUsbSessionHandle.Close()</see>.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <param name="addedDelegate">Function delegate for addition notifications.</param>
+ /// <param name="removedDelegate">Function delegate for removal notifications.</param>
+ /// <param name="pUserData">User data to be passed back to callbacks (useful for passing sessionHandle information).</param>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_set_pollfd_notifiers")]
+ public static extern void SetPollfdNotifiers([In]MonoUsbSessionHandle sessionHandle,
+ PollfdAddedDelegate addedDelegate,
+ PollfdRemovedDelegate removedDelegate,
+ IntPtr pUserData);
+
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_get_pollfds")]
+ private static extern IntPtr GetPollfdsInternal([In]MonoUsbSessionHandle sessionHandle);
+
+ /// <summary>
+ /// Retrieve a list of file descriptors that should be polled by your main loop as libusb event sources.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="poll"/></note>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>A list of PollfdItem structures, or null on error.</returns>
+ public static List<PollfdItem> GetPollfds(MonoUsbSessionHandle sessionHandle)
+ {
+ List<PollfdItem> rtnList = new List<PollfdItem>();
+ IntPtr pList = GetPollfdsInternal(sessionHandle);
+ if (pList == IntPtr.Zero) return null;
+
+ IntPtr pNext = pList;
+ IntPtr pPollfd;
+ while ((((pNext != IntPtr.Zero))) && (pPollfd = Marshal.ReadIntPtr(pNext)) != IntPtr.Zero)
+ {
+ PollfdItem pollfdItem = new PollfdItem(pPollfd);
+ rtnList.Add(pollfdItem);
+ pNext = new IntPtr(pNext.ToInt64() + IntPtr.Size);
+ }
+ Marshal.FreeHGlobal(pList);
+
+ return rtnList;
+ }
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - Synchronous device I/O
+
+ /// <summary>
+ /// Perform a USB control transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
+ /// <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="requestType">The request type field for the setup packet.</param>
+ /// <param name="request">The request field for the setup packet.</param>
+ /// <param name="value">The value field for the setup packet</param>
+ /// <param name="index">The index field for the setup packet.</param>
+ /// <param name="pData">A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</param>
+ /// <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
+ /// <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>on success, the number of bytes actually transferred</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_control_transfer")]
+ public static extern int ControlTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte requestType,
+ byte request,
+ short value,
+ short index,
+ IntPtr pData,
+ short dataLength,
+ int timeout);
+
+
+ /// <summary>
+ /// Perform a USB control transfer for multi-threaded applications using the <see cref="MonoUsbEventHandler"/> class.
+ /// </summary>
+ /// <remarks>
+ /// <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
+ /// <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="requestType">The request type field for the setup packet.</param>
+ /// <param name="request">The request field for the setup packet.</param>
+ /// <param name="value">The value field for the setup packet</param>
+ /// <param name="index">The index field for the setup packet.</param>
+ /// <param name="pData">A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</param>
+ /// <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
+ /// <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>on success, the number of bytes actually transferred</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ public static int ControlTransferAsync([In] MonoUsbDeviceHandle deviceHandle,
+ byte requestType,
+ byte request,
+ short value,
+ short index,
+ IntPtr pData,
+ short dataLength,
+ int timeout)
+ {
+ MonoUsbControlSetupHandle setupHandle = new MonoUsbControlSetupHandle(requestType, request, value, index, pData, dataLength);
+ MonoUsbTransfer transfer = new MonoUsbTransfer(0);
+ ManualResetEvent completeEvent = new ManualResetEvent(false);
+ GCHandle gcCompleteEvent = GCHandle.Alloc(completeEvent);
+
+ transfer.FillControl(deviceHandle, setupHandle, DefaultAsyncDelegate, GCHandle.ToIntPtr(gcCompleteEvent), timeout);
+
+ int r = (int)transfer.Submit();
+ if (r < 0)
+ {
+ transfer.Free();
+ gcCompleteEvent.Free();
+ return r;
+ }
+ IntPtr pSessionHandle;
+ MonoUsbSessionHandle sessionHandle = MonoUsbEventHandler.SessionHandle;
+ if (sessionHandle == null)
+ pSessionHandle = IntPtr.Zero;
+ else
+ pSessionHandle = sessionHandle.DangerousGetHandle();
+
+ if (MonoUsbEventHandler.IsStopped)
+ {
+ while (!completeEvent.WaitOne(0, false))
+ {
+ r = HandleEvents(pSessionHandle);
+ if (r < 0)
+ {
+ if (r == (int)MonoUsbError.ErrorInterrupted)
+ continue;
+ transfer.Cancel();
+ while (!completeEvent.WaitOne(0, false))
+ if (HandleEvents(pSessionHandle) < 0)
+ break;
+ transfer.Free();
+ gcCompleteEvent.Free();
+ return r;
+ }
+ }
+ }
+ else
+ {
+ completeEvent.WaitOne(Timeout.Infinite, UsbConstants.EXIT_CONTEXT);
+ }
+
+ if (transfer.Status == MonoUsbTansferStatus.TransferCompleted)
+ {
+ r = transfer.ActualLength;
+ if (r > 0)
+ {
+ byte[] ctrlDataBytes = setupHandle.ControlSetup.GetData(r);
+ Marshal.Copy(ctrlDataBytes, 0, pData, Math.Min(ctrlDataBytes.Length, dataLength));
+ }
+
+ }
+ else
+ r = (int)MonoLibUsbErrorFromTransferStatus(transfer.Status);
+
+ transfer.Free();
+ gcCompleteEvent.Free();
+ return r;
+ }
+
+ /// <summary>
+ /// Perform a USB control transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>The direction of the transfer is inferred from the bmRequestType field of the setup packet.</para>
+ /// <para>The wValue, wIndex and wLength fields values should be given in host-endian byte order.</para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="requestType">The request type field for the setup packet.</param>
+ /// <param name="request">The request field for the setup packet.</param>
+ /// <param name="value">The value field for the setup packet</param>
+ /// <param name="index">The index field for the setup packet.</param>
+ /// <param name="data">
+ /// <para>A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</para>
+ /// This value can be:
+ /// <list type="bullet">
+ /// <item>An <see cref="Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
+ /// <item>An already allocated, pinned <see cref="GCHandle"/>. In this case <see cref="GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
+ /// <item>An <see cref="IntPtr"/>.</item>
+ /// </list>
+ /// </param>
+ /// <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
+ /// <param name="timeout">timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>on success, the number of bytes actually transferred</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the control request was not supported by the device.</item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ public static int ControlTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte requestType,
+ byte request,
+ short value,
+ short index,
+ object data,
+ short dataLength,
+ int timeout)
+ {
+ PinnedHandle p = new PinnedHandle(data);
+ int ret = ControlTransfer(deviceHandle, requestType, request, value, index, p.Handle, dataLength, timeout);
+ p.Dispose();
+ return ret;
+ }
+
+#if NOT_USED
+ /// <summary>
+ /// Perform a USB control transfer.
+ /// </summary>
+ /// <remarks>
+ /// The direction of the transfer is inferred from the bmRequestType field of the setup packet.
+ /// The wValue, wIndex and wLength fields values should be given in host-endian byte order.
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="setupPacket">The setup packet.</param>
+ /// <param name="pData">A suitably-sized data buffer for either input or output (depending on direction bits within bmRequestType).</param>
+ /// <param name="dataLength">The length field for the setup packet. The data buffer should be at least this size.</param>
+ /// <param name="timeout">timeout (in millseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>on success, the number of bytes actually transferred, Other wise a <see cref="MonoUsbError"/>.</returns>
+ public static int libusb_control_transfer(MonoUsbDeviceHandle deviceHandle,
+ ref libusb_control_setup setupPacket,
+ IntPtr pData,
+ short dataLength,
+ int timeout)
+ {
+ return libusb_control_transfer(deviceHandle,
+ setupPacket.bmRequestType,
+ setupPacket.bRequest,
+ setupPacket.wValue,
+ setupPacket.wIndex,
+ pData,
+ dataLength,
+ timeout);
+ }
+#endif
+
+ /// <summary>
+ /// Perform a USB bulk transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>The direction of the transfer is inferred from the direction bits of the endpoint address.</para>
+ /// <para>
+ /// For bulk reads, the length field indicates the maximum length of data you are expecting to receive.
+ /// If less data arrives than expected, this function will return that data, so be sure to check the
+ /// transferred output parameter.
+ /// </para>
+ /// <para>
+ /// You should also check the transferred parameter for bulk writes. Not all of the data may have been
+ /// written. Also check transferred when dealing with a timeout error code. libusb may have to split
+ /// your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the
+ /// timeout may expire after the first few chunks have completed. libusb is careful not to lose any
+ /// data that may have been transferred; do not assume that timeout conditions indicate a complete lack
+ /// of I/O.
+ /// </para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="endpoint">The address of a valid endpoint to communicate with.</param>
+ /// <param name="pData">
+ /// A suitably-sized data buffer for either input or output (depending on endpoint).</param>
+ /// <param name="length">For bulk writes, the number of bytes from data to be sent. for bulk reads, the maximum number of bytes to receive into the data buffer.</param>
+ /// <param name="actualLength">Output location for the number of bytes actually transferred.</param>
+ /// <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success (and populates <paramref name="actualLength"/>)</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
+ /// <item><see cref="MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_bulk_transfer")]
+ public static extern int BulkTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte endpoint,
+ IntPtr pData,
+ int length,
+ out int actualLength,
+ int timeout);
+
+ /// <summary>
+ /// Perform a USB bulk transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>The direction of the transfer is inferred from the direction bits of the endpoint address.</para>
+ /// <para>
+ /// For bulk reads, the length field indicates the maximum length of data you are expecting to receive.
+ /// If less data arrives than expected, this function will return that data, so be sure to check the
+ /// transferred output parameter.
+ /// </para>
+ /// <para>
+ /// You should also check the transferred parameter for bulk writes. Not all of the data may have been
+ /// written. Also check transferred when dealing with a timeout error code. libusb may have to split
+ /// your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the
+ /// timeout may expire after the first few chunks have completed. libusb is careful not to lose any
+ /// data that may have been transferred; do not assume that timeout conditions indicate a complete lack
+ /// of I/O.
+ /// </para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="endpoint">The address of a valid endpoint to communicate with.</param>
+ /// <param name="data">
+ /// <para>A suitably-sized data buffer for either input or output (depending on endpoint).</para>
+ /// This value can be:
+ /// <list type="bullet">
+ /// <item>An <see cref="Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
+ /// <item>An already allocated, pinned <see cref="GCHandle"/>. In this case <see cref="GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
+ /// <item>An <see cref="IntPtr"/>.</item>
+ /// </list>
+ /// </param>
+ /// <param name="length">For bulk writes, the number of bytes from data to be sent. for bulk reads, the maximum number of bytes to receive into the data buffer.</param>
+ /// <param name="actualLength">Output location for the number of bytes actually transferred.</param>
+ /// <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success (and populates <paramref name="actualLength"/>)</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
+ /// <item><see cref="MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ public static int BulkTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte endpoint,
+ object data,
+ int length,
+ out int actualLength,
+ int timeout)
+ {
+ PinnedHandle p = new PinnedHandle(data);
+ int ret = BulkTransfer(deviceHandle, endpoint, p.Handle, length, out actualLength, timeout);
+ p.Dispose();
+ return ret;
+ }
+
+ /// <summary>
+ /// Perform a USB interrupt transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// The direction of the transfer is inferred from the direction bits of the endpoint address.
+ /// </para><para>
+ /// For interrupt reads, the length field indicates the maximum length of data you are expecting to receive.
+ /// If less data arrives than expected, this function will return that data, so be sure to check the
+ /// transferred output parameter.
+ /// </para><para>
+ /// You should also check the transferred parameter for interrupt writes. Not all of the data may have been
+ /// written. Also check transferred when dealing with a timeout error code. libusb may have to split
+ /// your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the
+ /// timeout may expire after the first few chunks have completed. libusb is careful not to lose any
+ /// data that may have been transferred; do not assume that timeout conditions indicate a complete lack
+ /// of I/O.
+ /// </para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="endpoint">The address of a valid endpoint to communicate with.</param>
+ /// <param name="pData">A suitably-sized data buffer for either input or output (depending on endpoint).</param>
+ /// <param name="length">For interrupt writes, the number of bytes from data to be sent. for interrupt reads, the maximum number of bytes to receive into the data buffer.</param>
+ /// <param name="actualLength">Output location for the number of bytes actually transferred.</param>
+ /// <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success (and populates <paramref name="actualLength"/>)</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
+ /// <item><see cref="MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_interrupt_transfer")]
+ public static extern int InterruptTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte endpoint,
+ IntPtr pData,
+ int length,
+ out int actualLength,
+ int timeout);
+
+
+ /// <summary>
+ /// Perform a USB interrupt transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// The direction of the transfer is inferred from the direction bits of the endpoint address.
+ /// </para><para>
+ /// For interrupt reads, the length field indicates the maximum length of data you are expecting to receive.
+ /// If less data arrives than expected, this function will return that data, so be sure to check the
+ /// transferred output parameter.
+ /// </para><para>
+ /// You should also check the transferred parameter for interrupt writes. Not all of the data may have been
+ /// written. Also check transferred when dealing with a timeout error code. libusb may have to split
+ /// your transfer into a number of chunks to satisfy underlying O/S requirements, meaning that the
+ /// timeout may expire after the first few chunks have completed. libusb is careful not to lose any
+ /// data that may have been transferred; do not assume that timeout conditions indicate a complete lack
+ /// of I/O.
+ /// </para>
+ /// <note type="tip" title="Libusb-1.0 API:"><seelibusb10 group="syncio"/></note>
+ /// </remarks>
+ /// <param name="deviceHandle">A handle for the device to communicate with.</param>
+ /// <param name="endpoint">The address of a valid endpoint to communicate with.</param>
+ /// <param name="data">
+ /// <para>A suitably-sized data buffer for either input or output (depending on endpoint).</para>
+ /// This value can be:
+ /// <list type="bullet">
+ /// <item>An <see cref="Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
+ /// <item>An already allocated, pinned <see cref="GCHandle"/>. In this case <see cref="GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
+ /// <item>An <see cref="IntPtr"/>.</item>
+ /// </list>
+ /// </param>
+ /// <param name="length">For interrupt writes, the number of bytes from data to be sent. for interrupt reads, the maximum number of bytes to receive into the data buffer.</param>
+ /// <param name="actualLength">Output location for the number of bytes actually transferred.</param>
+ /// <param name="timeout">Timeout (in milliseconds) that this function should wait before giving up due to no response being received. For an unlimited timeout, use value 0.</param>
+ /// <returns>
+ /// <list type="bullet">
+ /// <item>0 on success (and populates <paramref name="actualLength"/>)</item>
+ /// <item><see cref="MonoUsbError.ErrorTimeout"/> if the transfer timed out</item>
+ /// <item><see cref="MonoUsbError.ErrorPipe"/> if the endpoint halted</item>
+ /// <item><see cref="MonoUsbError.ErrorOverflow"/>if the device offered more data, see <a href="http://libusb.sourceforge.net/api-1.0/packetoverflow.html">Packets and overflows</a></item>
+ /// <item><see cref="MonoUsbError.ErrorNoDevice"/> if the device has been disconnected</item>
+ /// <item>another <see cref="MonoUsbError"/> code on other failures</item>
+ /// </list>
+ /// </returns>
+ public static int InterruptTransfer([In] MonoUsbDeviceHandle deviceHandle,
+ byte endpoint,
+ object data,
+ int length,
+ out int actualLength,
+ int timeout)
+ {
+ PinnedHandle p = new PinnedHandle(data);
+ int ret = InterruptTransfer(deviceHandle, endpoint, p.Handle, length, out actualLength, timeout);
+ p.Dispose();
+ return ret;
+ }
+
+ #endregion
+
+ #region API LIBRARY FUNCTIONS - Misc
+
+ [DllImport(LIBUSB_DLL, CallingConvention = CC, SetLastError = false, EntryPoint = "libusb_strerror")]
+ private static extern IntPtr StrError(int errcode);
+
+ /// <summary>
+ /// Get a string describing a <see cref="MonoUsbError"/>.
+ /// </summary>
+ /// <param name="errcode">The <see cref="MonoUsbError"/> code to retrieve a description for.</param>
+ /// <returns>A string describing the <see cref="MonoUsbError"/> code.</returns>
+ public static string StrError(MonoUsbError errcode)
+ {
+ switch (errcode)
+ {
+ case MonoUsbError.Success:
+ return "Success";
+ case MonoUsbError.ErrorIO:
+ return "Input/output error";
+ case MonoUsbError.ErrorInvalidParam:
+ return "Invalid parameter";
+ case MonoUsbError.ErrorAccess:
+ return "Access denied (insufficient permissions)";
+ case MonoUsbError.ErrorNoDevice:
+ return "No such device (it may have been disconnected)";
+ case MonoUsbError.ErrorBusy:
+ return "Resource busy";
+ case MonoUsbError.ErrorTimeout:
+ return "Operation timed out";
+ case MonoUsbError.ErrorOverflow:
+ return "Overflow";
+ case MonoUsbError.ErrorPipe:
+ return "Pipe error or endpoint halted";
+ case MonoUsbError.ErrorInterrupted:
+ return "System call interrupted (perhaps due to signal)";
+ case MonoUsbError.ErrorNoMem:
+ return "Insufficient memory";
+ case MonoUsbError.ErrorIOCancelled:
+ return "Transfer was canceled";
+ case MonoUsbError.ErrorNotSupported:
+ return "Operation not supported or unimplemented on this platform";
+ default:
+ return "Unknown error:" + errcode;
+ }
+ }
+
+ #endregion
+
+ #region API LIBRARY - Windows Testing Only
+#if WINDOWS_TESTING
+ internal static internal_windows_device_priv GetWindowsPriv(MonoUsbProfileHandle profileHandle)
+ {
+ internal_windows_device_priv priv = new internal_windows_device_priv();
+ IntPtr pPriv = new IntPtr(profileHandle.DangerousGetHandle().ToInt64() + Marshal.SizeOf(typeof(internal_libusb_device)));
+ Marshal.PtrToStructure(pPriv, priv);
+ return priv;
+ }
+
+ [StructLayout(LayoutKind.Sequential,Pack=0)]
+ internal class internal_libusb_device
+ {
+ public readonly IntPtr mutexLock;
+ public readonly int refCnt; /*QL - changed short to int*/
+
+ public readonly IntPtr ctx;
+
+ public readonly byte busNumber;
+ public readonly byte deviceAddress;
+ public readonly byte numConfigurations;
+
+ public readonly internal_list_head list = new internal_list_head();
+ public readonly uint sessionData;
+ //public readonly IntPtr temp;
+ }
+
+ [StructLayout(LayoutKind.Sequential, Pack = 0)]
+ internal class internal_list_head
+ {
+ public readonly IntPtr prev;
+ public readonly IntPtr next;
+ }
+
+ internal struct internal_usb_interface
+ {
+ public readonly IntPtr path; // each interface needs a Windows device interface path,
+ public readonly IntPtr apib; // an API backend (multiple drivers support),
+ public readonly byte nb_endpoints; // and a set of endpoint addresses (USB_MAXENDPOINTS)
+ public readonly IntPtr endpoint; /*QL - added */
+ public readonly bool restricted_functionality; /*QL - added */
+ }
+
+[StructLayout(LayoutKind.Sequential, Pack = 0)]
+ internal class internal_windows_device_priv
+ {
+ public readonly IntPtr parent_dev; // access to parent is required for usermode ops
+ public readonly uint connection_index; // also required for some usermode ops
+ public readonly IntPtr path; // path used by Windows to reference the USB node
+
+ public readonly IntPtr apib;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
+ public readonly internal_usb_interface[] usb_interfaces=new internal_usb_interface[32];
+
+ public readonly byte composite_api_flags; // HID and composite devices require additional data
+ public readonly IntPtr hid;
+ public readonly byte active_config;
+
+ public readonly IntPtr dev_descriptor; /*QL - added*/
+ public readonly IntPtr config_descriptor; /*QL - added*/
+ //USB_DEVICE_DESCRIPTOR dev_descriptor;
+ //char **config_descriptor; // list of pointers to the cached config descriptors
+ }
+#endif
+ #endregion
+
+ /// <summary>
+ /// Converts a <see cref="MonoUsbTansferStatus"/> enum to a <see cref="MonoUsbError"/> enum.
+ /// </summary>
+ /// <param name="status">the <see cref="MonoUsbTansferStatus"/> to convert.</param>
+ /// <returns>A <see cref="MonoUsbError"/> that represents <paramref name="status"/>.</returns>
+ public static MonoUsbError MonoLibUsbErrorFromTransferStatus(MonoUsbTansferStatus status)
+ {
+ switch (status)
+ {
+ case MonoUsbTansferStatus.TransferCompleted:
+ return MonoUsbError.Success;
+ case MonoUsbTansferStatus.TransferError:
+ return MonoUsbError.ErrorPipe;
+ case MonoUsbTansferStatus.TransferTimedOut:
+ return MonoUsbError.ErrorTimeout;
+ case MonoUsbTansferStatus.TransferCancelled:
+ return MonoUsbError.ErrorIOCancelled;
+ case MonoUsbTansferStatus.TransferStall:
+ return MonoUsbError.ErrorPipe;
+ case MonoUsbTansferStatus.TransferNoDevice:
+ return MonoUsbError.ErrorNoDevice;
+ case MonoUsbTansferStatus.TransferOverflow:
+ return MonoUsbError.ErrorOverflow;
+ default:
+ return MonoUsbError.ErrorOther;
+ }
+ }
+
+ /// <summary>
+ /// Calls <see cref="MonoUsbEventHandler.Init()"/> and <see cref="MonoUsbEventHandler.Start"/> if <see cref="MonoUsbEventHandler.IsStopped"/> = true.
+ /// </summary>
+ internal static void InitAndStart()
+ {
+ if (!MonoUsbEventHandler.IsStopped) return;
+ MonoUsbEventHandler.Init();
+ MonoUsbEventHandler.Start();
+ }
+
+ /// <summary>
+ /// Calls <see cref="MonoUsbEventHandler.Stop"/> and <see cref="MonoUsbEventHandler.Exit"/>.
+ /// </summary>
+ internal static void StopAndExit()
+ {
+#if LIBUSBDOTNET
+ if (LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.mMonoUSBProfileList != null) LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.mMonoUSBProfileList.Close();
+ LibUsbDotNet.LudnMonoLibUsb.MonoUsbDevice.mMonoUSBProfileList = null;
+#endif
+ MonoUsbEventHandler.Stop(true);
+ MonoUsbEventHandler.Exit();
+ }
+
+
+#if LIBUSBDOTNET
+ internal static ErrorCode ErrorCodeFromLibUsbError(int ret, out string description)
+ {
+ description = string.Empty;
+ if (ret == 0) return ErrorCode.Success;
+
+ switch ((MonoUsbError) ret)
+ {
+ case MonoUsbError.Success:
+ description += "Success";
+ return ErrorCode.Success;
+ case MonoUsbError.ErrorIO:
+ description += "Input/output error";
+ return ErrorCode.IoSyncFailed;
+ case MonoUsbError.ErrorInvalidParam:
+ description += "Invalid parameter";
+ return ErrorCode.InvalidParam;
+ case MonoUsbError.ErrorAccess:
+ description += "Access denied (insufficient permissions)";
+ return ErrorCode.AccessDenied;
+ case MonoUsbError.ErrorNoDevice:
+ description += "No such device (it may have been disconnected)";
+ return ErrorCode.DeviceNotFound;
+ case MonoUsbError.ErrorBusy:
+ description += "Resource busy";
+ return ErrorCode.ResourceBusy;
+ case MonoUsbError.ErrorTimeout:
+ description += "Operation timed out";
+ return ErrorCode.IoTimedOut;
+ case MonoUsbError.ErrorOverflow:
+ description += "Overflow";
+ return ErrorCode.Overflow;
+ case MonoUsbError.ErrorPipe:
+ description += "Pipe error or endpoint halted";
+ return ErrorCode.PipeError;
+ case MonoUsbError.ErrorInterrupted:
+ description += "System call interrupted (perhaps due to signal)";
+ return ErrorCode.Interrupted;
+ case MonoUsbError.ErrorNoMem:
+ description += "Insufficient memory";
+ return ErrorCode.InsufficientMemory;
+ case MonoUsbError.ErrorIOCancelled:
+ description += "Transfer was canceled";
+ return ErrorCode.IoCancelled;
+ case MonoUsbError.ErrorNotSupported:
+ description += "Operation not supported or unimplemented on this platform";
+ return ErrorCode.NotSupported;
+ default:
+ description += "Unknown error:" + ret;
+ return ErrorCode.UnknownError;
+ }
+ }
+#endif
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbDevice.cs b/LibWinUsb/MonoLibUsb/MonoUsbDevice.cs
new file mode 100644
index 00000000..8e929925
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbDevice.cs
@@ -0,0 +1,522 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Info;
+using LibUsbDotNet.Main;
+using MonoLibUsb;
+using MonoLibUsb.Descriptors;
+using MonoLibUsb.Profile;
+
+namespace LibUsbDotNet.LudnMonoLibUsb
+{
+ /// <summary>This is the LibUsbDotNet Libusb-1.0 implementation of a <see cref="UsbDevice"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>This class is used for perform I/O and other operations on Libusb-1.0 devices using with LibUsbDotNet.</para>
+ /// <para>This class is not a part of the low-level MonLibUsb API. This is <see cref="UsbDevice"/> class LibUsbDotNet uses to implement the low-level MonoLibUsb API.</para>
+ /// </remarks>
+ public class MonoUsbDevice : UsbDevice, IUsbDevice
+ {
+ internal static readonly object OLockDeviceList = new object();
+ internal static MonoUsbProfileList mMonoUSBProfileList;
+ private readonly MonoUsbProfile mMonoUSBProfile;
+
+ private int mClaimedInteface;
+
+ internal MonoUsbDevice(ref MonoUsbProfile monoUSBProfile)
+ : base(null, null)
+ {
+ mMonoUSBProfile = monoUSBProfile;
+ mCachedDeviceDescriptor = new UsbDeviceDescriptor(monoUSBProfile.DeviceDescriptor);
+ }
+
+ internal static MonoUsbProfileList ProfileList
+ {
+ get
+ {
+ lock (OLockDeviceList)
+ {
+ MonoUsbApi.InitAndStart();
+ if (mMonoUSBProfileList == null)
+ {
+ mMonoUSBProfileList = new MonoUsbProfileList();
+ }
+ return mMonoUSBProfileList;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets a <see cref="MonoUsbDevice"/> list of Libusb-1.0 devices.
+ /// </summary>
+ /// <remarks>
+ /// <para>Using the <see cref="MonoUsbDeviceList"/> property will request a device list directly from the <a href="http://www.libusb.org/">Libusb-1.0</a> driver.</para>
+ /// <para><a href="http://www.libusb.org/">Libusb-1.0</a> is compatible with several platforms including windows.</para>
+ /// <para>You can force LibUsbDotNet to always use <a href="http://www.libusb.org/">Libusb-1.0</a> with the <see cref="UsbDevice.ForceLibUsbWinBack"/> member.</para>
+ /// <seealso cref="UsbDevice.AllDevices"/>
+ /// <seealso cref="UsbDevice.AllLibUsbDevices"/>
+ /// </remarks>
+ public static List<MonoUsbDevice> MonoUsbDeviceList
+ {
+ get
+ {
+ lock (OLockDeviceList)
+ {
+ MonoUsbApi.InitAndStart();
+ if (mMonoUSBProfileList == null)
+ {
+ mMonoUSBProfileList = new MonoUsbProfileList();
+ }
+ int ret = (int) mMonoUSBProfileList.Refresh(MonoUsbEventHandler.SessionHandle);
+ if (ret < 0) return null;
+ List<MonoUsbDevice> rtnList = new List<MonoUsbDevice>();
+ for (int iProfile = 0; iProfile < mMonoUSBProfileList.Count; iProfile++)
+ {
+ MonoUsbProfile monoUSBProfile = mMonoUSBProfileList[iProfile];
+ if (monoUSBProfile.DeviceDescriptor.BcdUsb == 0) continue;
+ MonoUsbDevice newDevice = new MonoUsbDevice(ref monoUSBProfile);
+ rtnList.Add(newDevice);
+ }
+
+ return rtnList;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Gets the instance address the device is using.
+ /// </summary>
+ public byte DeviceAddress
+ {
+ get { return mMonoUSBProfile.DeviceAddress; }
+ }
+
+ /// <summary>
+ /// Gets the bus number the device is connected to.
+ /// </summary>
+ public byte BusNumber
+ {
+ get { return mMonoUSBProfile.BusNumber; }
+ }
+
+ #region IUsbDevice Members
+
+ /// <summary>
+ /// Sends a usb device reset command.
+ /// </summary>
+ /// <remarks>
+ /// After calling <see cref="ResetDevice"/>, the <see cref="MonoUsbDevice"/> instance is disposed and
+ /// no longer usable. A new <see cref="MonoUsbDevice"/> instance must be obtained from the device list.
+ /// </remarks>
+ /// <returns>True on success.</returns>
+ public bool ResetDevice()
+ {
+ int ret;
+ if (!IsOpen) throw new UsbException(this, "Device is not opened.");
+ ActiveEndpoints.Clear();
+
+ if ((ret = MonoUsbApi.ResetDevice((MonoUsbDeviceHandle) mUsbHandle)) != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "ResetDevice Failed", this);
+ }
+ else
+ {
+ Close();
+ }
+
+ return ret == 0;
+ }
+
+ /// <summary>
+ /// Returns the DriverMode this USB device is using.
+ /// </summary>
+ public override DriverModeType DriverMode
+ {
+ get
+ {
+ if (IsLinux)
+ return DriverModeType.MonoLibUsb;
+
+ return DriverModeType.LibUsbWinBack;
+ }
+ }
+
+ /// <summary>
+ /// Closes the <see cref="UsbDevice"/> and disposes any <see cref="UsbDevice.ActiveEndpoints"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public override bool Close()
+ {
+ ActiveEndpoints.Clear();
+ if (IsOpen) mUsbHandle.Close();
+
+ return true;
+ }
+
+
+ /// <summary>
+ /// Transmits control data over a default control endpoint.
+ /// </summary>
+ /// <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request.
+ /// See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
+ /// <param name="buffer">Data to be sent/received from the device.</param>
+ /// <param name="bufferLength">Length of the buffer param.</param>
+ /// <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
+ /// <returns>True on success.</returns>
+ public override bool ControlTransfer(ref UsbSetupPacket setupPacket, IntPtr buffer, int bufferLength, out int lengthTransferred)
+ {
+ Debug.WriteLine(GetType().Name + ".ControlTransfer() Before", "Libusb-1.0");
+ int ret = MonoUsbApi.ControlTransferAsync((MonoUsbDeviceHandle) mUsbHandle,
+ setupPacket.RequestType,
+ setupPacket.Request,
+ setupPacket.Value,
+ setupPacket.Index,
+ buffer,
+ (short) bufferLength,
+ UsbConstants.DEFAULT_TIMEOUT);
+
+ Debug.WriteLine(GetType().Name + ".ControlTransfer() Error:" + ((MonoUsbError) ret).ToString(), "Libusb-1.0");
+ if (ret < 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "ControlTransfer Failed", this);
+ lengthTransferred = 0;
+ return false;
+ }
+ lengthTransferred = ret;
+ return true;
+ }
+
+ /// <summary>
+ /// Gets a descriptor from the device. See <see cref="DescriptorType"/> for more information.
+ /// </summary>
+ /// <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="DescriptorType"/> enumerations.</param>
+ /// <param name="index">Descriptor index.</param>
+ /// <param name="langId">Descriptor language id.</param>
+ /// <param name="buffer">Memory to store the returned descriptor in.</param>
+ /// <param name="bufferLength">Length of the buffer parameter in bytes.</param>
+ /// <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
+ /// <returns>True on success.</returns>
+ public override bool GetDescriptor(byte descriptorType, byte index, short langId, IntPtr buffer, int bufferLength, out int transferLength)
+ {
+ transferLength = 0;
+ bool bSuccess = false;
+ bool wasOpen = IsOpen;
+ if (!wasOpen) Open();
+ if (!IsOpen) return false;
+
+ int ret = MonoUsbApi.GetDescriptor((MonoUsbDeviceHandle) mUsbHandle, descriptorType, index, buffer, (ushort) bufferLength);
+
+ if (ret < 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "GetDescriptor Failed", this);
+ }
+ else
+ {
+ bSuccess = true;
+ transferLength = ret;
+ }
+
+ if (!wasOpen && IsOpen) Close();
+
+ return bSuccess;
+ }
+
+ ///<summary>
+ /// Opens the USB device handle.
+ ///</summary>
+ ///<returns>
+ ///True if the device is already opened or was opened successfully.
+ ///False if the device does not exists or is no longer valid.
+ ///</returns>
+ public override bool Open()
+ {
+ if (IsOpen) return true;
+ MonoUsbDeviceHandle handle = new MonoUsbDeviceHandle(mMonoUSBProfile.ProfileHandle);
+ if (handle.IsInvalid)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, (int) MonoUsbDeviceHandle.LastErrorCode, "MonoUsbDevice.Open Failed", this);
+ mUsbHandle = null;
+ return false;
+ }
+ mUsbHandle = handle;
+ if (IsOpen) return true;
+
+ mUsbHandle.Close();
+ return false;
+ }
+
+ /// <summary>
+ /// Gets the <see cref="MonoUsbProfile"/> for this usb device.
+ /// </summary>
+ public MonoUsbProfile Profile
+ {
+ get
+ {
+ return mMonoUSBProfile;
+ }
+ }
+ /// <summary>
+ /// Opens an endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <param name="readBufferSize">Size of the read buffer allocated for the <see cref="UsbEndpointReader.DataReceived"/> event.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ public override UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID, int readBufferSize, EndpointType endpointType)
+ {
+ foreach (UsbEndpointBase activeEndpoint in mActiveEndpoints)
+ if (activeEndpoint.EpNum == (byte)readEndpointID)
+ return (UsbEndpointReader)activeEndpoint;
+
+ UsbEndpointReader epNew = new MonoUsbEndpointReader(this, readBufferSize, readEndpointID, endpointType);
+ return (UsbEndpointReader) ActiveEndpoints.Add(epNew);
+ }
+
+ /// <summary>
+ /// Opens an endpoint for writing
+ /// </summary>
+ /// <param name="writeEndpointID">Endpoint number for read operations.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="UsbEndpointWriter"/> class is returned.</returns>
+ public override UsbEndpointWriter OpenEndpointWriter(WriteEndpointID writeEndpointID, EndpointType endpointType)
+ {
+ foreach (UsbEndpointBase activeEndpoint in ActiveEndpoints)
+ if (activeEndpoint.EpNum == (byte)writeEndpointID)
+ return (UsbEndpointWriter)activeEndpoint;
+
+ UsbEndpointWriter epNew = new MonoUsbEndpointWriter(this, writeEndpointID, endpointType);
+ return (UsbEndpointWriter) mActiveEndpoints.Add(epNew);
+ }
+
+ /// <summary>
+ /// Sets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ /// <remarks>
+ /// A USB device can have several different configurations, but only one active configuration.
+ /// </remarks>
+ public bool SetConfiguration(byte config)
+ {
+ int ret = MonoUsbApi.SetConfiguration((MonoUsbDeviceHandle) mUsbHandle, config);
+ if (ret != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "SetConfiguration Failed", this);
+ return false;
+ }
+ mCurrentConfigValue = config;
+ return true;
+ }
+
+ /// <summary>
+ /// Gets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ public override bool GetConfiguration(out byte config)
+ {
+ config = 0;
+ int iconfig = 0;
+ int ret = MonoUsbApi.GetConfiguration((MonoUsbDeviceHandle) mUsbHandle, ref iconfig);
+ if (ret != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "GetConfiguration Failed", this);
+ return false;
+ }
+ config = (byte) iconfig;
+ mCurrentConfigValue = config;
+
+ return true;
+ }
+
+ /// <summary>
+ /// Gets the <see cref="UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="UsbRegistry"/> class.
+ /// </summary>
+ public override UsbRegistry UsbRegistryInfo
+ {
+ get { return null; }
+ }
+
+ ///<summary>
+ /// Gets the available configurations for this <see cref="UsbDevice"/>
+ ///</summary>
+ /// <remarks>
+ /// The first time this property is accessed it will query the <see cref="UsbDevice"/> for all configurations. Subsequent request will return a cached copy of all configurations.
+ /// </remarks>
+ public override ReadOnlyCollection<UsbConfigInfo> Configs
+ {
+ get
+ {
+ if (ReferenceEquals(mConfigs, null))
+ {
+ if (!IsOpen)
+ {
+ //Console.WriteLine("Device Not Opened!");
+ return null;
+ }
+ GetConfigs(this, out mConfigs);
+ }
+
+ return mConfigs.AsReadOnly();
+ }
+ }
+
+ /// <summary>
+ /// Gets the actual device descriptor the the current <see cref="UsbDevice"/>.
+ /// </summary>
+ public override UsbDeviceInfo Info
+ {
+ get
+ {
+ if (ReferenceEquals(mDeviceInfo, null))
+ {
+ mDeviceInfo = new UsbDeviceInfo(this, mMonoUSBProfile.DeviceDescriptor);
+ }
+ return mDeviceInfo;
+ }
+ }
+
+ /// <summary>
+ /// Claims the specified interface of the device.
+ /// </summary>
+ /// <param name="interfaceID">The interface to claim.</param>
+ /// <returns>True on success.</returns>
+ public bool ClaimInterface(int interfaceID)
+ {
+ int ret = MonoUsbApi.ClaimInterface((MonoUsbDeviceHandle) mUsbHandle, interfaceID);
+ if (ret != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "ClaimInterface Failed", this);
+ return false;
+ }
+ mClaimedInteface = interfaceID;
+ return true;
+ }
+
+ /// <summary>
+ /// Releases an interface that was previously claimed with <see cref="ClaimInterface"/>.
+ /// </summary>
+ /// <param name="interfaceID">The interface to release.</param>
+ /// <returns>True on success.</returns>
+ public bool ReleaseInterface(int interfaceID)
+ {
+ int ret = MonoUsbApi.ReleaseInterface((MonoUsbDeviceHandle) mUsbHandle, interfaceID);
+ if (ret != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "ReleaseInterface Failed", this);
+ return false;
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// Sets an alternate interface for the most recent claimed interface.
+ /// </summary>
+ /// <param name="alternateID">The alternate interface to select for the most recent claimed interface See <see cref="ClaimInterface"/>.</param>
+ /// <returns>True on success.</returns>
+ public bool SetAltInterface(int alternateID)
+ {
+ int ret = MonoUsbApi.SetInterfaceAltSetting((MonoUsbDeviceHandle) mUsbHandle, mClaimedInteface, alternateID);
+ if (ret != 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "SetAltInterface Failed", this);
+ return false;
+ }
+ return true;
+ }
+
+ #endregion
+
+ #region IDisposable implementation
+
+ #endregion
+
+ private static ErrorCode GetConfigs(MonoUsbDevice usbDevice, out List<UsbConfigInfo> configInfoListRtn)
+ {
+ configInfoListRtn = new List<UsbConfigInfo>();
+ UsbError usbError = null;
+ List<MonoUsbConfigDescriptor> configList = new List<MonoUsbConfigDescriptor>();
+ int iConfigs = usbDevice.Info.Descriptor.ConfigurationCount;
+
+ for (int iConfig = 0; iConfig < iConfigs; iConfig++)
+ {
+ MonoUsbConfigHandle nextConfigHandle;
+ int ret = MonoUsbApi.GetConfigDescriptor(usbDevice.mMonoUSBProfile.ProfileHandle, (byte) iConfig, out nextConfigHandle);
+ Debug.Print("GetConfigDescriptor:{0}", ret);
+ if (ret != 0 || nextConfigHandle.IsInvalid)
+ {
+ usbError = UsbError.Error(ErrorCode.MonoApiError,
+ ret,
+ String.Format("GetConfigDescriptor Failed at index:{0}", iConfig),
+ usbDevice);
+ return usbError.ErrorCode;
+ }
+ try
+ {
+ MonoUsbConfigDescriptor nextConfig = new MonoUsbConfigDescriptor();
+ Marshal.PtrToStructure(nextConfigHandle.DangerousGetHandle(), nextConfig);
+
+ UsbConfigInfo nextConfigInfo = new UsbConfigInfo(usbDevice, nextConfig);
+ configInfoListRtn.Add(nextConfigInfo);
+ }
+ catch (Exception ex)
+ {
+ UsbError.Error(ErrorCode.InvalidConfig, Marshal.GetLastWin32Error(), ex.ToString(), usbDevice);
+ }
+ finally
+ {
+ if (!nextConfigHandle.IsInvalid)
+ nextConfigHandle.Close();
+ }
+ }
+
+ return ErrorCode.Success;
+ }
+
+ internal static int RefreshProfileList()
+ {
+ lock (OLockDeviceList)
+ {
+ MonoUsbApi.InitAndStart();
+ if (mMonoUSBProfileList == null)
+ {
+ mMonoUSBProfileList = new MonoUsbProfileList();
+ }
+ return (int) mMonoUSBProfileList.Refresh(MonoUsbEventHandler.SessionHandle);
+ }
+ }
+
+ /// <summary>
+ /// Initializes the <see cref="MonoUsbEventHandler.SessionHandle"/> with <see cref="MonoUsbEventHandler.Init()"/> and starts the static handle events thread with <see cref="MonoUsbEventHandler.Start"/>.
+ /// </summary>
+ /// <remarks>
+ /// This is done automatically when needed.
+ /// <para>Usually there is no need to call this functions externally.</para>
+ /// </remarks>
+ public static void Init() { MonoUsbApi.InitAndStart(); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbDeviceHandle.cs b/LibWinUsb/MonoLibUsb/MonoUsbDeviceHandle.cs
new file mode 100644
index 00000000..a9b977df
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbDeviceHandle.cs
@@ -0,0 +1,136 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Profile;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Represents a Libusb-1.0 device handle.
+ /// </summary>
+ /// <remarks>
+ /// <para>To close a device, see the <see cref="Close"/> method.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">A <see cref="MonoUsbDeviceHandle"/> is roughly equivalent to a <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga7df95821d20d27b5597f1d783749d6a4">libusb_device_handle</a>.</note>
+ /// </remarks>
+ /// <code>
+ /// MonoUsbDeviceHandle deviceHandle = new MonoUsbDeviceHandle(profileHandle);
+ /// if (deviceHandle.IsInvalid) throw new Exception("Invalid device context.");
+ /// </code>
+ public class MonoUsbDeviceHandle : SafeContextHandle
+ {
+ private static Object handleLOCK = new object();
+ private static MonoUsbError mLastReturnCode;
+ private static String mLastReturnString = String.Empty;
+
+ /// <summary>
+ /// If the device handle is <see cref="SafeContextHandle.IsInvalid"/>, gets a descriptive string for the <see cref="LastErrorCode"/>.
+ /// </summary>
+ public static string LastErrorString
+ {
+ get
+ {
+ lock (handleLOCK)
+ {
+ return mLastReturnString;
+ }
+ }
+ }
+ /// <summary>
+ /// If the device handle is <see cref="SafeContextHandle.IsInvalid"/>, gets the <see cref="MonoUsbError"/> status code indicating the reason.
+ /// </summary>
+ public static MonoUsbError LastErrorCode
+ {
+ get
+ {
+ lock (handleLOCK)
+ {
+ return mLastReturnCode;
+ }
+ }
+ }
+ /// <summary>Open a device handle from <paramref name="profileHandle"/>.</summary>
+ /// <remarks>
+ /// <para>A handle allows you to perform I/O on the device in question.</para>
+ /// <para>To close a device handle call its <see cref="SafeHandle.Close"/> method.</para>
+ /// <para>This is a non-blocking function; no requests are sent over the bus.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">The <see cref="MonoUsbDeviceHandle(MonoUsbProfileHandle)"/> constructor is roughly equivalent to <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga8163100afdf933fabed0db7fa81c89d1">libusb_open()</a>.</note>
+ /// </remarks>
+ /// <param name="profileHandle">A device profile handle.</param>
+ public MonoUsbDeviceHandle(MonoUsbProfileHandle profileHandle)
+ : base(IntPtr.Zero)
+ {
+ IntPtr pDeviceHandle = IntPtr.Zero;
+ int ret = MonoUsbApi.Open(profileHandle, ref pDeviceHandle);
+ if (ret < 0 || pDeviceHandle==IntPtr.Zero)
+ {
+ lock (handleLOCK)
+ {
+ mLastReturnCode = (MonoUsbError) ret;
+ mLastReturnString = MonoUsbApi.StrError(mLastReturnCode);
+ }
+ SetHandleAsInvalid();
+ }
+ else
+ {
+ SetHandle(pDeviceHandle);
+ }
+
+ }
+
+ internal MonoUsbDeviceHandle(IntPtr pDeviceHandle)
+ : base(pDeviceHandle)
+ {
+ }
+ ///<summary>
+ ///Closes the <see cref="MonoUsbDeviceHandle"/>.
+ ///</summary>
+ ///<returns>
+ ///true if the <see cref="MonoUsbDeviceHandle"/> is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
+ ///</returns>
+ protected override bool ReleaseHandle()
+ {
+ if (!IsInvalid)
+ {
+ Debug.WriteLine(GetType().Name + ".ReleaseHandle() Before", "Libusb-1.0");
+ MonoUsbApi.Close(handle);
+ Debug.WriteLine(GetType().Name + ".ReleaseHandle() After", "Libusb-1.0");
+ SetHandleAsInvalid();
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// Closes the <see cref="MonoUsbDeviceHandle"/> reference. When all references are no longer is use, the device
+ /// is closed in the <see cref="ReleaseHandle"/> finalizer.
+ /// </summary>
+ /// <remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">The <see cref="Close"/> method is roughly equivalent to <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga779bc4f1316bdb0ac383bddbd538620e">libusb_close()</a>.</note>
+ /// </remarks>
+ public new void Close()
+ {
+ base.Close();
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbEndpointReader.cs b/LibWinUsb/MonoLibUsb/MonoUsbEndpointReader.cs
new file mode 100644
index 00000000..079411d6
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbEndpointReader.cs
@@ -0,0 +1,81 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.LudnMonoLibUsb.Internal;
+using MonoLibUsb;
+
+namespace LibUsbDotNet.LudnMonoLibUsb
+{
+ /// <summary>
+ /// Implements mono-linux libusb 1.x methods for reading data from a <see cref="EndpointType.Bulk"/> or <see cref="EndpointType.Interrupt"/> endpoints.
+ /// </summary>
+ public class MonoUsbEndpointReader : UsbEndpointReader
+ {
+ private MonoUsbTransferContext mMonoTransferContext;
+
+ internal MonoUsbEndpointReader(UsbDevice usbDevice, int readBufferSize, ReadEndpointID readEndpointID, EndpointType endpointType)
+ : base(usbDevice, readBufferSize, readEndpointID, endpointType) { }
+
+ /// <summary>
+ /// Frees resources associated with the endpoint. Once disposed this class cannot be used.
+ /// </summary>
+ public override void Dispose()
+ {
+ base.Dispose();
+ if (ReferenceEquals(mMonoTransferContext, null)) return;
+ mMonoTransferContext.Dispose();
+ mMonoTransferContext = null;
+ }
+
+ /// <summary>
+ /// Calling this methods is that same as calling <see cref="UsbEndpointReader.ReadFlush"/>
+ /// </summary>
+ /// <returns>True an success.</returns>
+ public override bool Flush()
+ {
+ if (IsDisposed) throw new ObjectDisposedException(GetType().Name);
+ return ReadFlush() == ErrorCode.Success;
+ }
+
+ /// <summary>
+ /// Cancels pending transfers and clears the halt condition on an enpoint.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public override bool Reset()
+ {
+ if (IsDisposed) throw new ObjectDisposedException(GetType().Name);
+ Abort();
+ int ret = MonoUsbApi.ClearHalt((MonoUsbDeviceHandle) Device.Handle, EpNum);
+ if (ret < 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "Endpoint Reset Failed", this);
+ return false;
+ }
+ return true;
+ }
+
+
+ internal override UsbTransfer CreateTransferContext() { return new MonoUsbTransferContext(this); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbEndpointWriter.cs b/LibWinUsb/MonoLibUsb/MonoUsbEndpointWriter.cs
new file mode 100644
index 00000000..b9d9f2ba
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbEndpointWriter.cs
@@ -0,0 +1,76 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.LudnMonoLibUsb.Internal;
+using MonoLibUsb;
+
+namespace LibUsbDotNet.LudnMonoLibUsb
+{
+ /// <summary>
+ /// Implements mono-linux libusb 1.x methods for writing to methods for writing data to a <see cref="EndpointType.Bulk"/> or <see cref="EndpointType.Interrupt"/> endpoints.
+ /// </summary>
+ public class MonoUsbEndpointWriter : UsbEndpointWriter
+ {
+ private MonoUsbTransferContext mMonoTransferContext;
+
+ internal MonoUsbEndpointWriter(UsbDevice usbDevice, WriteEndpointID writeEndpointID,EndpointType endpointType)
+ : base(usbDevice, writeEndpointID, endpointType) { }
+
+ /// <summary>
+ /// Frees resources associated with the endpoint. Once disposed this class cannot be used.
+ /// </summary>
+ public override void Dispose()
+ {
+ base.Dispose();
+ if (ReferenceEquals(mMonoTransferContext, null)) return;
+ mMonoTransferContext.Dispose();
+ mMonoTransferContext = null;
+ }
+
+ /// <summary>
+ /// This method has no effect on write endpoints, andalways returs true.
+ /// </summary>
+ /// <returns>True</returns>
+ public override bool Flush() { return true; }
+
+ /// <summary>
+ /// Cancels pending transfers and clears the halt condition on an enpoint.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public override bool Reset()
+ {
+ if (IsDisposed) throw new ObjectDisposedException(GetType().Name);
+ Abort();
+ int ret = MonoUsbApi.ClearHalt((MonoUsbDeviceHandle) Device.Handle, EpNum);
+ if (ret < 0)
+ {
+ UsbError.Error(ErrorCode.MonoApiError, ret, "Endpoint Reset Failed", this);
+ return false;
+ }
+ return true;
+ }
+
+ internal override UsbTransfer CreateTransferContext() { return new MonoUsbTransferContext(this); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbError.cs b/LibWinUsb/MonoLibUsb/MonoUsbError.cs
new file mode 100644
index 00000000..3079f8ff
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbError.cs
@@ -0,0 +1,106 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Error codes.
+ /// Most libusb functions return 0 on success or one of these codes on failure.
+ /// </summary>
+ public enum MonoUsbError
+ {
+ /// <summary>
+ /// Success (no error)
+ /// </summary>
+ Success = 0,
+
+ /// <summary>
+ /// Input/output error
+ /// </summary>
+ ErrorIO = -1,
+
+ /// <summary>
+ /// Invalid parameter
+ /// </summary>
+ ErrorInvalidParam = -2,
+
+ /// <summary>
+ /// Access denied (insufficient permissions)
+ /// </summary>
+ ErrorAccess = -3,
+
+ /// <summary>
+ /// No such device (it may have been disconnected)
+ /// </summary>
+ ErrorNoDevice = -4,
+
+ /// <summary>
+ /// Entity not found
+ /// </summary>
+ ErrorNotFound = -5,
+
+ /// <summary>
+ /// Resource busy
+ /// </summary>
+ ErrorBusy = -6,
+
+ /// <summary>
+ /// Operation timed out
+ /// </summary>
+ ErrorTimeout = -7,
+
+ /// <summary>
+ /// Overflow
+ /// </summary>
+ ErrorOverflow = -8,
+
+ /// <summary>
+ /// Pipe error
+ /// </summary>
+ ErrorPipe = -9,
+
+ /// <summary>
+ /// System call interrupted (perhaps due to signal)
+ /// </summary>
+ ErrorInterrupted = -10,
+
+ /// <summary>
+ /// Insufficient memory
+ /// </summary>
+ ErrorNoMem = -11,
+
+ /// <summary>
+ /// Operation not supported or unimplemented on this platform
+ /// </summary>
+ ErrorNotSupported = -12,
+
+ /// <summary>
+ /// Cancel IO failed.
+ /// </summary>
+ ErrorIOCancelled = -13,
+
+ /// <summary>
+ /// Other error
+ /// </summary>
+ ErrorOther = -99,
+ } ;
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbEventHandler.cs b/LibWinUsb/MonoLibUsb/MonoUsbEventHandler.cs
new file mode 100644
index 00000000..3b5a272a
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbEventHandler.cs
@@ -0,0 +1,192 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Threading;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Manages a static Libusb-1.0 <see cref="MonoUsbSessionHandle"/> and "handle_events" thread for simplified asynchronous IO.
+ /// </summary>
+ /// <remarks>
+ /// <para>This class contains its own <see cref="MonoUsbSessionHandle"/> that is initialized with one of the overloaded <see cref="MonoUsbEventHandler.Init()">MonoUsbEventHandler.Init()</see> functions.</para>
+ /// <para>This class contains a static thread that execute <see cref="MonoUsbApi.HandleEventsTimeout"/>. See the <see cref="Start"/> and <see cref="Stop"/> methods.</para>
+ /// </remarks>
+ public static class MonoUsbEventHandler
+ {
+ private static readonly ManualResetEvent mIsStoppedEvent = new ManualResetEvent(true);
+ private static bool mRunning;
+ private static MonoUsbSessionHandle mSessionHandle;
+ internal static Thread mUsbEventThread;
+ private static ThreadPriority mPriority = ThreadPriority.Normal;
+
+ private static UnixNativeTimeval mWaitUnixNativeTimeval;
+
+ /// <summary>
+ /// Gets the session handle.
+ /// </summary>
+ /// <remarks>
+ /// Used for MonoLibUsb members that require the <see cref="MonoUsbSessionHandle"/> parameter.
+ /// </remarks>
+ public static MonoUsbSessionHandle SessionHandle
+ {
+ get { return mSessionHandle; }
+ }
+
+ /// <summary>
+ /// False if the handle events thread is running.
+ /// </summary>
+ public static bool IsStopped
+ {
+ get { return mIsStoppedEvent.WaitOne(0, false); }
+ }
+
+ /// <summary>
+ /// Thread proirity to use for the handle events thread.
+ /// </summary>
+ public static ThreadPriority Priority
+ {
+ get { return mPriority; }
+ set {mPriority=value;}
+ }
+
+ /// <summary>
+ /// Stops the handle events thread and closes the session handle.
+ /// </summary>
+ public static void Exit()
+ {
+ Stop(true);
+ if (mSessionHandle == null) return;
+
+ if (mSessionHandle.IsInvalid) return;
+ mSessionHandle.Close();
+ mSessionHandle = null;
+ }
+
+ private static void HandleEventFn(object oHandle)
+ {
+ MonoUsbSessionHandle sessionHandle = oHandle as MonoUsbSessionHandle;
+
+ mIsStoppedEvent.Reset();
+
+ while (mRunning)
+ MonoUsbApi.HandleEventsTimeout(sessionHandle, ref mWaitUnixNativeTimeval);
+
+ mIsStoppedEvent.Set();
+ }
+
+
+ /// <summary>
+ /// Initializes the <see cref="SessionHandle"/> and sets a custom polling interval.
+ /// </summary>
+ /// <param name="tvSec">polling interval seconds</param>
+ /// <param name="tvUsec">polling interval milliseconds</param>
+ /// <seealso cref="Init()"/>
+ /// <seealso cref="SessionHandle"/>
+ public static void Init(long tvSec, long tvUsec) { Init(new UnixNativeTimeval(tvSec, tvUsec)); }
+
+ /// <summary>
+ /// Initializes the <see cref="SessionHandle"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>If the session has already been initialized, this method does nothing.</para>
+ /// <para>The handle events thread is not started until the <see cref="Start"/> method is called.</para>
+ /// <para>Uses the MonoLibUsb <see cref="UnixNativeTimeval.Default"/> polling interval for <see cref="MonoUsbApi.HandleEventsTimeout"/>.</para>
+ /// </remarks>
+ public static void Init() { Init(UnixNativeTimeval.Default); }
+
+ private static void Init(UnixNativeTimeval unixNativeTimeval)
+ {
+ if (IsStopped && !mRunning && mSessionHandle==null)
+ {
+ mWaitUnixNativeTimeval = unixNativeTimeval;
+ mSessionHandle=new MonoUsbSessionHandle();
+ if (mSessionHandle.IsInvalid)
+ {
+ mSessionHandle = null;
+ throw new UsbException(typeof (MonoUsbApi), String.Format("Init:libusb_init Failed:Invalid Session Handle"));
+ }
+ }
+ }
+
+ /// <summary>
+ /// Starts the handle events thread.
+ /// </summary>
+ /// <remarks>
+ /// <para>If the thread is already running, this method does nothing.</para>
+ /// <para>
+ /// Using a seperate thread which executes <see cref="MonoUsbApi.HandleEventsTimeout"/> can simplify asynchronous I/O
+ /// and improve performance in multi-threaded applications which use multiple endpoints.
+ /// </para>
+ /// </remarks>
+ /// <returns>
+ /// True if the thread is started or is already running.
+ /// </returns>
+ public static bool Start()
+ {
+ if (IsStopped && !mRunning && mSessionHandle!=null)
+ {
+ mRunning = true;
+ mUsbEventThread = new Thread(HandleEventFn);
+ mUsbEventThread.Priority = mPriority;
+ mUsbEventThread.Start(mSessionHandle);
+
+ }
+ return true;
+ }
+
+ /// <summary>
+ /// Stops the handle events thread.
+ /// </summary>
+ /// <remarks>
+ /// <para>Calling this method when the thread is not running will have no affect.</para>
+ /// <note type="warning">
+ /// If the thread is running, this method must be called before the application exits.
+ /// Failure to do so will cause the application to hang.
+ /// </note>
+ /// </remarks>
+ /// <param name="bWait">If true, wait for the thread to exit before returning.</param>
+ public static void Stop(bool bWait)
+ {
+ if (!IsStopped && mRunning)
+ {
+ mRunning = false;
+
+ if (bWait)
+ {
+ bool bSuccess = mUsbEventThread.Join((int)((mWaitUnixNativeTimeval.tv_sec * 1000 + mWaitUnixNativeTimeval.tv_usec) * 1.2));
+ //bool bSuccess = mIsStoppedEvent.WaitOne((int)((mWaitUnixNativeTimeval.tv_sec * 1000 + mWaitUnixNativeTimeval.tv_usec) * 1.2), false);
+ if (!bSuccess)
+ {
+ mUsbEventThread.Abort();
+ throw new UsbException(typeof(MonoUsbEventHandler), "Critical timeout failure! MonoUsbApi.HandleEventsTimeout did not return within the allotted time.");
+ //LibUsbDotNet.UsbError.Error(ErrorCode.UnknownError, 0, "Critical timeout failure!", typeof(MonoUsbEventHandler));
+ //mIsStoppedEvent.Set();
+ }
+ }
+ mUsbEventThread = null;
+
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/MonoUsbSessionHandle.cs b/LibWinUsb/MonoLibUsb/MonoUsbSessionHandle.cs
new file mode 100644
index 00000000..ef1e0cdb
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/MonoUsbSessionHandle.cs
@@ -0,0 +1,116 @@
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Class representing a Libusb-1.0 session session handle.
+ /// Session handled are wrapped in a <see cref="System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>The concept of individual Libusb-1.0 sessions allows for your program to use two libraries
+ /// (or dynamically load two modules) which both independently use libusb. This will prevent interference between the
+ /// individual libusb users - for example <see cref="MonoUsbApi.SetDebug"/> will not affect the other
+ /// user of the library, and <see cref="SafeHandle.Close"/> will not destroy resources that the
+ /// other user is still using.</para>
+ /// <para>Sessions are created when a new <see cref="MonoUsbSessionHandle"/> instance is created and destroyed through <see cref="SafeHandle.Close"/>.</para>
+ /// <para>A <see cref="MonoUsbSessionHandle"/> instance must be created before calling any other <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0 API</a> function.</para>
+ /// <para>Session handles are equivalent to a <a href="http://libusb.sourceforge.net/api-1.0/group__lib.html#ga4ec088aa7b79c4a9599e39bf36a72833">libusb_context</a>.</para>
+ /// </remarks>
+ public class MonoUsbSessionHandle:SafeContextHandle
+ {
+ private static Object sessionLOCK = new object();
+ private static MonoUsbError mLastReturnCode;
+ private static String mLastReturnString=String.Empty;
+ private static int mSessionCount;
+ private static string DLL_NOT_FOUND_LINUX = "libusb-1.0 library not found. This is often an indication that libusb-1.0 was installed to '/usr/local/lib' and mono.net is not looking for it there. To resolve this, add the path '/usr/local/lib' to '/etc/ld.so.conf' and run 'ldconfig' as root. (http://www.mono-project.com/DllNotFoundException)";
+ private static string DLL_NOT_FOUND_WINDOWS = "libusb-1.0.dll not found. If this is a 64bit operating system, ensure that the 64bit version of libusb-1.0.dll exists in the '\\Windows\\System32' directory.";
+
+ /// <summary>
+ /// If the session handle is <see cref="SafeContextHandle.IsInvalid"/>, gets the <see cref="MonoUsbError"/> status code indicating the reason.
+ /// </summary>
+ public static MonoUsbError LastErrorCode
+ {
+ get
+ {
+ lock (sessionLOCK)
+ {
+ return mLastReturnCode;
+ }
+ }
+ }
+ /// <summary>
+ /// If the session handle is <see cref="SafeContextHandle.IsInvalid"/>, gets a descriptive string for the <see cref="LastErrorCode"/>.
+ /// </summary>
+ public static string LastErrorString
+ {
+ get
+ {
+ lock (sessionLOCK)
+ {
+ return mLastReturnString;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Creates and initialize a <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0</a> USB session handle.
+ /// </summary>
+ /// <remarks>
+ /// <para>A <see cref="MonoUsbSessionHandle"/> instance must be created before calling any other <a href="http://libusb.sourceforge.net/api-1.0/index.html">Libusb-1.0 API</a> function.</para>
+ /// </remarks>
+ public MonoUsbSessionHandle() : base(IntPtr.Zero, true)
+ {
+ lock (sessionLOCK)
+ {
+ IntPtr pNewSession = IntPtr.Zero;
+ try
+ {
+ mLastReturnCode = (MonoUsbError)MonoUsbApi.Init(ref pNewSession);
+ }
+ catch (DllNotFoundException dllNotFound)
+ {
+ if (Helper.IsLinux)
+ {
+ throw new DllNotFoundException(DLL_NOT_FOUND_LINUX, dllNotFound);
+ }
+ else
+ {
+ throw new DllNotFoundException(DLL_NOT_FOUND_WINDOWS, dllNotFound);
+ }
+ }
+ if ((int)mLastReturnCode < 0)
+ {
+ mLastReturnString = MonoUsbApi.StrError(mLastReturnCode);
+ SetHandleAsInvalid();
+ }
+ else
+ {
+ SetHandle(pNewSession);
+ mSessionCount++;
+ }
+ }
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <returns></returns>
+ protected override bool ReleaseHandle()
+ {
+ if (!IsInvalid)
+ {
+ lock (sessionLOCK)
+ {
+ MonoUsbApi.Exit(handle);
+ SetHandleAsInvalid();
+ mSessionCount--;
+ Debug.Print(GetType().Name + " : ReleaseHandle #{0}", mSessionCount);
+
+ }
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/AddRemoveEventArgs.cs b/LibWinUsb/MonoLibUsb/Profile/AddRemoveEventArgs.cs
new file mode 100644
index 00000000..3f6f2d06
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/AddRemoveEventArgs.cs
@@ -0,0 +1,34 @@
+using System;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Describes a device arrival/removal notification event
+ /// </summary>
+ public class AddRemoveEventArgs : EventArgs
+ {
+ private readonly AddRemoveType mAddRemoveType;
+ private readonly MonoUsbProfile mMonoUSBProfile;
+
+ internal AddRemoveEventArgs(MonoUsbProfile monoUSBProfile, AddRemoveType addRemoveType)
+ {
+ mMonoUSBProfile = monoUSBProfile;
+ mAddRemoveType = addRemoveType;
+ }
+ /// <summary>
+ /// The <see cref ="MonoUsbProfile"/> that was added or removed.
+ /// </summary>
+ public MonoUsbProfile MonoUSBProfile
+ {
+ get { return mMonoUSBProfile; }
+ }
+
+ /// <summary>
+ /// The type of event that occured.
+ /// </summary>
+ public AddRemoveType EventType
+ {
+ get { return mAddRemoveType; }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/AddRemoveType.cs b/LibWinUsb/MonoLibUsb/Profile/AddRemoveType.cs
new file mode 100644
index 00000000..b9bbbbf6
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/AddRemoveType.cs
@@ -0,0 +1,38 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Event type.
+ /// </summary>
+ public enum AddRemoveType
+ {
+ /// <summary>
+ /// A usb device was attached.
+ /// </summary>
+ Added,
+ /// <summary>
+ /// A usb device was detached.
+ /// </summary>
+ Removed
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbConfigHandle.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbConfigHandle.cs
new file mode 100644
index 00000000..4c4ea936
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbConfigHandle.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// The <see cref="MonoUsbConfigHandle"/> class hold the internal pointer to a libusb <see cref="MonoUsbConfigDescriptor"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// To acquire a <see cref="MonoUsbConfigHandle"/> use:
+ /// <list type="bullet">
+ /// <item><see cref="MonoUsbApi.GetActiveConfigDescriptor"/></item>
+ /// <item><see cref="MonoUsbApi.GetConfigDescriptor"/></item>
+ /// <item><see cref="MonoUsbApi.GetConfigDescriptorByValue"/></item>
+ /// </list>
+ /// </para>
+ /// <para>To access configuration information see <see cref="MonoUsbConfigDescriptor(MonoUsbConfigHandle)"/>.</para>
+ /// <example><code source="..\MonoLibUsb\MonoUsb.ShowConfig\ShowConfig.cs" lang="cs"/></example>
+ /// </remarks>
+ public class MonoUsbConfigHandle:SafeContextHandle
+ {
+ private MonoUsbConfigHandle() : base(IntPtr.Zero,true) {}
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <returns></returns>
+ protected override bool ReleaseHandle()
+ {
+ if (!IsInvalid)
+ {
+ MonoUsbApi.FreeConfigDescriptor(handle);
+ SetHandleAsInvalid();
+ }
+ return true;
+ }
+ }
+}
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfile.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfile.cs
new file mode 100644
index 00000000..d82b58e8
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfile.cs
@@ -0,0 +1,186 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+using LibUsbDotNet;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Descriptors;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Representing a USB device that can be opened and used by Libusb-1.0.
+ /// </summary>
+ public class MonoUsbProfile
+ {
+ private readonly byte mBusNumber;
+ private readonly byte mDeviceAddress;
+ private readonly MonoUsbDeviceDescriptor mMonoUsbDeviceDescriptor = new MonoUsbDeviceDescriptor();
+ private readonly MonoUsbProfileHandle mMonoUSBProfileHandle;
+ internal bool mDiscovered;
+
+ internal MonoUsbProfile(MonoUsbProfileHandle monoUSBProfileHandle)
+ {
+ mMonoUSBProfileHandle = monoUSBProfileHandle;
+ mBusNumber = MonoUsbApi.GetBusNumber(mMonoUSBProfileHandle);
+ mDeviceAddress = MonoUsbApi.GetDeviceAddress(mMonoUSBProfileHandle);
+ GetDeviceDescriptor(out mMonoUsbDeviceDescriptor);
+
+//#if DEBUG
+// Console.WriteLine("Vid:{0:X4} Pid:{1:X4} BusNumber:{2} DeviceAddress:{3}",
+// mMonoUsbDeviceDescriptor.VendorID,
+// mMonoUsbDeviceDescriptor.ProductID,
+// mBusNumber,
+// mDeviceAddress);
+//#endif
+ }
+
+ /// <summary>
+ /// Gets the standard usb device descriptor.
+ /// </summary>
+ public MonoUsbDeviceDescriptor DeviceDescriptor
+ {
+ get { return mMonoUsbDeviceDescriptor; }
+ }
+
+ /// <summary>
+ /// Gets the bus number the is resides on.
+ /// </summary>
+ public byte BusNumber
+ {
+ get { return mBusNumber; }
+ }
+
+ /// <summary>
+ /// Gets the device address that belongs to the usb device this profile represents.
+ /// </summary>
+ public byte DeviceAddress
+ {
+ get { return mDeviceAddress; }
+ }
+
+ /// <summary>
+ /// Gets the internal profile handle need for some api calls.
+ /// </summary>
+ public MonoUsbProfileHandle ProfileHandle
+ {
+ get { return mMonoUSBProfileHandle; }
+ }
+
+ /// <summary>
+ /// Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
+ /// </summary>
+ /// <returns>
+ /// true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
+ /// </returns>
+ /// <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>. </param><exception cref="T:System.NullReferenceException">The <paramref name="obj"/> parameter is null.</exception><filterpriority>2</filterpriority>
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ if (obj.GetType() != typeof (MonoUsbProfile)) return false;
+ return Equals((MonoUsbProfile) obj);
+ }
+
+ /// <summary>
+ /// Serves as a hash function for a particular type.
+ /// </summary>
+ /// <returns>
+ /// A hash code for the current <see cref="T:System.Object"/>.
+ /// </returns>
+ /// <filterpriority>2</filterpriority>
+ public override int GetHashCode()
+ {
+ unchecked
+ {
+ return (mBusNumber.GetHashCode()*397) ^ mDeviceAddress.GetHashCode();
+ }
+ }
+
+ ///<summary>
+ /// <c>true</c> if the <see cref="MonoUsbProfile"/> types are equal.
+ ///</summary>
+ /// <remarks>
+ /// <see cref="MonoUsbProfile"/> types are considered equal they have the same <see cref="BusNumber"/> and <see cref="DeviceAddress"/>.
+ /// </remarks>
+ ///<param name="left"><see cref="MonoUsbProfile"/> on the left.</param>
+ ///<param name="right"><see cref="MonoUsbProfile"/> on the right.</param>
+ ///<returns>True if the <see cref="MonoUsbProfile"/> types are equal.</returns>
+ public static bool operator ==(MonoUsbProfile left, MonoUsbProfile right) { return Equals(left, right); }
+
+ ///<summary>
+ /// <c>true</c> if the <see cref="MonoUsbProfile"/> types are not equal.
+ ///</summary>
+ /// <remarks>
+ /// <see cref="MonoUsbProfile"/> types are considered equal they have the same <see cref="BusNumber"/> and <see cref="DeviceAddress"/>.
+ /// </remarks>
+ ///<param name="left"><see cref="MonoUsbProfile"/> on the left.</param>
+ ///<param name="right"><see cref="MonoUsbProfile"/> on the right.</param>
+ ///<returns>True if the <see cref="MonoUsbProfile"/> types are not equal.</returns>
+ public static bool operator !=(MonoUsbProfile left, MonoUsbProfile right) { return !Equals(left, right); }
+
+ private MonoUsbError GetDeviceDescriptor(out MonoUsbDeviceDescriptor monoUsbDeviceDescriptor)
+ {
+ MonoUsbError ec = MonoUsbError.Success;
+
+ monoUsbDeviceDescriptor = new MonoUsbDeviceDescriptor();
+ //Console.WriteLine("MonoUsbProfile:GetDeviceDescriptor");
+ ec = (MonoUsbError) MonoUsbApi.GetDeviceDescriptor(mMonoUSBProfileHandle, monoUsbDeviceDescriptor);
+ if (ec != MonoUsbError.Success)
+ {
+#if LIBUSBDOTNET
+ UsbError.Error(ErrorCode.MonoApiError, (int) ec, "GetDeviceDescriptor Failed", this);
+#endif
+ monoUsbDeviceDescriptor = null;
+ }
+ return ec;
+ }
+
+ /// <summary>
+ /// Closes the internal <see cref="MonoUsbProfileHandle"/>.
+ /// </summary>
+ public void Close()
+ {
+ if (!mMonoUSBProfileHandle.IsClosed)
+ mMonoUSBProfileHandle.Close();
+ }
+
+ /// <summary>
+ /// Convenience function to open the device handle this profile handle represents.
+ /// </summary>
+ /// <returns>
+ /// A new <see cref="MonoUsbDeviceHandle"/> instance. Created with <see cref="MonoUsbDeviceHandle(MonoUsbProfileHandle)"/> constructor.
+ /// </returns>
+ public MonoUsbDeviceHandle OpenDeviceHandle() { return new MonoUsbDeviceHandle(ProfileHandle); }
+
+ /// <summary>
+ /// Compares a <see cref="MonoUsbProfile"/> with this one.
+ /// </summary>
+ /// <param name="other">The other <see cref="MonoUsbProfile"/>.</param>
+ /// <returns>True if the <see cref="BusNumber"/> and <see cref="DeviceAddress"/> are equal.</returns>
+ public bool Equals(MonoUsbProfile other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+ return other.mBusNumber == mBusNumber && other.mDeviceAddress == mDeviceAddress;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandle.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandle.cs
new file mode 100644
index 00000000..3d939001
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandle.cs
@@ -0,0 +1,110 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Wraps a profile handle into a <see cref="System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/>.
+ /// Profile handles are used for getting device descriptor information and opening the device. Profile handles
+ /// are known connected and usually supported usb device that can be opened and used.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// When a <see cref="MonoUsbProfileHandle"/> instance is created and wrapped around the
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__dev.html#ga77eedd00d01eb7569b880e861a971c2b">libusb_device</a>
+ /// pointer, <see cref="MonoUsbApi.RefDevice"/> is called. When all references to this
+ /// <see cref="MonoUsbProfileHandle"/> instance are out-of-scope or have all been closed, this profile handle is de-referenced with
+ /// <see cref="MonoUsbApi.UnrefDevice"/>.
+ /// When the reference count equals zero, memory is freed and resources are released.
+ /// </para>
+ /// <para>
+ /// The <see cref="MonoUsbProfileHandle"/> class ensures all device profiles get closed and freed
+ /// regardless of abnormal program terminations or coding errors.
+ /// </para>
+ /// <para>
+ /// Certain operations can be performed using just the <see cref="MonoUsbProfileHandle"/>, but in order to do
+ /// any I/O you will have to first obtain a <see cref="MonoUsbDeviceHandle"/> using <see cref="MonoUsbApi.Open"/>.
+ /// </para>
+ /// </remarks>
+ public class MonoUsbProfileHandle : SafeContextHandle
+ {
+
+
+ /// <summary>
+ /// Wraps a raw usb device profile handle pointer in a <see cref="MonoUsbProfileHandle"/> class.
+ /// </summary>
+ /// <param name="pProfileHandle">the profile handle to wrap.</param>
+ public MonoUsbProfileHandle(IntPtr pProfileHandle) : base(pProfileHandle,true)
+ {
+ lock (oDeviceProfileRefLock)
+ {
+ MonoUsbApi.RefDevice(pProfileHandle);
+ mDeviceProfileRefCount++;
+ }
+ }
+
+ #region Overridden Members
+
+ /// <summary>
+ /// When overridden in a derived class, executes the code required to free the handle.
+ /// </summary>
+ /// <returns>
+ /// true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
+ /// </returns>
+ protected override bool ReleaseHandle()
+ {
+ lock (oDeviceProfileRefLock)
+ {
+ if (!IsInvalid)
+ {
+ MonoUsbApi.UnrefDevice(handle);
+ mDeviceProfileRefCount--;
+ SetHandleAsInvalid();
+ Debug.Print(GetType().Name + " : ReleaseHandle #{0}", mDeviceProfileRefCount);
+ }
+ return true;
+ }
+ }
+
+ #endregion
+
+ #region STATIC Members
+
+ internal static int DeviceProfileRefCount
+ {
+ get
+ {
+ lock (oDeviceProfileRefLock)
+ return mDeviceProfileRefCount;
+ }
+ }
+
+ private static int mDeviceProfileRefCount;
+ private static readonly object oDeviceProfileRefLock = new object();
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandleEnumerator.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandleEnumerator.cs
new file mode 100644
index 00000000..6c654174
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileHandleEnumerator.cs
@@ -0,0 +1,111 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// A forward-only enumerator for iterating a device lists.
+ /// </summary>
+ internal class MonoUsbProfileHandleEnumerator : IEnumerator<MonoUsbProfileHandle>
+ {
+ private readonly MonoUsbProfileListHandle mProfileListHandle;
+ private MonoUsbProfileHandle mCurrentProfile;
+ private int mNextDeviceProfilePos;
+
+
+ internal MonoUsbProfileHandleEnumerator(MonoUsbProfileListHandle profileListHandle)
+ {
+ mProfileListHandle = profileListHandle;
+ Reset();
+ }
+
+ #region IEnumerator<MonoUsbProfileHandle> Members
+
+ /// <summary>
+ /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+ /// </summary>
+ /// <filterpriority>2</filterpriority>
+ public void Dispose() { Reset(); }
+
+
+ /// <summary>
+ /// Advances the enumerator to the next <see cref="MonoUsbProfileHandle"/> element of the collection.
+ /// </summary>
+ /// <returns>
+ /// true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+ /// </returns>
+ /// <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception><filterpriority>2</filterpriority>
+ public bool MoveNext()
+ {
+ IntPtr pNextProfileHandle =
+ Marshal.ReadIntPtr(new IntPtr(mProfileListHandle.DangerousGetHandle().ToInt64() + (mNextDeviceProfilePos*IntPtr.Size)));
+ if (pNextProfileHandle != IntPtr.Zero)
+ {
+ mCurrentProfile = new MonoUsbProfileHandle(pNextProfileHandle);
+ mNextDeviceProfilePos++;
+ return true;
+ }
+ mCurrentProfile = null;
+ return false;
+ }
+
+
+ /// <summary>
+ /// Sets the enumerator to its initial position, which is before the first element in the collection.
+ /// </summary>
+ /// <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception><filterpriority>2</filterpriority>
+ public void Reset()
+ {
+ mNextDeviceProfilePos = 0;
+ mCurrentProfile = null;
+ }
+
+ /// <summary>
+ /// Gets the element in the <see cref="MonoUsbProfileHandle"/> collection at the current position of the enumerator.
+ /// </summary>
+ /// <returns>
+ /// The current <see cref="MonoUsbProfileHandle"/> element.
+ /// </returns>
+ public MonoUsbProfileHandle Current
+ {
+ get { return mCurrentProfile; }
+ }
+
+ /// <summary>
+ /// Gets the current element in the <see cref="MonoUsbProfileHandle"/> collection.
+ /// </summary>
+ /// <returns>
+ /// The current <see cref="MonoUsbProfileHandle"/> element.
+ /// </returns>
+ /// <exception cref="T:System.InvalidOperationException">The enumerator is positioned before the first element of the collection or after the last element.-or- The collection was modified after the enumerator was created.</exception><filterpriority>2</filterpriority>
+ object IEnumerator.Current
+ {
+ get { return Current; }
+ }
+
+ #endregion
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileList.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileList.cs
new file mode 100644
index 00000000..05d4fc7e
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileList.cs
@@ -0,0 +1,259 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using LibUsbDotNet;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Manages the device list. This class is thread safe.
+ /// </summary>
+ public class MonoUsbProfileList : IEnumerable<MonoUsbProfile>
+ {
+ private object LockProfileList = new object();
+
+ private static bool FindDiscoveredFn(MonoUsbProfile check) { return check.mDiscovered; }
+ private static bool FindUnDiscoveredFn(MonoUsbProfile check) { return !check.mDiscovered; }
+
+ private List<MonoUsbProfile> mList=new List<MonoUsbProfile>();
+ private void FireAddRemove(MonoUsbProfile monoUSBProfile, AddRemoveType addRemoveType)
+ {
+ EventHandler<AddRemoveEventArgs> temp = AddRemoveEvent;
+ if (!ReferenceEquals(temp, null))
+ {
+ temp(this, new AddRemoveEventArgs(monoUSBProfile, addRemoveType));
+ }
+ }
+
+ private void SetDiscovered(bool discovered)
+ {
+ foreach (MonoUsbProfile deviceProfile in this)
+ {
+ deviceProfile.mDiscovered = discovered;
+ }
+ }
+
+ private void syncWith(MonoUsbProfileList newList)
+ {
+ SetDiscovered(false);
+ newList.SetDiscovered(true);
+
+ int iNewProfiles = newList.mList.Count;
+ for (int iNewProfile = 0; iNewProfile < iNewProfiles; iNewProfile++)
+ {
+ MonoUsbProfile newProfile = newList.mList[iNewProfile];
+ int iFoundOldIndex;
+ if ((iFoundOldIndex = mList.IndexOf(newProfile)) == -1)
+ {
+ //Console.WriteLine("DeviceDiscovery: Added: {0}", newProfile.ProfileHandle.DangerousGetHandle());
+ newProfile.mDiscovered = true;
+ mList.Add(newProfile);
+ FireAddRemove(newProfile, AddRemoveType.Added);
+ }
+ else
+ {
+ //Console.WriteLine("DeviceDiscovery: Unchanged: Orig:{0} New:{1}", mList[iFoundOldIndex].ProfileHandle.DangerousGetHandle(), newProfile.ProfileHandle.DangerousGetHandle());
+ mList[iFoundOldIndex].mDiscovered = true;
+ newProfile.mDiscovered = false;
+
+ }
+ }
+
+ newList.mList.RemoveAll(FindDiscoveredFn);
+ newList.Close();
+
+ foreach (MonoUsbProfile deviceProfile in mList)
+ {
+ if (!deviceProfile.mDiscovered)
+ {
+ // Close Unplugged device profiles.
+ //Console.WriteLine("DeviceDiscovery: Removed: {0}", deviceProfile.ProfileHandle.DangerousGetHandle());
+ FireAddRemove(deviceProfile, AddRemoveType.Removed);
+ deviceProfile.Close();
+ }
+ }
+
+ // Remove Unplugged device profiles.
+ mList.RemoveAll(FindUnDiscoveredFn);
+ }
+
+
+ /// <summary>
+ /// Refreshes the <see cref="MonoUsbProfile"/> list.
+ /// </summary>
+ /// <remarks>
+ /// <para>This is your entry point into finding a USB device to operate.</para>
+ /// <para>This return value of this function indicates the number of devices in the resultant list.</para>
+ /// <para>The <see cref="MonoUsbProfileList"/> has a crude form of built-in device notification that works on all platforms. By adding an event handler to the <see cref="AddRemoveEvent"/> changes in the device profile list are reported when <see cref="Refresh"/> is called.</para>
+ /// </remarks>
+ /// <param name="sessionHandle">A valid <see cref="MonoUsbSessionHandle"/>.</param>
+ /// <returns>The number of devices in the outputted list, or <see cref="MonoUsbError.ErrorNoMem"/> on memory allocation failure.</returns>
+ /// <example>
+ /// <code source="..\MonoLibUsb\MonoUsb.ShowInfo\ShowInfo.cs" lang="cs"/>
+ /// </example>
+ public int Refresh(MonoUsbSessionHandle sessionHandle)
+ {
+ lock (LockProfileList)
+ {
+ MonoUsbProfileList newList = new MonoUsbProfileList();
+ MonoUsbProfileListHandle monoUSBProfileListHandle;
+
+ int ret = MonoUsbApi.GetDeviceList(sessionHandle, out monoUSBProfileListHandle);
+ if (ret < 0 || monoUSBProfileListHandle.IsInvalid)
+ {
+#if LIBUSBDOTNET
+ UsbError.Error(ErrorCode.MonoApiError, ret, "Refresh:GetDeviceList Failed", this);
+#else
+ System.Diagnostics.Debug.Print("libusb_get_device_list failed:{0} {1}",
+ (MonoUsbError) ret,
+ MonoUsbApi.StrError((MonoUsbError) ret));
+#endif
+ return ret;
+ }
+ int stopCount = ret;
+ foreach (MonoUsbProfileHandle deviceProfileHandle in monoUSBProfileListHandle)
+ {
+ newList.mList.Add(new MonoUsbProfile(deviceProfileHandle));
+ stopCount--;
+ if (stopCount <= 0) break;
+ }
+ syncWith(newList);
+ monoUSBProfileListHandle.Close();
+
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Frees all unreferenced profiles contained in the list.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// <see cref="MonoUsbProfileHandle"/>s that are in-use are never closed until all reference(s) have gone
+ /// out-of-scope or specifically been closed with the <see cref="SafeHandle.Close"/> method.
+ /// </para>
+ /// </remarks>
+ public void Close()
+ {
+ lock (LockProfileList)
+ {
+ foreach (MonoUsbProfile profile in mList)
+ profile.Close();
+
+ mList.Clear();
+ }
+ }
+
+ /// <summary>
+ /// Usb device arrival/removal notification handler.
+ /// This event only reports when the <see cref="Refresh"/> method is called.
+ /// </summary>
+ /// <remarks>
+ /// <see cref="AddRemoveEvent"/> could be used for a crude form for receiving usb
+ /// device arrival/removal notification.
+ /// </remarks>
+ /// <example>
+ /// <code>
+ /// // Startup code
+ /// MonoUsbProfileList profileList = new MonoUsbProfileList();
+ /// profileList.AddRemoveEvent += OnDeviceAddRemove;
+ ///
+ /// // Device AddRemove event template
+ /// private void OnDeviceAddRemove(object sender, AddRemoveEventArgs addRemoveArgs)
+ /// {
+ /// // This method will only report when Refresh() is called.
+ /// }
+ ///
+ /// // Refresh profile list.
+ /// // Any devices added or removed since the last call to Refresh() will be returned
+ /// // in the OnDeviceAddRemove method.
+ /// profileList.Refresh();
+ /// </code>
+ /// </example>
+ public event EventHandler<AddRemoveEventArgs> AddRemoveEvent;
+
+ /// <summary>
+ /// Returns an enumerator that iterates through the collection.
+ /// </summary>
+ /// <returns>
+ /// A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
+ /// </returns>
+ /// <filterpriority>1</filterpriority>
+ public IEnumerator<MonoUsbProfile> GetEnumerator()
+ {
+ lock(LockProfileList)
+ return mList.GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }
+
+ /// <summary>
+ /// Returns the number of <see cref="MonoUsbProfile"/> instances in the list.
+ /// </summary>
+ public int Count
+ {
+ get
+ {
+ lock (LockProfileList)
+ return mList.Count;
+ }
+ }
+ /// <summary>
+ /// Gets a <see cref="List{T}"/> of <see cref="MonoUsbProfile"/> instances.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// The <see cref="MonoUsbProfileList"/> uses an internal list that is locked when changes must be made.
+ /// The <see cref="GetList"/> method returns a copy of this list that can be searched and modified as needed by the user.
+ /// </para>
+ /// <para>
+ /// The returned generic <see cref="List{T}"/> contains many more functions for finding devices.
+ /// It may be desirable to use these members, such as <see cref="List{T}.FindAll"/> or <see cref="List{T}.ForEach"/> to find a <see cref="MonoUsbProfile"/> instead of iterating through the <see cref="MonoUsbProfileList"/> one-by-one.
+ /// </para>
+ /// </remarks>
+ /// <returns>A <see cref="List{T}"/> of <see cref="MonoUsbProfile"/> instances.</returns>
+ public List<MonoUsbProfile> GetList()
+ {
+ lock (LockProfileList)
+ return new List<MonoUsbProfile>(mList);
+ }
+
+ /// <summary>
+ /// Gets the <see cref="MonoUsbProfile"/> at the specfied index.
+ /// </summary>
+ /// <param name="index">The index of the <see cref="MonoUsbProfile"/> to retrieve.</param>
+ /// <returns>The <see cref="MonoUsbProfile"/> instance at the specified <paramref name="index"/>.</returns>
+ /// <exception cref="ArgumentOutOfRangeException">If index is invalid.</exception>
+ public MonoUsbProfile this[int index]
+ {
+ get
+ {
+ lock (LockProfileList)
+ return mList[index];
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileListHandle.cs b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileListHandle.cs
new file mode 100644
index 00000000..e1c56c7a
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/MonoUsbProfileListHandle.cs
@@ -0,0 +1,74 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// Used to iterate through the <see cref="MonoUsbProfileHandle"/> collection contained in the <see cref="MonoUsbProfileListHandle"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>Wraps a device list handle into a <see cref="System.Runtime.ConstrainedExecution.CriticalFinalizerObject"/></para>
+ /// </remarks>
+ /// <seealso cref="MonoUsbProfileList"/>
+ public class MonoUsbProfileListHandle : SafeContextHandle, IEnumerable<MonoUsbProfileHandle>
+ {
+ private MonoUsbProfileListHandle()
+ : base(IntPtr.Zero) { }
+
+ internal MonoUsbProfileListHandle(IntPtr pHandleToOwn)
+ : base(pHandleToOwn) { }
+
+ #region IEnumerable<MonoUsbProfileHandle> Members
+
+ /// <summary>
+ /// Gets a forward-only device list enumerator.
+ /// </summary>
+ /// <returns>A profile handle enumerator used iterating through the <see cref="MonoUsbProfileHandle"/> classes.</returns>
+ public IEnumerator<MonoUsbProfileHandle> GetEnumerator() { return new MonoUsbProfileHandleEnumerator(this); }
+
+ IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); }
+
+ #endregion
+
+ /// <summary>
+ /// When overridden in a derived class, executes the code required to free the handle.
+ /// </summary>
+ /// <returns>
+ /// true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
+ /// </returns>
+ protected override bool ReleaseHandle()
+ {
+ if (!IsInvalid)
+ {
+ MonoUsbApi.FreeDeviceList(handle, 1);
+ //Console.WriteLine("FreeDeviceList:{0}", handle);
+ SetHandleAsInvalid();
+ }
+
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Profile/PollfdItem.cs b/LibWinUsb/MonoLibUsb/Profile/PollfdItem.cs
new file mode 100644
index 00000000..901c29d3
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Profile/PollfdItem.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Runtime.InteropServices;
+
+namespace MonoLibUsb.Profile
+{
+ /// <summary>
+ /// File descriptor for polling. <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__pollfd.html#_details">More..</a>
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential)]
+ public class PollfdItem
+ {
+ internal PollfdItem(IntPtr pPollfd)
+ {
+ Marshal.PtrToStructure(pPollfd, this);
+ }
+ /// <summary>
+ /// Numeric file descriptor.
+ /// </summary>
+ public readonly int fd;
+
+ /// <summary>
+ /// Event flags to poll for from poll.h.
+ /// </summary>
+ public readonly short events;
+ }
+}
diff --git a/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_control_setup.cs b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_control_setup.cs
new file mode 100644
index 00000000..1066eb3f
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_control_setup.cs
@@ -0,0 +1,35 @@
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Transfer.Internal
+{
+ [StructLayout(LayoutKind.Sequential)]
+ internal class libusb_control_setup
+ {
+
+ /** Request type. Bits 0:4 determine recipient, see
+ * \ref libusb_request_recipient. Bits 5:6 determine type, see
+ * \ref libusb_request_type. Bit 7 determines data transfer direction, see
+ * \ref libusb_endpoint_direction.
+ */
+ public readonly byte bmRequestType;
+
+ /** Request. If the type bits of bmRequestType are equal to
+ * \ref libusb_request_type::LIBUSB_REQUEST_TYPE_STANDARD
+ * "LIBUSB_REQUEST_TYPE_STANDARD" then this field refers to
+ * \ref libusb_standard_request. For other cases, use of this field is
+ * application-specific. */
+ public readonly byte bRequest;
+
+ /** Value. Varies according to request */
+ public readonly short wValue;
+
+ /** Index. Varies according to request, typically used to pass an index
+ * or offset */
+ public readonly short wIndex;
+
+ /** Number of bytes to transfer */
+ public readonly short wLength;
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_iso_packet_descriptor.cs b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_iso_packet_descriptor.cs
new file mode 100644
index 00000000..58a12554
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_iso_packet_descriptor.cs
@@ -0,0 +1,29 @@
+using System.Runtime.InteropServices;
+
+namespace MonoLibUsb.Transfer.Internal
+{
+ /// <remarks>
+ /// This class is never instantiated in .NET. Instead it is used as a template by the <see cref="MonoUsbIsoPacket"/> class.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ internal class libusb_iso_packet_descriptor
+ {
+ /// <summary>
+ /// Length of data to request in this packet
+ /// </summary>
+ uint length;
+
+ /// <summary>
+ /// Amount of data that was actually transferred
+ /// </summary>
+ uint actual_length;
+
+ /// <summary>
+ /// Status code for this packet
+ /// </summary>
+ MonoUsbTansferStatus status;
+
+ private libusb_iso_packet_descriptor() { }
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_transfer.cs b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_transfer.cs
new file mode 100644
index 00000000..49ddeeba
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/Internal/libusb_transfer.cs
@@ -0,0 +1,52 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Transfer.Internal
+{
+ /// <remarks>
+ /// This class is never instantiated in .NET. Instead it is used as a template by the <see cref="MonoUsbTransfer"/> class.
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential, Pack = MonoUsbApi.LIBUSB_PACK)]
+ internal class libusb_transfer
+ {
+ IntPtr deviceHandle;
+ MonoUsbTransferFlags flags;
+ byte endpoint;
+ EndpointType type;
+ uint timeout;
+ MonoUsbTansferStatus status;
+ int length;
+ int actual_length;
+ IntPtr pCallbackFn;
+ IntPtr pUserData;
+ IntPtr pBuffer;
+ int num_iso_packets;
+ IntPtr iso_packets;
+
+ private libusb_transfer() { }
+
+ } ;
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetup.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetup.cs
new file mode 100644
index 00000000..d5c5438d
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetup.cs
@@ -0,0 +1,145 @@
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using MonoLibUsb.Transfer.Internal;
+
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Reads/writes a Libusb-1.0 control setup packet pointer. Control setup packets should be allocated with <see cref="MonoUsbControlSetupHandle"/>.
+ /// </summary>
+ /// <remarks>
+ /// <para>This class that reads and writes values directly from/to the setup packet <see cref="IntPtr"/> using <see cref="Marshal"/>.</para>
+ /// <note type="tip">This type is used for asynchronous control transfers only.</note>
+ /// </remarks>
+ /// <seealso cref="MonoUsbControlSetupHandle"/>
+ [StructLayout(LayoutKind.Sequential)]
+ public class MonoUsbControlSetup
+ {
+ /// <summary>
+ /// Size of a Libusb-1.0 setup packet.
+ /// </summary>
+ public static int SETUP_PACKET_SIZE = Marshal.SizeOf(typeof(libusb_control_setup));
+
+ private static readonly int OfsRequestType = Marshal.OffsetOf(typeof(libusb_control_setup), "bmRequestType").ToInt32();
+ private static readonly int OfsRequest = Marshal.OffsetOf(typeof(libusb_control_setup), "bRequest").ToInt32();
+ private static readonly int OfsValue = Marshal.OffsetOf(typeof(libusb_control_setup), "wValue").ToInt32();
+ private static readonly int OfsIndex = Marshal.OffsetOf(typeof(libusb_control_setup), "wIndex").ToInt32();
+ private static readonly int OfsLength = Marshal.OffsetOf(typeof(libusb_control_setup), "wLength").ToInt32();
+ private static readonly int OfsPtrData = SETUP_PACKET_SIZE;
+
+
+ private IntPtr handle;
+
+ /// <summary>
+ /// Creates a <see cref="MonoUsbControlSetup"/> structure for a control setup packet pointer.
+ /// </summary>
+ /// <remarks>
+ /// The <paramref name="pControlSetup"/> pointer must be a pointer in memory to a valid Libusb-1.0 <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__control__setup.html">libusb__control__setup</a> that was allocated with <see cref="MonoUsbControlSetupHandle"/>.
+ /// </remarks>
+ /// <param name="pControlSetup">Pointer to the setup packet. This will usually be <see cref="MonoUsbTransfer.PtrBuffer">MonoUsbTransfer.PtrBuffer</see></param>
+ public MonoUsbControlSetup(IntPtr pControlSetup)
+ {
+ handle = pControlSetup;
+ }
+
+ /// <summary>
+ /// The request type.
+ /// </summary>
+ public byte RequestType
+ {
+ get { return Marshal.ReadByte(handle, OfsRequestType); }
+ set { Marshal.WriteByte(handle, OfsRequestType, value); }
+ }
+
+ /// <summary>
+ /// The request.
+ /// </summary>
+ public byte Request
+ {
+ get { return Marshal.ReadByte(handle, OfsRequest); }
+ set { Marshal.WriteByte(handle, OfsRequest, value); }
+ }
+ /// <summary>
+ /// The wValue.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="Helper.HostEndianToLE16"/> method.</note>
+ /// </remarks>
+ public short Value
+ {
+ get { return Helper.HostEndianToLE16(Marshal.ReadInt16(handle, OfsValue)); }
+ set { Marshal.WriteInt16(handle, OfsValue, Helper.HostEndianToLE16(value)); }
+
+ }
+ /// <summary>
+ /// The wIndex.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="Helper.HostEndianToLE16"/> method.</note>
+ /// </remarks>
+ public short Index
+ {
+ get { return Helper.HostEndianToLE16(Marshal.ReadInt16(handle, OfsIndex)); }
+ set { Marshal.WriteInt16(handle, OfsIndex, Helper.HostEndianToLE16(value)); }
+ }
+ /// <summary>
+ /// Number of bytes to transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">The get/set accessors automatically manage the little-endian to host-endian/host-endian to little-endian conversions using the <see cref="Helper.HostEndianToLE16"/> method.</note>
+ /// </remarks>
+ public short Length
+ {
+ get { return Helper.HostEndianToLE16(Marshal.ReadInt16(handle, OfsLength)); }
+ set { Marshal.WriteInt16(handle, OfsLength, Helper.HostEndianToLE16(value)); }
+ }
+
+ /// <summary>
+ /// Gets a pointer to the control data buffer.
+ /// </summary>
+ /// <remarks>This is the <see cref="IntPtr"/> to the control data inside of the setup packet, not to the setup packet itself.</remarks>
+ public IntPtr PtrData
+ {
+ get
+ {
+ return new IntPtr(handle.ToInt64() + OfsPtrData);
+ }
+ }
+ /// <summary>
+ /// Copies data into <see cref="PtrData"/>.
+ /// </summary>
+ /// <param name="data">
+ /// <para>Data buffer to copy into <see cref="PtrData"/>for an output control transfer.</para>
+ /// This value can be:
+ /// <list type="bullet">
+ /// <item>An <see cref="Array"/> of bytes or other <a href="http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx">blittable</a> types.</item>
+ /// <item>An already allocated, pinned <see cref="GCHandle"/>. In this case <see cref="GCHandle.AddrOfPinnedObject"/> is used for the buffer address.</item>
+ /// <item>An <see cref="IntPtr"/>.</item>
+ /// </list>
+ /// </param>
+ /// <param name="offset">The offset in <paramref name="data"/> to begin copying.</param>
+ /// <param name="length">Number of to copy.</param>
+ public void SetData(object data, int offset, int length)
+ {
+ PinnedHandle p = new PinnedHandle(data);
+ Byte[] temp = new byte[length];
+ Marshal.Copy(p.Handle, temp, offset, length);
+ p.Dispose();
+ Marshal.Copy(temp, 0, PtrData, length);
+ }
+
+ /// <summary>
+ /// Gets control data as bytes.
+ /// </summary>
+ /// <param name="transferLength">The number of bytes to copy out of <see cref="PtrData"/>. This will usually come from <see cref="MonoUsbTransfer.ActualLength">MonoUsbTransfer.ActualLength</see>.</param>
+ /// <returns>A new byte array of control data.</returns>
+ public Byte[] GetData(int transferLength)
+ {
+ byte[] data = new byte[transferLength];
+ Marshal.Copy(PtrData,data,0,data.Length);
+ return data;
+ }
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetupHandle.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetupHandle.cs
new file mode 100644
index 00000000..9f72127c
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbControlSetupHandle.cs
@@ -0,0 +1,113 @@
+using System;
+using System.Diagnostics;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Allocates memory and fills an asynchronous control setup packet.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">This type is used for asynchronous control transfers only.</note>
+ /// </remarks>
+ /// <seealso cref="MonoUsbControlSetup"/>
+ public class MonoUsbControlSetupHandle:SafeContextHandle
+ {
+ private MonoUsbControlSetup mSetupPacket;
+ /// <summary>
+ /// Allocates memory and sets up a control setup packet. Copies control data into the control data buffer
+ /// </summary>
+ /// <remarks>
+ /// <para>This constructor is used when <paramref name="requestType"/> has the <see cref="UsbCtrlFlags.Direction_In"/> flag and this request will contain control data (more than just the setup packet).</para>
+ /// <para>Allocates <see cref="MonoUsbControlSetup.SETUP_PACKET_SIZE"/> + <paramref name="data"/>.Length for the setup packet. The setup packet is stored first then the control data.</para>
+ /// <para>The <paramref name="data"/> array is copied into the setup packet starting at <see cref="MonoUsbControlSetup.SETUP_PACKET_SIZE"/>.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// This contructor is similar to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga5447311149ec2bd954b5f1a640a8e231">libusb_fill_control_setup()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="requestType">The request type field for the setup packet.</param>
+ /// <param name="request">The request field for the setup packet.</param>
+ /// <param name="value">The value field for the setup packet</param>
+ /// <param name="index">The index field for the setup packet.</param>
+ /// <param name="data">The control data buffer to copy into the setup packet.</param>
+ /// <param name="length">Size of <paramref name="data"/> in bytes. This value is also used for the wLength field of the setup packet.</param>
+ public MonoUsbControlSetupHandle(byte requestType, byte request, short value, short index, object data, int length)
+ : this(requestType, request, value, index, (short)(ushort)length)
+ {
+ if (data != null)
+ mSetupPacket.SetData(data, 0, length);
+ }
+
+ /// <summary>
+ /// Allocates memory and sets up a control setup packet.
+ /// </summary>
+ /// <remarks>
+ /// <para>This constructor is used when:
+ /// <list type="bullet">
+ /// <item><paramref name="requestType"/> has the <see cref="UsbCtrlFlags.Direction_In"/> flag and this request will not contain extra data (just the setup packet).</item>
+ /// <item><paramref name="requestType"/> does not have the <see cref="UsbCtrlFlags.Direction_In"/> flag.</item>
+ /// </list>
+ /// </para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// This contructor is similar to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga5447311149ec2bd954b5f1a640a8e231">libusb_fill_control_setup()</a>.
+ /// </note>
+ /// <para>Allocates <see cref="MonoUsbControlSetup.SETUP_PACKET_SIZE"/> + <paramref name="length"/> for the setup packet. The setup packet is stored first then the control data.</para>
+ /// </remarks>
+ /// <param name="requestType">The request type field for the setup packet.</param>
+ /// <param name="request">The request field for the setup packet.</param>
+ /// <param name="value">The value field for the setup packet</param>
+ /// <param name="index">The index field for the setup packet.</param>
+ /// <param name="length">The length to allocate for the data portion of the setup packet.</param>
+ public MonoUsbControlSetupHandle(byte requestType, byte request, short value, short index, short length)
+ :base(IntPtr.Zero,true)
+ {
+ ushort wlength = (ushort) length;
+ int packetSize;
+ if (wlength > 0)
+ packetSize = MonoUsbControlSetup.SETUP_PACKET_SIZE + wlength + (IntPtr.Size - (wlength % IntPtr.Size));
+ else
+ packetSize = MonoUsbControlSetup.SETUP_PACKET_SIZE;
+
+ IntPtr pConfigMem = Marshal.AllocHGlobal(packetSize);
+ if (pConfigMem == IntPtr.Zero) throw new OutOfMemoryException(String.Format("Marshal.AllocHGlobal failed allocating {0} bytes", packetSize));
+ SetHandle(pConfigMem);
+
+ mSetupPacket = new MonoUsbControlSetup(pConfigMem);
+
+ mSetupPacket.RequestType = requestType;
+ mSetupPacket.Request = request;
+ mSetupPacket.Value = value;
+ mSetupPacket.Index = index;
+ mSetupPacket.Length = (short) wlength;
+
+ }
+
+ /// <summary>
+ /// Returns the <see cref="MonoUsbControlSetup"/> for this handle.
+ /// </summary>
+ public MonoUsbControlSetup ControlSetup
+ {
+ get
+ {
+ return mSetupPacket;
+ }
+ }
+ /// <summary>
+ ///
+ /// </summary>
+ /// <returns></returns>
+ protected override bool ReleaseHandle()
+ {
+ if (!IsInvalid)
+ {
+ Marshal.FreeHGlobal(handle);
+ SetHandleAsInvalid();
+ Debug.Print(GetType().Name + " : ReleaseHandle");
+ }
+ return true;
+ }
+ }
+}
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbIsoPacket.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbIsoPacket.cs
new file mode 100644
index 00000000..ff2e8774
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbIsoPacket.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Runtime.InteropServices;
+using MonoLibUsb.Transfer.Internal;
+
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Wraps an iso packet structure
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential)]
+ public class MonoUsbIsoPacket
+ {
+ private static readonly int OfsActualLength = Marshal.OffsetOf(typeof(libusb_iso_packet_descriptor), "actual_length").ToInt32();
+ private static readonly int OfsLength = Marshal.OffsetOf(typeof(libusb_iso_packet_descriptor), "length").ToInt32();
+ private static readonly int OfsStatus = Marshal.OffsetOf(typeof(libusb_iso_packet_descriptor), "status").ToInt32();
+
+ private IntPtr mpMonoUsbIsoPacket = IntPtr.Zero;
+
+ /// <summary>
+ /// Creates a structure that wraps an iso packet.
+ /// </summary>
+ /// <param name="isoPacketPtr">The pointer to the iso packet to wrap.</param>
+ public MonoUsbIsoPacket(IntPtr isoPacketPtr) { mpMonoUsbIsoPacket = isoPacketPtr; }
+
+ /// <summary>
+ /// Returns the location in memory of this iso packet.
+ /// </summary>
+ public IntPtr PtrIsoPacket
+ {
+ get { return mpMonoUsbIsoPacket; }
+ }
+ /// <summary>
+ /// Amount of data that was actually transferred.
+ /// </summary>
+ public int ActualLength
+ {
+ get { return Marshal.ReadInt32(mpMonoUsbIsoPacket, OfsActualLength); }
+ set { Marshal.WriteInt32(mpMonoUsbIsoPacket, OfsActualLength, value); }
+ }
+ /// <summary>
+ /// Length of data to request in this packet.
+ /// </summary>
+ public int Length
+ {
+ get { return Marshal.ReadInt32(mpMonoUsbIsoPacket, OfsLength); }
+ set { Marshal.WriteInt32(mpMonoUsbIsoPacket, OfsLength, value); }
+ }
+ /// <summary>
+ /// Status code for this packet.
+ /// </summary>
+ public MonoUsbTansferStatus Status
+ {
+ get { return (MonoUsbTansferStatus)Marshal.ReadInt32(mpMonoUsbIsoPacket, OfsStatus); }
+ set { Marshal.WriteInt32(mpMonoUsbIsoPacket, OfsStatus, (int)value); }
+ }
+
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTansferStatus.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTansferStatus.cs
new file mode 100644
index 00000000..36e35136
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTansferStatus.cs
@@ -0,0 +1,65 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Transfer status codes.
+ /// </summary>
+ public enum MonoUsbTansferStatus
+ {
+ /// <summary>
+ /// Transfer completed without error. Note that this does not indicate that the entire amount of requested data was transferred.
+ /// </summary>
+ TransferCompleted,
+
+ /// <summary>
+ /// Transfer failed
+ /// </summary>
+ TransferError,
+
+ /// <summary>
+ /// Transfer timed out
+ /// </summary>
+ TransferTimedOut,
+
+ /// <summary>
+ /// Transfer was cancelled
+ /// </summary>
+ TransferCancelled,
+
+ /// <summary>
+ /// For bulk/interrupt endpoints: halt condition detected (endpoint stalled). For control endpoints: control request not supported.
+ /// </summary>
+ TransferStall,
+
+ /// <summary>
+ /// Device was disconnected
+ /// </summary>
+ TransferNoDevice,
+
+ /// <summary>
+ /// Device sent more data than requested
+ /// </summary>
+ TransferOverflow
+ } ;
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransfer.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransfer.cs
new file mode 100644
index 00000000..df555406
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransfer.cs
@@ -0,0 +1,519 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+
+using LibUsbDotNet.Main;
+using MonoLibUsb.Transfer.Internal;
+
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Reads/writes a Libusb-1.0 transfer pointer. Transfer should be allocated with <see cref="Alloc"/>.
+ /// </summary>
+ /// <remarks>
+ /// The user populates this structure and then submits it in order to request a transfer.
+ /// After the transfer has completed, the library populates the transfer with the results
+ /// and passes it back to the user.
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// The <see cref="MonoUsbTransfer"/> structure is roughly equivalent to
+ /// the <a href="http://libusb.sourceforge.net/api-1.0/structlibusb__transfer.html">struct libusb_transfer</a>.
+ /// </note>
+ /// </remarks>
+ [StructLayout(LayoutKind.Sequential)]
+ public struct MonoUsbTransfer
+ {
+ private static readonly int OfsActualLength = Marshal.OffsetOf(typeof (libusb_transfer), "actual_length").ToInt32();
+ private static readonly int OfsEndpoint = Marshal.OffsetOf(typeof (libusb_transfer), "endpoint").ToInt32();
+ private static readonly int OfsFlags = Marshal.OffsetOf(typeof (libusb_transfer), "flags").ToInt32();
+ private static readonly int OfsLength = Marshal.OffsetOf(typeof (libusb_transfer), "length").ToInt32();
+ private static readonly int OfsPtrBuffer = Marshal.OffsetOf(typeof (libusb_transfer), "pBuffer").ToInt32();
+ private static readonly int OfsPtrCallbackFn = Marshal.OffsetOf(typeof (libusb_transfer), "pCallbackFn").ToInt32();
+ private static readonly int OfsPtrDeviceHandle = Marshal.OffsetOf(typeof (libusb_transfer), "deviceHandle").ToInt32();
+ private static readonly int OfsPtrUserData = Marshal.OffsetOf(typeof (libusb_transfer), "pUserData").ToInt32();
+ private static readonly int OfsStatus = Marshal.OffsetOf(typeof (libusb_transfer), "status").ToInt32();
+ private static readonly int OfsTimeout = Marshal.OffsetOf(typeof (libusb_transfer), "timeout").ToInt32();
+ private static readonly int OfsType = Marshal.OffsetOf(typeof (libusb_transfer), "type").ToInt32();
+ private static readonly int OfsNumIsoPackets = Marshal.OffsetOf(typeof (libusb_transfer), "num_iso_packets").ToInt32();
+ private static readonly int OfsIsoPackets = Marshal.OffsetOf(typeof (libusb_transfer), "iso_packets").ToInt32();
+
+ private IntPtr handle;
+ /// <summary>
+ /// Allocate a libusb transfer with a specified number of isochronous packet descriptors
+ /// </summary>
+ /// <remarks>
+ /// <para>The transfer is pre-initialized for you. When the new transfer is no longer needed, it should be freed with <see cref="Free"/>.</para>
+ /// <para>Transfers intended for non-isochronous endpoints (e.g. control, bulk, interrupt) should specify an iso_packets count of zero.</para>
+ /// <para>For transfers intended for isochronous endpoints, specify an appropriate number of packet descriptors to be allocated as part of the transfer. The returned transfer is not specially initialized for isochronous I/O; you are still required to set the <see cref="MonoUsbTransfer.NumIsoPackets"/> and <see cref="MonoUsbTransfer.Type"/> fields accordingly.</para>
+ /// <para>It is safe to allocate a transfer with some isochronous packets and then use it on a non-isochronous endpoint. If you do this, ensure that at time of submission, <see cref="MonoUsbTransfer.NumIsoPackets"/> is 0 and that type is set appropriately.</para>
+ /// </remarks>
+ /// <param name="numIsoPackets">number of isochronous packet descriptors to allocate.</param>
+ public MonoUsbTransfer(int numIsoPackets)
+ {
+ handle = MonoUsbApi.AllocTransfer(numIsoPackets);
+ }
+
+ /// <summary>
+ /// Creates a new wrapper for transfers allocated by <see cref="MonoUsbApi.AllocTransfer"/>,
+ /// </summary>
+ /// <param name="pTransfer">The pointer to the transfer that was previously allocated with<see cref="MonoUsbApi.AllocTransfer"/>. </param>
+ internal MonoUsbTransfer(IntPtr pTransfer)
+ {
+ handle = pTransfer;
+ }
+
+ /// <summary>
+ /// Gets the buffer data pointer.
+ /// </summary>
+ public IntPtr PtrBuffer
+ {
+ get { return Marshal.ReadIntPtr(handle, OfsPtrBuffer); }
+ set { Marshal.WriteIntPtr(handle, OfsPtrBuffer, value); }
+ }
+
+ /// <summary>
+ /// User context data to pass to the callback function.
+ /// </summary>
+ public IntPtr PtrUserData
+ {
+ get { return Marshal.ReadIntPtr(handle, OfsPtrUserData); }
+ set { Marshal.WriteIntPtr(handle, OfsPtrUserData, value); }
+ }
+
+ /// <summary>
+ /// Callback function pointer.
+ /// </summary>
+ /// <remarks>
+ /// The callback function must be declared as a <see cref="MonoUsbTransferDelegate"/>.
+ /// </remarks>
+ public IntPtr PtrCallbackFn
+ {
+ get { return Marshal.ReadIntPtr(handle, OfsPtrCallbackFn); }
+ set { Marshal.WriteIntPtr(handle, OfsPtrCallbackFn, value); }
+ }
+
+ /// <summary>
+ /// Actual length of data that was transferred.
+ /// </summary>
+ public int ActualLength
+ {
+ get { return Marshal.ReadInt32(handle, OfsActualLength); }
+ set { Marshal.WriteInt32(handle, OfsActualLength, value); }
+ }
+
+ /// <summary>
+ /// Length of the data buffer.
+ /// </summary>
+ public int Length
+ {
+ get { return Marshal.ReadInt32(handle, OfsLength); }
+ set { Marshal.WriteInt32(handle, OfsLength, value); }
+ }
+
+ /// <summary>
+ /// The status of the transfer.
+ /// </summary>
+ public MonoUsbTansferStatus Status
+ {
+ get { return (MonoUsbTansferStatus)Marshal.ReadInt32(handle, OfsStatus); }
+ set { Marshal.WriteInt32(handle, OfsStatus, (int)value); }
+ }
+
+ /// <summary>
+ /// Timeout for this transfer in millseconds.
+ /// </summary>
+ public int Timeout
+ {
+ get { return Marshal.ReadInt32(handle, OfsTimeout); }
+ set { Marshal.WriteInt32(handle, OfsTimeout, value); }
+ }
+
+ /// <summary>
+ /// Type of the endpoint.
+ /// </summary>
+ public EndpointType Type
+ {
+ get { return (EndpointType)Marshal.ReadByte(handle, OfsType); }
+ set { Marshal.WriteByte(handle, OfsType, (byte)value); }
+ }
+
+ /// <summary>
+ /// Enpoint address.
+ /// </summary>
+ public byte Endpoint
+ {
+ get { return Marshal.ReadByte(handle, OfsEndpoint); }
+ set { Marshal.WriteByte(handle, OfsEndpoint, value); }
+ }
+
+ /// <summary>
+ /// A bitwise OR combination of <see cref="MonoUsbTransferFlags"/>.
+ /// </summary>
+ public MonoUsbTransferFlags Flags
+ {
+ get { return (MonoUsbTransferFlags)Marshal.ReadByte(handle, OfsFlags); }
+ set { Marshal.WriteByte(handle, OfsFlags, (byte)value); }
+ }
+
+ /// <summary>
+ /// Raw device handle pointer.
+ /// </summary>
+ public IntPtr PtrDeviceHandle
+ {
+ get { return Marshal.ReadIntPtr(handle, OfsPtrDeviceHandle); }
+ set { Marshal.WriteIntPtr(handle, OfsPtrDeviceHandle, value); }
+ }
+
+ /// <summary>
+ /// Number of isochronous packets.
+ /// </summary>
+ public int NumIsoPackets
+ {
+ get { return Marshal.ReadInt32(handle, OfsNumIsoPackets); }
+ set { Marshal.WriteInt32(handle, OfsNumIsoPackets, value); }
+ }
+
+ /// <summary>
+ /// Frees this transfer.
+ /// </summary>
+ ///<remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="Free"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga6ab8b2cff4de9091298a06b2f4b86cd6">libusb_free_transfer()</a>.
+ /// </note>
+ /// <note type="warning">
+ /// Calling <see cref="Free"/> on a transfer that has already been freed will result in a double free.
+ /// </note>
+ /// </remarks>
+ public void Free()
+ {
+ if (handle!=IntPtr.Zero)
+ {
+ MonoUsbApi.FreeTransfer(handle);
+ handle = IntPtr.Zero;
+ }
+ }
+
+ /// <summary>
+ /// Gets a unqiue name for this transfer.
+ /// </summary>
+ /// <returns>A unqiue name for this transfer.</returns>
+ public String UniqueName()
+ {
+ String guidString = String.Format("_-EP[{0}]EP-_", handle);
+ return guidString;
+ }
+
+ /// <summary>
+ /// Gets a <see cref="MonoUsbIsoPacket"/> that represents the specified iso packet descriptor.
+ /// </summary>
+ /// <param name="packetNumber">The iso packet descriptor to return.</param>
+ /// <returns>The <see cref="MonoUsbIsoPacket"/> that represents <paramref name="packetNumber"/>.</returns>
+ public MonoUsbIsoPacket IsoPacket(int packetNumber)
+ {
+ if (packetNumber > NumIsoPackets) throw new ArgumentOutOfRangeException("packetNumber");
+ IntPtr pIsoPacket =
+ new IntPtr(handle.ToInt64() + OfsIsoPackets + (packetNumber * Marshal.SizeOf(typeof(libusb_iso_packet_descriptor))));
+
+ return new MonoUsbIsoPacket(pIsoPacket);
+ }
+
+ /// <summary>
+ /// True if the transfer is allocated.
+ /// </summary>
+ public bool IsInvalid
+ {
+ get
+ {
+ return (handle == IntPtr.Zero);
+ }
+ }
+ /// <summary>
+ /// Cancels this transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="Cancel"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga685eb7731f9a0593f75beb99727bbe54">libusb_cancel_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <returns><see cref="MonoUsbError.Success"/> if the cancel succeeds, otherwise one of the other <see cref="MonoUsbError"/> codes.</returns>
+ public MonoUsbError Cancel()
+ {
+ if (IsInvalid) return MonoUsbError.ErrorNoMem;
+
+ return (MonoUsbError) MonoUsbApi.CancelTransfer(handle);
+ }
+ /// <summary>
+ /// Helper function to populate the required <see cref="MonoUsbTransfer"/> properties for a bulk transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="FillBulk"/> is similar to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gad4ddb1a5c6c7fefc979a44d7300b95d7">libusb_fill_bulk_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="devHandle">handle of the device that will handle the transfer</param>
+ /// <param name="endpoint">address of the endpoint where this transfer will be sent</param>
+ /// <param name="buffer">data buffer</param>
+ /// <param name="length">length of data buffer</param>
+ /// <param name="callback">callback function to be invoked on transfer completion</param>
+ /// <param name="userData">user data to pass to callback function</param>
+ /// <param name="timeout">timeout for the transfer in milliseconds</param>
+ public void FillBulk(MonoUsbDeviceHandle devHandle,
+ byte endpoint,
+ IntPtr buffer,
+ int length,
+ Delegate callback,
+ IntPtr userData,
+ int timeout)
+ {
+ PtrDeviceHandle = devHandle.DangerousGetHandle();
+ Endpoint = endpoint;
+ PtrBuffer = buffer;
+ Length = length;
+ PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(callback);
+ PtrUserData = userData;
+ Timeout = timeout;
+ Type = EndpointType.Bulk;
+ Flags = MonoUsbTransferFlags.None;
+ NumIsoPackets = 0;
+ ActualLength = 0;
+
+
+ }
+
+ /// <summary>
+ /// Helper function to populate the required <see cref="MonoUsbTransfer"/> properties for an interrupt transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="FillInterrupt"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga90f53cea1124a7566df1aa1202b77510">libusb_fill_interrupt_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="devHandle">handle of the device that will handle the transfer</param>
+ /// <param name="endpoint">address of the endpoint where this transfer will be sent</param>
+ /// <param name="buffer">data buffer</param>
+ /// <param name="length">length of data buffer</param>
+ /// <param name="callback">callback function to be invoked on transfer completion</param>
+ /// <param name="userData">user data to pass to callback function</param>
+ /// <param name="timeout">timeout for the transfer in milliseconds</param>
+ public void FillInterrupt(MonoUsbDeviceHandle devHandle,
+ byte endpoint,
+ IntPtr buffer,
+ int length,
+ Delegate callback,
+ IntPtr userData,
+ int timeout)
+ {
+ PtrDeviceHandle = devHandle.DangerousGetHandle();
+ Endpoint = endpoint;
+ PtrBuffer = buffer;
+ Length = length;
+ PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(callback);
+ PtrUserData = userData;
+ Timeout = timeout;
+ Type = EndpointType.Interrupt;
+ Flags = MonoUsbTransferFlags.None;
+ }
+
+ /// <summary>
+ /// Helper function to populate the required <see cref="MonoUsbTransfer"/> properties for an isochronous transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">
+ /// <para>Isochronous transfers are not supported on windows.</para>
+ /// </note>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="FillIsochronous"/> is similar to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga30fdce8c461e851f0aa4c851014e1aa7">libusb_fill_iso_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="devHandle">handle of the device that will handle the transfer</param>
+ /// <param name="endpoint">address of the endpoint where this transfer will be sent</param>
+ /// <param name="buffer">data buffer</param>
+ /// <param name="length">length of data buffer</param>
+ /// <param name="numIsoPackets">the number of isochronous packets</param>
+ /// <param name="callback">callback function to be invoked on transfer completion</param>
+ /// <param name="userData">user data to pass to callback function</param>
+ /// <param name="timeout">timeout for the transfer in milliseconds</param>
+ public void FillIsochronous(MonoUsbDeviceHandle devHandle,
+ byte endpoint,
+ IntPtr buffer,
+ int length,int numIsoPackets,
+ Delegate callback,
+ IntPtr userData,
+ int timeout)
+ {
+ PtrDeviceHandle = devHandle.DangerousGetHandle();
+ Endpoint = endpoint;
+ PtrBuffer = buffer;
+ Length = length;
+ PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(callback);
+ PtrUserData = userData;
+ Timeout = timeout;
+ Type = EndpointType.Isochronous;
+ Flags = MonoUsbTransferFlags.None;
+ NumIsoPackets = numIsoPackets;
+ }
+
+ /// <summary>
+ /// Convenience function to locate the position of an isochronous packet within the buffer of an isochronous transfer.
+ /// </summary>
+ /// <remarks>
+ /// <para>This is a thorough function which loops through all preceding packets, accumulating their lengths to find the position of the specified packet. Typically you will assign equal lengths to each packet in the transfer, and hence the above method is sub-optimal. You may wish to use <see cref="GetIsoPacketBufferSimple"/> instead.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="GetIsoPacketBuffer"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga7f6ea0eb35a216d19d984977e454a7b3">libusb_get_iso_packet_buffer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="packet">The packet to return the address of.</param>
+ /// <returns>the base address of the packet buffer inside the transfer buffer.</returns>
+ /// <exception cref="ArgumentOutOfRangeException">This exception is thrown if the packet requested is >= <see cref="NumIsoPackets"/>.</exception>
+ public IntPtr GetIsoPacketBuffer(int packet)
+ {
+ if (packet >= NumIsoPackets) throw new ArgumentOutOfRangeException("packet", "GetIsoPacketBuffer: packet must be < NumIsoPackets");
+ long offset = PtrBuffer.ToInt64();
+
+ for (int i = 0; i < packet; i++)
+ offset += IsoPacket(i).Length;
+
+ return new IntPtr(offset);
+ }
+
+ /// <summary>
+ /// Convenience function to locate the position of an isochronous packet within the buffer of an isochronous transfer, for transfers where each packet is of identical size.
+ /// </summary>
+ /// <remarks>
+ /// <para>This function relies on the assumption that every packet within the transfer is of identical size to the first packet. Calculating the location of the packet buffer is then just a simple calculation: buffer + (packet_size * packet)</para>
+ /// <para>Do not use this function on transfers other than those that have identical packet lengths for each packet.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="GetIsoPacketBufferSimple"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga3df9a28c4f5c8f1850181ddb5efd12fd">libusb_get_iso_packet_buffer_simple()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="packet">The packet to return the address of.</param>
+ /// <returns>the base address of the packet buffer inside the transfer buffer.</returns>
+ /// <exception cref="ArgumentOutOfRangeException">This exception is thrown if the packet requested is >= <see cref="NumIsoPackets"/>.</exception>
+ public IntPtr GetIsoPacketBufferSimple(int packet)
+ {
+ if (packet >= NumIsoPackets) throw new ArgumentOutOfRangeException("packet", "GetIsoPacketBufferSimple: packet must be < NumIsoPackets");
+
+ return new IntPtr((PtrBuffer.ToInt64() + (IsoPacket(0).Length * packet)));
+
+ }
+
+ /// <summary>
+ /// Convenience function to set the length of all packets in an isochronous transfer, based on the num_iso_packets field in the transfer structure.
+ /// </summary>
+ /// <remarks>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="SetIsoPacketLengths"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gacbdecd6f50093f0c1d0e72ee35ace274">libusb_set_iso_packet_lengths()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="length">The length to set in each isochronous packet descriptor.</param>
+ public void SetIsoPacketLengths(int length)
+ {
+ int packetCount = NumIsoPackets;
+ for (int i = 0; i < packetCount; i++)
+ IsoPacket(i).Length = length;
+
+ }
+ /// <summary>
+ /// Submits this transfer.
+ /// </summary>
+ /// <remarks>
+ /// This functions submits the USB transfer and return immediately.
+ /// <note>
+ /// <see cref="Submit"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#gabb0932601f2c7dad2fee4b27962848ce">libusb_submit_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <returns>
+ /// <see cref="MonoUsbError.Success"/> if the submit succeeds,
+ /// otherwise one of the other <see cref="MonoUsbError"/> codes.
+ /// </returns>
+ public MonoUsbError Submit()
+ {
+ if (IsInvalid) return MonoUsbError.ErrorNoMem;
+ return (MonoUsbError)MonoUsbApi.SubmitTransfer(handle);
+ }
+
+ /// <summary>
+ /// Allocate a libusb transfer with a specified number of isochronous packet descriptors
+ /// </summary>
+ /// <remarks>
+ /// <para>The returned transfer is pre-initialized for you. When the new transfer is no longer needed, it should be freed with <see cref="Free"/>.</para>
+ /// <para>Transfers intended for non-isochronous endpoints (e.g. control, bulk, interrupt) should specify an iso_packets count of zero.</para>
+ /// <para>For transfers intended for isochronous endpoints, specify an appropriate number of packet descriptors to be allocated as part of the transfer. The returned transfer is not specially initialized for isochronous I/O; you are still required to set the <see cref="MonoUsbTransfer.NumIsoPackets"/> and <see cref="MonoUsbTransfer.Type"/> fields accordingly.</para>
+ /// <para>It is safe to allocate a transfer with some isochronous packets and then use it on a non-isochronous endpoint. If you do this, ensure that at time of submission, <see cref="MonoUsbTransfer.NumIsoPackets"/> is 0 and that type is set appropriately.</para>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="Alloc"/> is roughly equivalent to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga13cc69ea40c702181c430c950121c000">libusb_alloc_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="numIsoPackets">number of isochronous packet descriptors to allocate.</param>
+ /// <returns>A newly allocated <see cref="MonoUsbTransfer"/>.</returns>
+ /// <exception cref="OutOfMemoryException">If the transfer was not allocated.</exception>
+ public static MonoUsbTransfer Alloc(int numIsoPackets)
+ {
+ IntPtr p = MonoUsbApi.AllocTransfer(numIsoPackets);
+ if (p == IntPtr.Zero) throw new OutOfMemoryException("AllocTransfer");
+ return new MonoUsbTransfer(p);
+ }
+
+ /// <summary>
+ /// Helper function to populate the required <see cref="MonoUsbTransfer"/> properties for a control transfer.
+ /// </summary>
+ /// <remarks>
+ /// <note type="tip">
+ /// <para>Isochronous transfers are not supported on windows.</para>
+ /// </note>
+ /// <note title="Libusb-1.0 API Note:" type="cpp">
+ /// <see cref="FillControl"/> is similar to
+ /// <a href="http://libusb.sourceforge.net/api-1.0/group__asyncio.html#ga3a8513ed87229fe2c9771ef0bf17206e">libusb_fill_control_transfer()</a>.
+ /// </note>
+ /// </remarks>
+ /// <param name="devHandle">handle of the device that will handle the transfer</param>
+ /// <param name="controlSetupHandle">the setup packet/control data to transfer.</param>
+ /// <param name="callback">callback function to be invoked on transfer completion</param>
+ /// <param name="userData">user data to pass to callback function</param>
+ /// <param name="timeout">timeout for the transfer in milliseconds</param>
+ public void FillControl(MonoUsbDeviceHandle devHandle, MonoUsbControlSetupHandle controlSetupHandle, Delegate callback, IntPtr userData, int timeout)
+ {
+ PtrDeviceHandle = devHandle.DangerousGetHandle();
+ Endpoint = 0;
+ PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(callback);
+ PtrUserData = userData;
+ Timeout = timeout;
+ Type = EndpointType.Control;
+ Flags = MonoUsbTransferFlags.None;
+
+ IntPtr pSetupPacket = controlSetupHandle.DangerousGetHandle();
+ PtrBuffer = pSetupPacket;
+ MonoUsbControlSetup w = new MonoUsbControlSetup(pSetupPacket);
+ Length = MonoUsbControlSetup.SETUP_PACKET_SIZE + w.Length;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferContext.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferContext.cs
new file mode 100644
index 00000000..c8b466bf
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferContext.cs
@@ -0,0 +1,232 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Threading;
+using LibUsbDotNet.Main;
+using MonoLibUsb;
+using MonoLibUsb.Transfer;
+
+namespace LibUsbDotNet.LudnMonoLibUsb.Internal
+{
+ internal class MonoUsbTransferContext : UsbTransfer, IDisposable
+ {
+ private bool mOwnsTransfer;
+
+ private static readonly MonoUsbTransferDelegate mMonoUsbTransferCallbackDelegate = TransferCallback;
+ private GCHandle mCompleteEventHandle;
+ private MonoUsbTransfer mTransfer;
+
+ public MonoUsbTransferContext(UsbEndpointBase endpointBase)
+ : base(endpointBase)
+ {
+ }
+
+ #region IDisposable Members
+
+ public new void Dispose()
+ {
+ freeTransfer();
+ }
+
+ #endregion
+ private void allocTransfer(UsbEndpointBase endpointBase, bool ownsTransfer, int isoPacketSize, int count)
+ {
+ int numIsoPackets = 0;
+ if (isoPacketSize > 0)
+ numIsoPackets = count/isoPacketSize;
+ freeTransfer();
+ mTransfer = MonoUsbTransfer.Alloc(numIsoPackets);
+ mOwnsTransfer = ownsTransfer;
+ mTransfer.Type = endpointBase.Type;
+ mTransfer.Endpoint = endpointBase.EpNum;
+ mTransfer.NumIsoPackets = numIsoPackets;
+
+ if (!mCompleteEventHandle.IsAllocated)
+ mCompleteEventHandle = GCHandle.Alloc(mTransferCompleteEvent);
+ mTransfer.PtrUserData = GCHandle.ToIntPtr(mCompleteEventHandle);
+
+ if (numIsoPackets > 0)
+ mTransfer.SetIsoPacketLengths(isoPacketSize);
+
+
+ }
+ private void freeTransfer()
+ {
+ if (mTransfer.IsInvalid || mOwnsTransfer == false) return;
+ mTransferCancelEvent.Set();
+ mTransferCompleteEvent.WaitOne(200, UsbConstants.EXIT_CONTEXT);
+ mTransfer.Free();
+
+ if (mCompleteEventHandle.IsAllocated)
+ mCompleteEventHandle.Free();
+
+
+ }
+
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="UsbTransfer.Submit"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ public override void Fill(IntPtr buffer, int offset, int count, int timeout)
+ {
+ allocTransfer(EndpointBase, true, 0, count);
+
+ base.Fill(buffer, offset, count, timeout);
+
+ mTransfer.Timeout = timeout;
+ mTransfer.PtrDeviceHandle = EndpointBase.Handle.DangerousGetHandle();
+
+ mTransfer.PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(mMonoUsbTransferCallbackDelegate);
+
+ mTransfer.Type = EndpointBase.Type;
+ mTransfer.Endpoint = EndpointBase.EpNum;
+
+ mTransfer.ActualLength = 0;
+ mTransfer.Status = 0;
+ mTransfer.Flags = MonoUsbTransferFlags.None;
+ }
+
+ /// <summary>
+ /// Fills the transfer with the data to <see cref="UsbTransfer.Submit"/> an isochronous transfer.
+ /// </summary>
+ /// <param name="buffer">The buffer.</param>
+ /// <param name="offset">The offset on the buffer where the transfer should read/write.</param>
+ /// <param name="count">The number of bytes to transfer.</param>
+ /// <param name="timeout">Time (milliseconds) to wait before the transfer times out.</param>
+ /// <param name="isoPacketSize">Size of each isochronous packet.</param>
+ public override void Fill(IntPtr buffer, int offset, int count, int timeout, int isoPacketSize)
+ {
+ allocTransfer(EndpointBase, true, isoPacketSize, count);
+
+ base.Fill(buffer, offset, count, timeout, isoPacketSize);
+
+ mTransfer.Timeout = timeout;
+ mTransfer.PtrDeviceHandle = EndpointBase.Handle.DangerousGetHandle();
+
+ mTransfer.PtrCallbackFn = Marshal.GetFunctionPointerForDelegate(mMonoUsbTransferCallbackDelegate);
+
+ mTransfer.Type = EndpointBase.Type;
+ mTransfer.Endpoint = EndpointBase.EpNum;
+
+ mTransfer.ActualLength = 0;
+ mTransfer.Status = 0;
+ mTransfer.Flags = MonoUsbTransferFlags.None;
+ }
+ // Clean up the globally allocated memory.
+
+ ~MonoUsbTransferContext() { Dispose(); }
+
+ /// <summary>
+ /// Submits the transfer.
+ /// </summary>
+ /// <remarks>
+ /// This functions submits the USB transfer and return immediately.
+ /// </remarks>
+ /// <returns>
+ /// <see cref="ErrorCode.Success"/> if the submit succeeds,
+ /// otherwise one of the other <see cref="ErrorCode"/> codes.
+ /// </returns>
+ public override ErrorCode Submit()
+ {
+ if (mTransferCancelEvent.WaitOne(0, false)) return ErrorCode.IoCancelled;
+
+ if (!mTransferCompleteEvent.WaitOne(0, UsbConstants.EXIT_CONTEXT)) return ErrorCode.ResourceBusy;
+
+ mTransfer.PtrBuffer = NextBufPtr;
+ mTransfer.Length = RequestCount;
+
+ mTransferCompleteEvent.Reset();
+
+ int ret = (int)mTransfer.Submit();
+ if (ret < 0)
+ {
+ mTransferCompleteEvent.Set();
+ UsbError usbErr = UsbError.Error(ErrorCode.MonoApiError, ret, "SubmitTransfer", EndpointBase);
+ return usbErr.ErrorCode;
+ }
+
+ return ErrorCode.Success;
+ }
+
+ /// <summary>
+ /// Wait for the transfer to complete, timeout, or get cancelled.
+ /// </summary>
+ /// <param name="transferredCount">The number of bytes transferred on <see cref="ErrorCode.Success"/>.</param>
+ /// <param name="cancel">Not used for libusb-1.0. Transfers are always cancelled on timeout or error.</param>
+ /// <returns><see cref="ErrorCode.Success"/> if the transfer completes successfully, otherwise one of the other <see cref="ErrorCode"/> codes.</returns>
+ public override ErrorCode Wait(out int transferredCount, bool cancel)
+ {
+ transferredCount = 0;
+ int ret = 0;
+ MonoUsbError monoError;
+ ErrorCode ec;
+
+ int iWait = WaitHandle.WaitAny(new WaitHandle[] {mTransferCompleteEvent, mTransferCancelEvent},
+ Timeout.Infinite,
+ UsbConstants.EXIT_CONTEXT);
+ switch (iWait)
+ {
+ case 0: // TransferCompleteEvent
+
+ if (mTransfer.Status == MonoUsbTansferStatus.TransferCompleted)
+ {
+ transferredCount = mTransfer.ActualLength;
+ return ErrorCode.Success;
+ }
+
+ string s;
+ monoError = MonoUsbApi.MonoLibUsbErrorFromTransferStatus(mTransfer.Status);
+ ec = MonoUsbApi.ErrorCodeFromLibUsbError((int)monoError, out s);
+ UsbError.Error(ErrorCode.MonoApiError, (int)monoError, "Wait:" + s, EndpointBase);
+ return ec;
+ case 1: // TransferCancelEvent
+ ret = (int)mTransfer.Cancel();
+ bool bTransferComplete = mTransferCompleteEvent.WaitOne(100, UsbConstants.EXIT_CONTEXT);
+ mTransferCompleteEvent.Set();
+
+ if (ret != 0 || !bTransferComplete)
+ {
+ ec = ret == 0 ? ErrorCode.CancelIoFailed : ErrorCode.MonoApiError;
+ UsbError.Error(ec, ret, String.Format("Wait:Unable to cancel transfer or the transfer did not return after it was cancelled. Cancelled:{0} TransferCompleted:{1}", (MonoUsbError)ret, bTransferComplete), EndpointBase);
+ return ec;
+ }
+ return ErrorCode.IoCancelled;
+ default: // Critical failure timeout
+ mTransfer.Cancel();
+ ec = ((EndpointBase.mEpNum & (byte)UsbCtrlFlags.Direction_In) > 0) ? ErrorCode.ReadFailed : ErrorCode.WriteFailed;
+ mTransferCompleteEvent.Set();
+ UsbError.Error(ec, ret, String.Format("Wait:Critical timeout failure! The transfer callback function was not called within the allotted time."), EndpointBase);
+ return ec;
+ }
+ }
+
+ private static void TransferCallback(MonoUsbTransfer pTransfer)
+ {
+ ManualResetEvent completeEvent = GCHandle.FromIntPtr(pTransfer.PtrUserData).Target as ManualResetEvent;
+ completeEvent.Set();
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferFlags.cs b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferFlags.cs
new file mode 100644
index 00000000..e4b7c554
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/Transfer/MonoUsbTransferFlags.cs
@@ -0,0 +1,51 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace MonoLibUsb.Transfer
+{
+ /// <summary>
+ /// Transfer flags.
+ /// </summary>
+ public enum MonoUsbTransferFlags : byte
+ {
+ /// <summary>
+ /// No transfer flags.
+ /// </summary>
+ None = 0,
+ /// <summary>
+ /// Report short frames as errors
+ /// </summary>
+ TransferShortNotOk = 1 << 0,
+
+ /// <summary>
+ /// Automatically free() transfer buffer during <see cref ="MonoUsbTransfer.Free">MonoUsbTransfer.Free()</see>.
+ /// </summary>
+ TransferFreeBuffer = 1 << 1,
+
+ /// <summary>
+ /// Automatically call <see cref ="MonoUsbTransfer.Free">MonoUsbTransfer.Free()</see> after callback returns.
+ /// </summary>
+ /// <remakrks>
+ /// <para>If this flag is set, it is illegal to call <see cref ="MonoUsbTransfer.Free"/> from your transfer callback, as this will result in a double-free when this flag is acted upon.</para>
+ /// </remakrks>
+ TransferFreeTransfer = 1 << 2,
+ } ;
+} \ No newline at end of file
diff --git a/LibWinUsb/MonoLibUsb/UnixNativeTimeval.cs b/LibWinUsb/MonoLibUsb/UnixNativeTimeval.cs
new file mode 100644
index 00000000..94860906
--- /dev/null
+++ b/LibWinUsb/MonoLibUsb/UnixNativeTimeval.cs
@@ -0,0 +1,69 @@
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace MonoLibUsb
+{
+ /// <summary>
+ /// Unix mono.net timeval structure.
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential)]
+ public struct UnixNativeTimeval
+ {
+ private IntPtr mTvSecInternal;
+ private IntPtr mTvUSecInternal;
+
+ /// <summary>
+ /// Default <see cref="UnixNativeTimeval"/> used by the <see cref="MonoUsbEventHandler"/> on windows platforms.
+ /// </summary>
+ public static UnixNativeTimeval WindowsDefault
+ {
+ get { return new UnixNativeTimeval(2, 0); }
+ }
+
+ /// <summary>
+ /// Default <see cref="UnixNativeTimeval"/> used by the <see cref="MonoUsbEventHandler"/> on unix-like platforms.
+ /// </summary>
+ public static UnixNativeTimeval LinuxDefault
+ {
+ get { return new UnixNativeTimeval(2, 0); }
+ }
+
+ /// <summary>
+ /// Default <see cref="UnixNativeTimeval"/>.
+ /// </summary>
+ public static UnixNativeTimeval Default
+ {
+ get { return Helper.IsLinux ? LinuxDefault : WindowsDefault; }
+ }
+
+ /// <summary>
+ /// Timeval seconds property.
+ /// </summary>
+ public long tv_sec
+ {
+ get { return mTvSecInternal.ToInt64(); }
+ set { mTvSecInternal = new IntPtr(value); }
+ }
+
+ /// <summary>
+ /// Timeval milliseconds property.
+ /// </summary>
+ public long tv_usec
+ {
+ get { return mTvUSecInternal.ToInt64(); }
+ set { mTvUSecInternal = new IntPtr(value); }
+ }
+
+ /// <summary>
+ /// Timeval constructor.
+ /// </summary>
+ /// <param name="tvSec">seconds</param>
+ /// <param name="tvUsec">milliseconds</param>
+ public UnixNativeTimeval(long tvSec, long tvUsec)
+ {
+ mTvSecInternal = new IntPtr(tvSec);
+ mTvUSecInternal = new IntPtr(tvUsec);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbDevice.Common.cs b/LibWinUsb/UsbDevice.Common.cs
new file mode 100644
index 00000000..95ba24ee
--- /dev/null
+++ b/LibWinUsb/UsbDevice.Common.cs
@@ -0,0 +1,249 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.LibUsb;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.LudnMonoLibUsb;
+using LibUsbDotNet.WinUsb.Internal;
+using Debug=System.Diagnostics.Debug;
+
+namespace LibUsbDotNet
+{
+ public abstract partial class UsbDevice
+ {
+ private static LibUsbAPI _libUsbApi;
+ private static WinUsbAPI _winUsbApi;
+ private static object mHasWinUsbDriver;
+ private static object mHasLibUsbWinBackDriver;
+
+ private static LibUsbKernelType mLibUsbKernelType;
+ private static UsbKernelVersion mUsbKernelVersion;
+
+ /// <summary>
+ /// Gets a list of all available USB devices (WinUsb, LibUsb, Linux LibUsb v1.x).
+ /// </summary>
+ /// <remarks>
+ /// Use this property to get a list of USB device that can be accessed by LibUsbDotNet.
+ /// Using this property as opposed to <see cref="AllLibUsbDevices"/> and <see cref="AllWinUsbDevices"/>
+ /// will ensure your source code is platform-independent.
+ /// </remarks>
+ public static UsbRegDeviceList AllDevices
+ {
+ get
+ {
+ UsbRegDeviceList regDevReturnList = new UsbRegDeviceList();
+
+ UsbRegDeviceList winUsbList = AllWinUsbDevices;
+ foreach (UsbRegistry winUsbRegistry in winUsbList)
+ regDevReturnList.Add(winUsbRegistry);
+
+ UsbRegDeviceList libUsbList = AllLibUsbDevices;
+ foreach (UsbRegistry libUsbRegistry in libUsbList)
+ regDevReturnList.Add(libUsbRegistry);
+
+ return regDevReturnList;
+ }
+ }
+
+ /// <summary>
+ /// Gets a list of all available libusb-win32 USB devices.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// On windows, gets a list of libusb-win32 USB devices . If <see cref="ForceLibUsbWinBack"/>
+ /// is true, gets a list of libusb-1.0 devices.
+ /// </para>
+ /// <para>
+ /// On linux/mac, gets a list of libusb-1.0 devices.
+ /// </para>
+ /// </remarks>
+ public static UsbRegDeviceList AllLibUsbDevices
+ {
+ get
+ {
+ UsbRegDeviceList regDevList = new UsbRegDeviceList();
+ if (HasLibUsbWinBackDriver && ForceLibUsbWinBack)
+ {
+ List<MonoUsbDevice> deviceList = MonoUsbDevice.MonoUsbDeviceList;
+ foreach (MonoUsbDevice usbDevice in deviceList)
+ {
+ regDevList.Add(new LegacyUsbRegistry(usbDevice));
+ }
+ }
+ else
+ {
+ if (!ForceLegacyLibUsb && KernelType == LibUsbKernelType.NativeLibUsb)
+ {
+ List<LibUsbRegistry> libUsbRegistry = LibUsbRegistry.DeviceList;
+ foreach (LibUsbRegistry usbRegistry in libUsbRegistry)
+ regDevList.Add(usbRegistry);
+ }
+ else
+ {
+ List<LegacyUsbRegistry> libUsbRegistry = LegacyUsbRegistry.DeviceList;
+ foreach (LegacyUsbRegistry usbRegistry in libUsbRegistry)
+ regDevList.Add(usbRegistry);
+ }
+ }
+ return regDevList;
+ }
+ }
+
+ /// <summary>
+ /// Returns the last error number reported by LibUsbDotNet.
+ /// </summary>
+ public static int LastErrorNumber
+ {
+ get { return UsbError.mLastErrorNumber; }
+ }
+
+ /// <summary>
+ /// Returns the last error string reported by LibUsbDotNet.
+ /// </summary>
+ public static string LastErrorString
+ {
+ get { return UsbError.mLastErrorString; }
+ }
+
+ internal static LibUsbAPI LibUsbApi
+ {
+ get
+ {
+ if (ReferenceEquals(_libUsbApi, null))
+ _libUsbApi = new LibUsbAPI();
+ return _libUsbApi;
+ }
+ }
+
+ internal static WinUsbAPI WinUsbApi
+ {
+ get
+ {
+ if (ReferenceEquals(_winUsbApi, null))
+ _winUsbApi = new WinUsbAPI();
+ return _winUsbApi;
+ }
+ }
+
+
+
+ /// <summary>
+ /// Opens the usb device that matches the <see cref="UsbDeviceFinder"/>.
+ /// </summary>
+ /// <param name="usbDeviceFinder">The <see cref="UsbDeviceFinder"/> class used to find the usb device.</param>
+ /// <returns>An valid/open usb device class if the device was found or Null if the device was not found.</returns>
+ public static UsbDevice OpenUsbDevice(UsbDeviceFinder usbDeviceFinder)
+ {
+ return OpenUsbDevice((Predicate<UsbRegistry>) usbDeviceFinder.Check);
+ }
+
+ /// <summary>
+ /// Opens the usb device that matches the find predicate.
+ /// </summary>
+ /// <param name="findDevicePredicate">The predicate function used to find the usb device.</param>
+ /// <returns>An valid/open usb device class if the device was found or Null if the device was not found.</returns>
+ public static UsbDevice OpenUsbDevice(Predicate<UsbRegistry> findDevicePredicate)
+ {
+ UsbDevice usbDeviceFound;
+
+ UsbRegDeviceList allDevices = AllDevices;
+ UsbRegistry regDeviceFound = allDevices.Find(findDevicePredicate);
+
+ if (ReferenceEquals(regDeviceFound, null)) return null;
+
+ usbDeviceFound = regDeviceFound.Device;
+
+ return usbDeviceFound;
+ }
+
+ /// <summary>
+ /// Opens a WinUsb device by its DeviceInterfaceGUID.
+ /// </summary>
+ /// <remarks>
+ /// This is the Microsoft-recommended way for opening a WinUsb device.
+ /// LibUsb device can be opened in this way as well. In order to open
+ /// LibUsb devices in this manner, an entry must be added to the driver
+ /// inf file:
+ /// <para>[Install.HW]</para>
+ /// <para>Addreg=Add_LibUsb_Guid_Reg</para>
+ /// <para>[Add_LibUsb_Guid_Reg]</para>
+ /// <para>HKR,,LibUsbInterfaceGUIDs,0x10000,"{Your-Unique-Guid-String}"</para>
+ /// </remarks>
+ /// <param name="devInterfaceGuid">Device Interface GUID of the usb device to open.</param>
+ /// <param name="usbDevice">On success, a new <see cref="UsbDevice"/> instance.</param>
+ /// <returns>True on success.</returns>
+ public static bool OpenUsbDevice(ref Guid devInterfaceGuid, out UsbDevice usbDevice)
+ {
+ usbDevice = null;
+ UsbRegDeviceList usbRegDevices = AllDevices;
+ foreach (UsbRegistry usbRegistry in usbRegDevices)
+ {
+ foreach (Guid guid in usbRegistry.DeviceInterfaceGuids)
+ {
+ if (guid == devInterfaceGuid)
+ {
+ usbDevice = usbRegistry.Device;
+ if (usbDevice != null) return true;
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /// <summary>
+ /// Global static error event for all Usb errors.
+ /// </summary>
+ /// <example>
+ /// Sample code to reset an endpoint if a critical error occurs.
+ /// <code>
+ /// // Hook the usb error handler function
+ /// UsbGlobals.UsbErrorEvent += UsbErrorEvent;
+ ///private void UsbErrorEvent(object sender, UsbError e)
+ ///{
+ /// // If the error is from a usb endpoint
+ /// if (sender is UsbEndpointBase)
+ /// {
+ /// // If the endpoint transfer failed
+ /// if (e.Win32ErrorNumber == 31)
+ /// {
+ /// // If the USB device is still open, connected, and valid
+ /// if (usb.IsOpen)
+ /// {
+ /// // Try to reset then endpoint
+ /// if (((UsbEndpointBase) sender).Reset())
+ /// {
+ /// // Endpoint reset successful.
+ /// // Tell LibUsbDotNet to ignore this error and continue.
+ /// e.Handled = true;
+ /// }
+ /// }
+ /// }
+ /// }
+ /// }
+ /// </code>
+ /// </example>
+ public static event EventHandler<UsbError> UsbErrorEvent;
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbDevice.Error.cs b/LibWinUsb/UsbDevice.Error.cs
new file mode 100644
index 00000000..733660f6
--- /dev/null
+++ b/LibWinUsb/UsbDevice.Error.cs
@@ -0,0 +1,166 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Main;
+using MonoLibUsb;
+
+namespace LibUsbDotNet
+{
+ partial class UsbDevice
+ {
+ internal static void FireUsbError(object sender, UsbError usbError)
+ {
+ EventHandler<UsbError> temp = UsbErrorEvent;
+ if (!ReferenceEquals(null, temp))
+ temp(sender, usbError);
+ }
+ }
+
+ /// <summary> Describes a Usb error or setup API error.
+ /// </summary>
+ public class UsbError : EventArgs
+ {
+ internal static int mLastErrorNumber;
+ internal static string mLastErrorString = String.Empty;
+
+ ///// <summary>
+ ///// The the error is <see cref="Handled"/> field is set to true for errors resulting from endpoint read/write errors. The operation will retry instead of exiting with an error code.
+ ///// </summary>
+ //public bool Handled;
+
+ internal string mDescription;
+
+ internal ErrorCode mErrorCode;
+ private object mSender;
+ internal int mWin32ErrorNumber;
+ internal string mWin32ErrorString = "None";
+
+ internal UsbError(ErrorCode errorCode, int win32ErrorNumber, string win32ErrorString, string description, object sender)
+ {
+ mSender = sender;
+ string senderText = String.Empty;
+ if ((mSender is UsbEndpointBase)|| (mSender is UsbTransfer))
+ {
+ UsbEndpointBase ep;
+ if (mSender is UsbTransfer)
+ ep = ((UsbTransfer)mSender).EndpointBase;
+ else
+ ep = mSender as UsbEndpointBase;
+
+ if (ep.mEpNum != 0)
+ {
+
+ senderText = senderText+=string.Format(" Ep 0x{0:X2} ", ep.mEpNum);
+ }
+ }
+ else if (mSender is Type)
+ {
+ Type t = mSender as Type;
+ senderText = senderText += string.Format(" {0} ", t.Name);
+ }
+ mErrorCode = errorCode;
+ mWin32ErrorNumber = win32ErrorNumber;
+ mWin32ErrorString = win32ErrorString;
+ mDescription = description + senderText;
+ }
+
+ /// <summary>
+ /// The sender of the exception.
+ /// </summary>
+ public object Sender
+ {
+ get { return mSender; }
+ }
+
+ /// <summary>
+ /// Gets the general errorcode.
+ /// </summary>
+ public ErrorCode ErrorCode
+ {
+ get { return mErrorCode; }
+ }
+
+ /// <summary>
+ /// Gets the Windows specific error number. Only valid when <see cref="ErrorCode"/> is set to <see cref="Main.ErrorCode"/>.<see cref="Main.ErrorCode.Win32Error"/>.
+ /// </summary>
+ public int Win32ErrorNumber
+ {
+ get { return mWin32ErrorNumber; }
+ }
+
+ /// <summary>
+ /// Gets the general description for the error.
+ /// </summary>
+ public string Description
+ {
+ get { return mDescription; }
+ }
+
+ /// <summary>
+ /// Gets the Windows specific error string. Only valid when <see cref="ErrorCode"/> is set to <see cref="Main.ErrorCode"/>.<see cref="Main.ErrorCode.Win32Error"/>.
+ /// </summary>
+ public string Win32ErrorString
+ {
+ get { return mWin32ErrorString; }
+ }
+
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="UsbError"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="UsbError"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ if (Win32ErrorNumber != 0)
+ {
+ return String.Format("{0}:{1}\r\n{2}:{3}", ErrorCode, Description, Win32ErrorNumber, mWin32ErrorString);
+ }
+ return String.Format("{0}:{1}", ErrorCode, Description);
+ }
+
+ internal static UsbError Error(ErrorCode errorCode, int ret, string description, object sender)
+ {
+ string win32Error = String.Empty;
+ if (errorCode == ErrorCode.Win32Error && !UsbDevice.IsLinux && ret != 0)
+ {
+ win32Error = Kernel32.FormatSystemMessage(ret);
+ }
+ else if (errorCode == ErrorCode.MonoApiError && ret != 0)
+ {
+ win32Error = ((MonoUsbError) ret) + ":" + MonoUsbApi.StrError((MonoUsbError) ret);
+ }
+ UsbError err = new UsbError(errorCode, ret, win32Error, description, sender);
+ lock (mLastErrorString)
+ {
+ mLastErrorNumber = (int) err.ErrorCode;
+ mLastErrorString = err.ToString();
+ }
+ UsbDevice.FireUsbError(sender, err);
+
+ return err;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbDevice.OS.Specific.cs b/LibWinUsb/UsbDevice.OS.Specific.cs
new file mode 100644
index 00000000..f8120d0f
--- /dev/null
+++ b/LibWinUsb/UsbDevice.OS.Specific.cs
@@ -0,0 +1,291 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Internal.LibUsb;
+using LibUsbDotNet.LibUsb;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.LudnMonoLibUsb;
+using LibUsbDotNet.WinUsb;
+using MonoLibUsb;
+
+namespace LibUsbDotNet
+{
+ public abstract partial class UsbDevice
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ private static readonly bool ForceLegacyLibUsb = IsLinux;
+
+ /// <summary>
+ /// Setting this field to <see langword="true"/> will force <see cref="LibUsbDotNet"/> to use the <a href="http://www.libusb.org/wiki/windows_backend">Libusb-1.0 Windows-backend driver.</a> For platforms other than windows, this setting has no effect.
+ /// </summary>
+ /// <remarks>
+ /// If this is <see langword="true"/>, <see cref="AllDevices"/> will return only <see cref="MonoUsbDevice"/>s in the list.
+ /// </remarks>
+ public static bool ForceLibUsbWinBack = false;
+
+
+ /// <summary>
+ /// Gets a list of all available WinUSB USB devices.
+ /// </summary>
+ /// <remarks>
+ /// On windows, gets a list of WinUSB devices. On linux always returns null.
+ /// <para>
+ /// Using the <see cref="AllDevices"/> property instead will ensure your source code is platform-independent.
+ /// </para>
+ /// </remarks>
+ public static UsbRegDeviceList AllWinUsbDevices
+ {
+ get
+ {
+ UsbRegDeviceList regDevList = new UsbRegDeviceList();
+ if (IsLinux || ForceLibUsbWinBack) return regDevList;
+
+ if (HasWinUsbDriver)
+ {
+ List<WinUsbRegistry> winUsbRegistry = WinUsbRegistry.DeviceList;
+ foreach (WinUsbRegistry usbRegistry in winUsbRegistry)
+ regDevList.Add(usbRegistry);
+ }
+
+ return regDevList;
+ }
+ }
+
+ /// <summary>
+ /// True if the LibUsb driver is found on the system.
+ /// </summary>
+ [Obsolete("Always returns true")]
+ public static bool HasLibUsbDriver
+ {
+ get
+ {
+ return true;
+ }
+ }
+ /*
+ public static bool HasLibUsbDriver
+ {
+ get
+ {
+ if (mHasLibUsbDriver == null)
+ {
+ if (IsLinux)
+ {
+ mHasLibUsbDriver = true;
+ }
+ else
+ {
+ mHasLibUsbDriver = false;
+ string sysDriver = Path.Combine(Environment.SystemDirectory, "drivers");
+ DirectoryInfo diSysDriver = new DirectoryInfo(sysDriver);
+ if (diSysDriver.Exists)
+ {
+ FileInfo[] libUsbSysFileInfo = diSysDriver.GetFiles(LIBUSB_SYS);
+ if (libUsbSysFileInfo.Length > 0)
+ mHasLibUsbDriver = true;
+ }
+ }
+ }
+ return (bool) mHasLibUsbDriver;
+ }
+ }
+ */
+
+ /// <summary>
+ /// True if the WinUSB API is available.
+ /// </summary>
+ /// <remarks>
+ /// </remarks>
+ public static bool HasWinUsbDriver
+ {
+ get
+ {
+ if (mHasWinUsbDriver == null)
+ {
+ if (IsLinux)
+ {
+ mHasWinUsbDriver = false;
+ }
+ else
+ {
+ try
+ {
+ WinUsb.Internal.WinUsbAPI.WinUsb_Free(IntPtr.Zero);
+ mHasWinUsbDriver = true;
+ }
+ catch (Exception)
+ {
+ mHasWinUsbDriver = false;
+
+ }
+ }
+ }
+ return (bool) mHasWinUsbDriver;
+ }
+ }
+
+ /// <summary>
+ /// True if the libusb-1.0 API is available.
+ /// </summary>
+ public static bool HasLibUsbWinBackDriver
+ {
+ get
+ {
+ if (mHasLibUsbWinBackDriver == null)
+ {
+ if (IsLinux)
+ {
+ mHasLibUsbWinBackDriver = false;
+ }
+ else
+ {
+ try
+ {
+ MonoUsbApi.StrError(MonoUsbError.Success);
+ mHasLibUsbWinBackDriver = true;
+ }
+ catch(Exception)
+ {
+ mHasLibUsbWinBackDriver = false;
+
+ }
+ }
+ }
+ return (bool)mHasLibUsbWinBackDriver;
+ }
+ }
+ ///<summary>
+ /// Returns true if the system is a linux/unix-like operating system.
+ ///</summary>
+ ///<exception cref="NotSupportedException"></exception>
+ public static bool IsLinux
+ {
+ get
+ {
+ return Helper.IsLinux;
+
+ }
+ }
+
+ /// <summary>
+ /// Gets the kernel driver type in use by LibUsbDotNet.
+ /// If <see cref="LibUsbKernelType.NativeLibUsb"/> is returned, LibUsbDotNet using using its
+ /// native kernel driver. Basic usb device information is retreived from the windows registry
+ /// which reduces USB IO overhead.
+ /// If <see cref="LibUsbKernelType.LegacyLibUsb"/> is returned, LibUsbDotNet is using the orginal kernel
+ /// available at the libusb-win32.sourceforge.net page and true windows registry support
+ /// is unavailable.
+ /// Under linux, <see cref="LibUsbKernelType.MonoLibUsb"/> is always returned.
+ /// </summary>
+ public static LibUsbKernelType KernelType
+ {
+ get
+ {
+ if (mLibUsbKernelType == LibUsbKernelType.Unknown)
+ {
+ if (IsLinux)
+ {
+ mLibUsbKernelType = LibUsbKernelType.MonoLibUsb;
+ }
+ else
+ {
+ UsbKernelVersion libUsbVersion = KernelVersion;
+ if (!libUsbVersion.IsEmpty)
+ {
+ mLibUsbKernelType = libUsbVersion.BcdLibUsbDotNetKernelMod != 0
+ ? LibUsbKernelType.NativeLibUsb
+ : LibUsbKernelType.LegacyLibUsb;
+ }
+ }
+ }
+
+ return mLibUsbKernelType;
+ }
+ }
+
+ /// <summary>
+ /// Gets the kernel driver version in use by LibUsbDotNet.
+ /// <alert class="note"><para>
+ /// if <see cref="UsbKernelVersion.BcdLibUsbDotNetKernelMod"/> is non-zero then the kernel driver is native.
+ /// </para></alert>
+ /// </summary>
+ public static UsbKernelVersion KernelVersion
+ {
+ get
+ {
+ if (mUsbKernelVersion.IsEmpty)
+ {
+ if (IsLinux)
+ {
+ mUsbKernelVersion = new UsbKernelVersion(1, 0, 0, 0, 0);
+ }
+ else
+ {
+ for (int i = 1; i < UsbConstants.MAX_DEVICES; i++)
+ {
+ LibUsbDevice newLibUsbDevice;
+ string deviceFileName = LibUsbDriverIO.GetDeviceNameString(i);
+ if (!LibUsbDevice.Open(deviceFileName, out newLibUsbDevice)) continue;
+ LibUsbRequest request = new LibUsbRequest();
+ GCHandle gcReq = GCHandle.Alloc(request, GCHandleType.Pinned);
+
+ int transferred;
+ bool bSuccess = newLibUsbDevice.UsbIoSync(LibUsbIoCtl.GET_VERSION,
+ request,
+ LibUsbRequest.Size,
+ gcReq.AddrOfPinnedObject(),
+ LibUsbRequest.Size,
+ out transferred);
+
+ gcReq.Free();
+ newLibUsbDevice.Close();
+ if (bSuccess && transferred == LibUsbRequest.Size)
+ {
+ mUsbKernelVersion = request.Version;
+ break;
+ }
+ }
+ }
+ }
+
+ return mUsbKernelVersion;
+ }
+ }
+
+
+ ///<summary>
+ /// Gets a <see cref="System.OperatingSystem"/> object that contains the current platform identifier and version number.
+ ///</summary>
+ public static OperatingSystem OSVersion
+ {
+ get
+ {
+ return Helper.OSVersion;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbDevice.cs b/LibWinUsb/UsbDevice.cs
new file mode 100644
index 00000000..c4f1dfcc
--- /dev/null
+++ b/LibWinUsb/UsbDevice.cs
@@ -0,0 +1,495 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Info;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.LudnMonoLibUsb;
+using LibUsbDotNet.Main;
+using MonoLibUsb;
+
+namespace LibUsbDotNet
+{
+ /// <summary>Contains non-driver specific USB device communication members.</summary>
+ /// <remarks>
+ /// This class is compatible with WinUSB, LibUsb-Win32, and linux libusb v1.x.
+ /// Platform independent applications should only use usb device members from this class.
+ /// If more functionality is required, it is up to the application to handle multi-driver
+ /// and/or multi-platfrom requirements.
+ /// </remarks>
+ public abstract partial class UsbDevice
+ {
+ #region Enumerations
+
+ /// <summary>
+ /// Driver modes enumeration. See the UsbDevice.<see cref="UsbDevice.DriverMode"/> property.
+ /// </summary>
+ public enum DriverModeType
+ {
+ /// <summary>
+ /// Not yet determined.
+ /// </summary>
+ Unknown,
+ /// <summary>
+ /// Using LibUsb kernel driver (Legacy or Native) on windows.
+ /// </summary>
+ LibUsb,
+ /// <summary>
+ /// Using WinUsb user-mode driver on windows.
+ /// </summary>
+ WinUsb,
+ /// <summary>
+ /// Using Libusb 1.0 driver on linux.
+ /// </summary>
+ MonoLibUsb,
+ /// <summary>
+ /// Using Libusb 1.0 windows backend driver on windows.
+ /// </summary>
+ LibUsbWinBack
+ }
+
+ #endregion
+
+ internal readonly UsbEndpointList mActiveEndpoints;
+ internal readonly UsbApiBase mUsbApi;
+ internal UsbDeviceDescriptor mCachedDeviceDescriptor;
+ internal List<UsbConfigInfo> mConfigs;
+ internal int mCurrentConfigValue = -1;
+ internal UsbDeviceInfo mDeviceInfo;
+ internal SafeHandle mUsbHandle;
+ internal UsbRegistry mUsbRegistry;
+
+ internal UsbDevice(UsbApiBase usbApi, SafeHandle usbHandle)
+ {
+ mUsbApi = usbApi;
+ mUsbHandle = usbHandle;
+ mActiveEndpoints = new UsbEndpointList();
+ }
+
+ ///<summary>
+ /// Gets all available configurations for this <see cref="UsbDevice"/>
+ ///</summary>
+ /// <remarks>
+ /// The first time this property is accessed it will query the <see cref="UsbDevice"/> for all configurations.
+ /// Subsequent request will return a cached copy of all configurations.
+ /// </remarks>
+ public virtual ReadOnlyCollection<UsbConfigInfo> Configs
+ {
+ get
+ {
+ if ((ReferenceEquals(mConfigs, null)))
+ {
+ mConfigs = GetDeviceConfigs(this);
+ }
+ return mConfigs.AsReadOnly();
+ }
+ }
+
+ /// <summary>
+ /// Gets the actual device descriptor the the current <see cref="UsbDevice"/>.
+ /// </summary>
+ public virtual UsbDeviceInfo Info
+ {
+ get
+ {
+ if (ReferenceEquals(mDeviceInfo, null))
+ {
+ mDeviceInfo = new UsbDeviceInfo(this);
+ }
+ return mDeviceInfo;
+ }
+ }
+
+ /// <summary>
+ /// Gets the <see cref="UsbRegistry"/> class that opened the device, or null if the device was not opened by the <see cref="UsbRegistry"/> class.
+ /// </summary>
+ public virtual UsbRegistry UsbRegistryInfo
+ {
+ get { return mUsbRegistry; }
+ }
+
+ /// <summary>
+ /// Gets a value indication if the device handle is valid.
+ /// </summary>
+ public bool IsOpen
+ {
+ get { return ((mUsbHandle != null) && !mUsbHandle.IsClosed) && !mUsbHandle.IsInvalid; }
+ }
+
+ /// <summary>
+ /// A list of endpoints that have beened opened by this <see cref="UsbDevice"/> class.
+ /// </summary>
+ public UsbEndpointList ActiveEndpoints
+ {
+ get { return mActiveEndpoints; }
+ }
+
+
+ internal SafeHandle Handle
+ {
+ get { return mUsbHandle; }
+ }
+
+ /// <summary>
+ /// Returns the DriverMode this USB device is using.
+ /// </summary>
+ public abstract DriverModeType DriverMode { get; }
+
+
+ /// <summary>
+ /// Closes the <see cref="UsbDevice"/> and disposes any <see cref="ActiveEndpoints"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public abstract bool Close();
+
+ ///<summary>
+ /// Opens the USB device handle.
+ ///</summary>
+ ///<returns>
+ ///True if the device is already opened or was opened successfully.
+ ///False if the device does not exists or is no longer valid.
+ ///</returns>
+ public abstract bool Open();
+
+ /// <summary>
+ /// Transmits control data over a default control endpoint.
+ /// </summary>
+ /// <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request.
+ /// See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
+ /// <param name="buffer">Data to be sent/received from the device.</param>
+ /// <param name="bufferLength">Length of the buffer param.</param>
+ /// <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
+ /// <returns>True on success.</returns>
+ public virtual bool ControlTransfer(ref UsbSetupPacket setupPacket, IntPtr buffer, int bufferLength, out int lengthTransferred)
+ {
+ bool bSuccess = mUsbApi.ControlTransfer(mUsbHandle, setupPacket, buffer, bufferLength, out lengthTransferred);
+
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "ControlTransfer", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Transmits control data over a default control endpoint.
+ /// </summary>
+ /// <param name="setupPacket">An 8-byte setup packet which contains parameters for the control request.
+ /// See section 9.3 USB Device Requests of the Universal Serial Bus Specification Revision 2.0 for more information. </param>
+ /// <param name="buffer">Data to be sent/received from the device.</param>
+ /// <param name="bufferLength">Length of the buffer param.</param>
+ /// <param name="lengthTransferred">Number of bytes sent or received (depends on the direction of the control transfer).</param>
+ /// <returns>True on success.</returns>
+ public virtual bool ControlTransfer(ref UsbSetupPacket setupPacket, object buffer, int bufferLength, out int lengthTransferred)
+ {
+ PinnedHandle pinned = new PinnedHandle(buffer);
+ bool bSuccess = ControlTransfer(ref setupPacket, pinned.Handle, bufferLength, out lengthTransferred);
+ pinned.Dispose();
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets the USB devices active configuration value.
+ /// </summary>
+ /// <param name="config">The active configuration value. A zero value means the device is not configured and a non-zero value indicates the device is configured.</param>
+ /// <returns>True on success.</returns>
+ public virtual bool GetConfiguration(out byte config)
+ {
+ config = 0;
+ byte[] buf = new byte[1];
+ int uTransferLength;
+
+ UsbSetupPacket setupPkt = new UsbSetupPacket();
+ setupPkt.RequestType = (byte) UsbEndpointDirection.EndpointIn | (byte) UsbRequestType.TypeStandard |
+ (byte) UsbRequestRecipient.RecipDevice;
+ setupPkt.Request = (byte) UsbStandardRequest.GetConfiguration;
+ setupPkt.Value = 0;
+ setupPkt.Index = 0;
+ setupPkt.Length = 1;
+
+ bool bSuccess = ControlTransfer(ref setupPkt, buf, buf.Length, out uTransferLength);
+ if (bSuccess && uTransferLength == 1)
+ {
+ config = buf[0];
+ mCurrentConfigValue = config;
+ return true;
+ }
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetConfiguration", this);
+ return false;
+ }
+
+ /// <summary>
+ /// Gets a descriptor from the device. See <see cref="DescriptorType"/> for more information.
+ /// </summary>
+ /// <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="DescriptorType"/> enumerations.</param>
+ /// <param name="index">Descriptor index.</param>
+ /// <param name="langId">Descriptor language id.</param>
+ /// <param name="buffer">Memory to store the returned descriptor in.</param>
+ /// <param name="bufferLength">Length of the buffer parameter in bytes.</param>
+ /// <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
+ /// <returns>True on success.</returns>
+ public virtual bool GetDescriptor(byte descriptorType, byte index, short langId, IntPtr buffer, int bufferLength, out int transferLength)
+ {
+ transferLength = 0;
+
+ bool wasOpen = IsOpen;
+ if (!wasOpen) Open();
+ if (!IsOpen) return false;
+
+ bool bSuccess = mUsbApi.GetDescriptor(mUsbHandle, descriptorType, index, (ushort) langId, buffer, bufferLength, out transferLength);
+
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetDescriptor", this);
+
+ if (!wasOpen && IsOpen) Close();
+
+ return bSuccess;
+ }
+
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for writing
+ /// </summary>
+ /// <param name="writeEndpointID">Endpoint number for read operations.</param>
+ /// <returns>A <see cref="UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="UsbEndpointWriter"/> class is returned.</returns>
+ public virtual UsbEndpointWriter OpenEndpointWriter(WriteEndpointID writeEndpointID) { return OpenEndpointWriter(writeEndpointID, EndpointType.Bulk); }
+
+ /// <summary>
+ /// Opens an endpoint for writing
+ /// </summary>
+ /// <param name="writeEndpointID">Endpoint number for read operations.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointWriter"/> class ready for writing. If the specified endpoint is already been opened, the original <see cref="UsbEndpointWriter"/> class is returned.</returns>
+ public virtual UsbEndpointWriter OpenEndpointWriter(WriteEndpointID writeEndpointID, EndpointType endpointType)
+ {
+ foreach (UsbEndpointBase activeEndpoint in ActiveEndpoints)
+ if (activeEndpoint.EpNum == (byte) writeEndpointID)
+ return (UsbEndpointWriter) activeEndpoint;
+
+ UsbEndpointWriter epNew = new UsbEndpointWriter(this, writeEndpointID, endpointType);
+ return (UsbEndpointWriter) mActiveEndpoints.Add(epNew);
+ }
+
+ internal static List<UsbConfigInfo> GetDeviceConfigs(UsbDevice usbDevice)
+ {
+ List<UsbConfigInfo> rtnConfigs = new List<UsbConfigInfo>();
+
+ byte[] cfgBuffer = new byte[UsbConstants.MAX_CONFIG_SIZE];
+
+ int iConfigs = usbDevice.Info.Descriptor.ConfigurationCount;
+ for (int iConfig = 0; iConfig < iConfigs; iConfig++)
+ {
+ int iBytesTransmitted;
+ bool bSuccess = usbDevice.GetDescriptor((byte) DescriptorType.Configuration, 0, 0, cfgBuffer, cfgBuffer.Length, out iBytesTransmitted);
+ if (bSuccess)
+ {
+ if (iBytesTransmitted >= UsbConfigDescriptor.Size && cfgBuffer[1] == (byte) DescriptorType.Configuration)
+ {
+ UsbConfigDescriptor configDescriptor = new UsbConfigDescriptor();
+ Helper.BytesToObject(cfgBuffer, 0, Math.Min(UsbConfigDescriptor.Size, cfgBuffer[0]), configDescriptor);
+
+ if (configDescriptor.TotalLength == iBytesTransmitted)
+ {
+ List<byte[]> rawDescriptorList = new List<byte[]>();
+ int iRawLengthPosition = configDescriptor.Length;
+ while (iRawLengthPosition < configDescriptor.TotalLength)
+ {
+ byte[] rawDescriptor = new byte[cfgBuffer[iRawLengthPosition]];
+ if (iRawLengthPosition + rawDescriptor.Length > iBytesTransmitted)
+ throw new UsbException(usbDevice, "Descriptor length is out of range.");
+
+ Array.Copy(cfgBuffer, iRawLengthPosition, rawDescriptor, 0, rawDescriptor.Length);
+ rawDescriptorList.Add(rawDescriptor);
+ iRawLengthPosition += rawDescriptor.Length;
+ }
+ rtnConfigs.Add(new UsbConfigInfo(usbDevice, configDescriptor, ref rawDescriptorList));
+ }
+ else
+ UsbError.Error(ErrorCode.InvalidConfig,
+ 0,
+ "GetDeviceConfigs: USB config descriptor length doesn't match the length received.",
+ usbDevice);
+ }
+ else
+ UsbError.Error(ErrorCode.InvalidConfig, 0, "GetDeviceConfigs: USB config descriptor is invalid.", usbDevice);
+ }
+ else
+ UsbError.Error(ErrorCode.InvalidConfig, 0, "GetDeviceConfigs", usbDevice);
+ }
+ return rtnConfigs;
+ }
+
+ /// <summary>
+ /// Gets a descriptor from the device. See <see cref="DescriptorType"/> for more information.
+ /// </summary>
+ /// <param name="descriptorType">The descriptor type ID to retrieve; this is usually one of the <see cref="DescriptorType"/> enumerations.</param>
+ /// <param name="index">Descriptor index.</param>
+ /// <param name="langId">Descriptor language id.</param>
+ /// <param name="buffer">Memory to store the returned descriptor in.</param>
+ /// <param name="bufferLength">Length of the buffer parameter in bytes.</param>
+ /// <param name="transferLength">The number of bytes transferred to buffer upon success.</param>
+ /// <returns>True on success.</returns>
+ public bool GetDescriptor(byte descriptorType, byte index, short langId, object buffer, int bufferLength, out int transferLength)
+ {
+ PinnedHandle pinned = new PinnedHandle(buffer);
+ bool bSuccess = GetDescriptor(descriptorType, index, langId, pinned.Handle, bufferLength, out transferLength);
+ pinned.Dispose();
+
+ return bSuccess;
+ }
+
+
+ /// <summary>
+ /// Asking for the zero'th index is special - it returns a string
+ /// descriptor that contains all the language IDs supported by the
+ /// device. Typically there aren't many - often only one. The
+ /// language IDs are 16 bit numbers, and they start at the third byte
+ /// in the descriptor. See USB 2.0 specification, section 9.6.7, for
+ /// more information on this.
+ /// </summary>
+ /// <returns>A collection of LCIDs that the current <see cref="UsbDevice"/> supports.</returns>
+ public bool GetLangIDs(out short[] langIDs)
+ {
+ LangStringDescriptor sd = new LangStringDescriptor(UsbDescriptor.Size + (16*sizeof (short)));
+
+ int ret;
+ bool bSuccess = GetDescriptor((byte) DescriptorType.String, 0, 0, sd.Ptr, sd.MaxSize, out ret);
+ if (bSuccess && ret == sd.Length)
+ {
+ bSuccess = sd.Get(out langIDs);
+ }
+ else
+ {
+ langIDs = new short[0];
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetLangIDs", this);
+ }
+ sd.Free();
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets a <see cref="DescriptorType.String"/> descriptor from the device.
+ /// </summary>
+ /// <param name="stringData">Buffer to store the returned string in upon success.</param>
+ /// <param name="langId">The language ID to retrieve the string in. (0x409 for english).</param>
+ /// <param name="stringIndex">The string index to retrieve.</param>
+ /// <returns>True on success.</returns>
+ public bool GetString(out string stringData, short langId, byte stringIndex)
+ {
+ stringData = null;
+ int iTransferLength;
+ LangStringDescriptor sd = new LangStringDescriptor(255);
+ bool bSuccess = GetDescriptor((byte) DescriptorType.String, stringIndex, langId, sd.Ptr, sd.MaxSize, out iTransferLength);
+
+ if (bSuccess && iTransferLength > UsbDescriptor.Size && sd.Length == iTransferLength)
+ bSuccess = sd.Get(out stringData);
+ else if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetString:GetDescriptor", this);
+ else
+ stringData = String.Empty;
+
+ return bSuccess;
+ }
+
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ public UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID) { return OpenEndpointReader(readEndpointID, UsbEndpointReader.DefReadBufferSize); }
+
+ /// <summary>
+ /// Opens a <see cref="EndpointType.Bulk"/> endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <param name="readBufferSize">Size of the read buffer allocated for the <see cref="UsbEndpointReader.DataReceived"/> event.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ public UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID, int readBufferSize) { return OpenEndpointReader(readEndpointID, readBufferSize, EndpointType.Bulk); }
+
+ /// <summary>
+ /// Opens an endpoint for reading
+ /// </summary>
+ /// <param name="readEndpointID">Endpoint number for read operations.</param>
+ /// <param name="readBufferSize">Size of the read buffer allocated for the <see cref="UsbEndpointReader.DataReceived"/> event.</param>
+ /// <param name="endpointType">The type of endpoint to open.</param>
+ /// <returns>A <see cref="UsbEndpointReader"/> class ready for reading. If the specified endpoint is already been opened, the original <see cref="UsbEndpointReader"/> class is returned.</returns>
+ public virtual UsbEndpointReader OpenEndpointReader(ReadEndpointID readEndpointID, int readBufferSize, EndpointType endpointType)
+ {
+ foreach (UsbEndpointBase activeEndpoint in mActiveEndpoints)
+ if (activeEndpoint.EpNum == (byte) readEndpointID)
+ return (UsbEndpointReader) activeEndpoint;
+
+ UsbEndpointReader epNew = new UsbEndpointReader(this, readBufferSize, readEndpointID, endpointType);
+ return (UsbEndpointReader) mActiveEndpoints.Add(epNew);
+ }
+
+ /// <summary>
+ /// Gets the selected alternate interface of the specified interface.
+ /// </summary>
+ /// <param name="interfaceID">The interface settings number (index) to retrieve the selected alternate interface setting for.</param>
+ /// <param name="selectedAltInterfaceID">The alternate interface setting selected for use with the specified interface.</param>
+ /// <returns>True on success.</returns>
+ public bool GetAltInterfaceSetting(byte interfaceID, out byte selectedAltInterfaceID)
+ {
+ byte[] buf = new byte[1];
+ int uTransferLength;
+
+ UsbSetupPacket setupPkt = new UsbSetupPacket();
+ setupPkt.RequestType = (byte) UsbEndpointDirection.EndpointIn | (byte) UsbRequestType.TypeStandard |
+ (byte) UsbRequestRecipient.RecipInterface;
+ setupPkt.Request = (byte) UsbStandardRequest.GetInterface;
+ setupPkt.Value = 0;
+ setupPkt.Index = interfaceID;
+ setupPkt.Length = 1;
+
+ bool bSuccess = ControlTransfer(ref setupPkt, buf, buf.Length, out uTransferLength);
+ if (bSuccess && uTransferLength == 1)
+ selectedAltInterfaceID = buf[0];
+ else
+ selectedAltInterfaceID = 0;
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// De-initializes the USB driver.
+ /// </summary>
+ /// <remarks>
+ /// If this method is not called before the application exits, it can cause it to hang indefinitely.
+ /// <para>Calling this method multiple times will have no effect.</para>
+ /// </remarks>
+ public static void Exit()
+ {
+ lock (MonoUsbDevice.OLockDeviceList)
+ {
+ if (MonoUsbDevice.mMonoUSBProfileList != null)
+ MonoUsbDevice.mMonoUSBProfileList.Close();
+ MonoUsbDevice.mMonoUSBProfileList = null;
+ }
+ MonoUsbApi.StopAndExit();
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbEndpointReader.cs b/LibWinUsb/UsbEndpointReader.cs
new file mode 100644
index 00000000..0e12d2b9
--- /dev/null
+++ b/LibWinUsb/UsbEndpointReader.cs
@@ -0,0 +1,290 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Threading;
+using System.Windows.Forms;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet
+{
+ /// <summary>
+ /// Contains methods for retrieving data from a <see cref="EndpointType.Bulk"/> or <see cref="EndpointType.Interrupt"/> endpoint using the overloaded <see cref="Read(byte[],int,out int)"/> functions or a <see cref="DataReceived"/> event.
+ /// </summary>
+ /// <remarks>
+ /// <list type="bullet">
+ /// <item>Before using the <see cref="DataReceived"/> event, the <see cref="DataReceivedEnabled"/> property must be set to true.</item>
+ /// <item>While the <see cref="DataReceivedEnabled"/> property is True, the overloaded <see cref="Read(byte[],int,out int)"/> functions cannot be used.</item>
+ /// </list>
+ /// </remarks>
+ public class UsbEndpointReader : UsbEndpointBase
+ {
+ private static int mDefReadBufferSize = 4096;
+
+ private bool mDataReceivedEnabled;
+ private int mReadBufferSize;
+ private Thread mReadThread;
+ private ThreadPriority mReadThreadPriority = ThreadPriority.Normal;
+
+ internal UsbEndpointReader(UsbDevice usbDevice, int readBufferSize, ReadEndpointID readEndpointID, EndpointType endpointType)
+ : base(usbDevice, (Byte) readEndpointID, endpointType) { mReadBufferSize = readBufferSize; }
+
+ /// <summary>
+ /// Default read buffer size when using the <see cref="DataReceived"/> event.
+ /// </summary>
+ /// <remarks>
+ /// This value can be bypassed using the second parameter of the <see cref="UsbDevice.OpenEndpointReader(LibUsbDotNet.Main.ReadEndpointID,int)"/> method.
+ /// The default is 4096.
+ /// </remarks>
+ public static int DefReadBufferSize
+ {
+ get { return mDefReadBufferSize; }
+ set { mDefReadBufferSize = value; }
+ }
+
+ /// <summary>
+ /// Gets/Sets a value indicating if the <see cref="UsbEndpointReader.DataReceived"/> event should be used.
+ /// </summary>
+ /// <remarks>
+ /// If DataReceivedEnabled is true the <see cref="Read(byte[] , int , int , int, out int )"/> functions cannot be used.
+ /// </remarks>
+ public virtual bool DataReceivedEnabled
+ {
+ get { return mDataReceivedEnabled; }
+ set
+ {
+ if (value != mDataReceivedEnabled)
+ {
+ StartStopReadThread();
+ }
+ }
+ }
+
+
+ /// <summary>
+ /// Size of the read buffer in bytes for the <see cref="UsbEndpointReader.DataReceived"/> event.
+ /// </summary>
+ /// <remarks>
+ /// Setting a large values, for example 64K will yield a lower number of <see cref="UsbEndpointReader.DataReceived"/> and a higher data rate.
+ /// </remarks>
+ public int ReadBufferSize
+ {
+ get { return mReadBufferSize; }
+ set { mReadBufferSize = value; }
+ }
+
+ /// <summary>
+ /// Gets/Sets the Priority level for the read thread when <see cref="DataReceivedEnabled"/> is true.
+ /// </summary>
+ public ThreadPriority ReadThreadPriority
+ {
+ get { return mReadThreadPriority; }
+ set { mReadThreadPriority = value; }
+ }
+
+
+ /// <summary>
+ /// Reads data from the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer to store the recieved data in.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Read(byte[] buffer, int timeout, out int transferLength) { return Read(buffer, 0, buffer.Length, timeout, out transferLength); }
+
+ /// <summary>
+ /// Reads data from the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer to store the recieved data in.</param>
+ /// <param name="offset">The position in buffer to start storing the data.</param>
+ /// <param name="count">The maximum number of bytes to receive.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Read(IntPtr buffer, int offset, int count, int timeout, out int transferLength) { return Transfer(buffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Reads data from the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer to store the recieved data in.</param>
+ /// <param name="offset">The position in buffer to start storing the data.</param>
+ /// <param name="count">The maximum number of bytes to receive.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Read(byte[] buffer, int offset, int count, int timeout, out int transferLength) { return Transfer(buffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Reads data from the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer to store the recieved data in.</param>
+ /// <param name="offset">The position in buffer to start storing the data.</param>
+ /// <param name="count">The maximum number of bytes to receive.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Read(object buffer, int offset, int count, int timeout, out int transferLength) { return Transfer(buffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Reads data from the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer to store the recieved data in.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Read(object buffer, int timeout, out int transferLength) { return Transfer(buffer, 0, Marshal.SizeOf(buffer), timeout, out transferLength); }
+
+ /// <summary>
+ /// Reads/discards data from the enpoint until no more data is available.
+ /// </summary>
+ /// <returns>Alwats returns <see cref="ErrorCode.None"/> </returns>
+ public virtual ErrorCode ReadFlush()
+ {
+ byte[] bufDummy = new byte[64];
+ int iTransferred;
+ int iBufCount = 0;
+ while (Read(bufDummy, 10, out iTransferred) == ErrorCode.None && iBufCount < 128)
+ {
+ iBufCount++;
+ }
+
+ return ErrorCode.None;
+ }
+
+
+ private static void ReadData(object context)
+ {
+ UsbTransfer overlappedTransferContext = (UsbTransfer) context;
+ UsbEndpointReader reader = (UsbEndpointReader) overlappedTransferContext.EndpointBase;
+ reader.mDataReceivedEnabled = true;
+ EventHandler<DataReceivedEnabledChangedEventArgs> dataReceivedEnabledChangedEvent;
+
+ dataReceivedEnabledChangedEvent = reader.DataReceivedEnabledChanged;
+ if (!ReferenceEquals(dataReceivedEnabledChangedEvent,null))
+ dataReceivedEnabledChangedEvent(reader, new DataReceivedEnabledChangedEventArgs(reader.mDataReceivedEnabled));
+
+ overlappedTransferContext.Reset();
+
+ byte[] buf = new byte[reader.mReadBufferSize];
+ try
+ {
+ while (!overlappedTransferContext.IsCancelled)
+ {
+ int iTransferLength;
+ ErrorCode eReturn = reader.Transfer(buf, 0, buf.Length, Timeout.Infinite, out iTransferLength);
+ if (eReturn == ErrorCode.None)
+ {
+ EventHandler<EndpointDataEventArgs> temp = reader.DataReceived;
+ if (!ReferenceEquals(temp, null) && !overlappedTransferContext.IsCancelled)
+ {
+ temp(reader, new EndpointDataEventArgs(buf, iTransferLength));
+ }
+ continue;
+ }
+ if (eReturn != ErrorCode.IoTimedOut) break;
+ }
+ }
+ catch (ThreadAbortException)
+ {
+ UsbError.Error(ErrorCode.ReceiveThreadTerminated,0, "ReadData:Read thread aborted.", reader);
+ }
+ finally
+ {
+ reader.Abort();
+ reader.mDataReceivedEnabled = false;
+
+ dataReceivedEnabledChangedEvent = reader.DataReceivedEnabledChanged;
+ if (!ReferenceEquals(dataReceivedEnabledChangedEvent, null))
+ dataReceivedEnabledChangedEvent(reader, new DataReceivedEnabledChangedEventArgs(reader.mDataReceivedEnabled));
+
+ }
+ }
+
+ private void StartReadThread()
+ {
+ mReadThread = new Thread(ReadData);
+ mReadThread.Priority = ReadThreadPriority;
+ mReadThread.Start(TransferContext);
+ Thread.Sleep(1);
+ Application.DoEvents();
+ }
+
+ private bool StopReadThread()
+ {
+ Abort();
+ Thread.Sleep(1);
+ Application.DoEvents();
+ DateTime dtStart = DateTime.Now;
+ while (mReadThread.IsAlive && ((DateTime.Now - dtStart).TotalSeconds < 5)) // 5 sec fail-safe
+ {
+ Thread.Sleep(100);
+ Application.DoEvents();
+ }
+ if (mReadThread.IsAlive)
+ {
+ UsbError.Error(ErrorCode.ReceiveThreadTerminated,0, "Failed stopping read thread.", this);
+ mReadThread.Abort();
+ return false;
+ }
+ return true;
+ }
+
+ private void StartStopReadThread()
+ {
+ if (IsDisposed) throw new ObjectDisposedException(GetType().FullName);
+
+ if (mDataReceivedEnabled)
+ {
+ StopReadThread();
+ }
+ else
+ {
+ StartReadThread();
+ }
+ }
+
+
+ /// <summary>
+ /// The DataReceived Event is fired when new data arrives for the current <see cref="UsbEndpointReader"/>.
+ /// </summary>
+ /// <remarks>To use the DataReceived event, <see cref="DataReceivedEnabled"/> must be set to truw.</remarks>
+ public virtual event EventHandler<EndpointDataEventArgs> DataReceived;
+
+ /// <summary>
+ /// The <see cref="DataReceivedEnabledChanged"/> Event is fired when the <see cref="DataReceived"/> event is started or stopped.
+ /// </summary>
+ public virtual event EventHandler<DataReceivedEnabledChangedEventArgs> DataReceivedEnabledChanged;
+
+ internal override UsbTransfer CreateTransferContext() { return new OverlappedTransferContext(this); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbEndpointWriter.cs b/LibWinUsb/UsbEndpointWriter.cs
new file mode 100644
index 00000000..05499f88
--- /dev/null
+++ b/LibWinUsb/UsbEndpointWriter.cs
@@ -0,0 +1,100 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet
+{
+ /// <summary>Contains methods for writing data to a <see cref="EndpointType.Bulk"/> or <see cref="EndpointType.Interrupt"/> endpoint using the overloaded <see cref="Write(byte[],int,out int)"/> functions.
+ /// </summary>
+ public class UsbEndpointWriter : UsbEndpointBase
+ {
+ internal UsbEndpointWriter(UsbDevice usbDevice, WriteEndpointID writeEndpointID, EndpointType endpointType)
+ : base(usbDevice, (byte)writeEndpointID, endpointType) { }
+
+
+ /// <summary>
+ /// Writes data to the current <see cref="UsbEndpointWriter"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer storing the data to write.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Write(byte[] buffer, int timeout, out int transferLength) { return Write(buffer, 0, buffer.Length, timeout, out transferLength); }
+
+ /// <summary>
+ /// Writes data to the current <see cref="UsbEndpointWriter"/>.
+ /// </summary>
+ /// <param name="pBuffer">The buffer storing the data to write.</param>
+ /// <param name="offset">The position in buffer to start writing the data from.</param>
+ /// <param name="count">The number of bytes to write.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Write(IntPtr pBuffer, int offset, int count, int timeout, out int transferLength) { return Transfer(pBuffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Writes data to the current <see cref="UsbEndpointWriter"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer storing the data to write.</param>
+ /// <param name="offset">The position in buffer to start writing the data from.</param>
+ /// <param name="count">The number of bytes to write.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Write(byte[] buffer, int offset, int count, int timeout, out int transferLength) { return Transfer(buffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Writes data to the current <see cref="UsbEndpointWriter"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer storing the data to write.</param>
+ /// <param name="offset">The position in buffer to start writing the data from.</param>
+ /// <param name="count">The number of bytes to write.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Write(object buffer, int offset, int count, int timeout, out int transferLength) { return Transfer(buffer, offset, count, timeout, out transferLength); }
+
+ /// <summary>
+ /// Writes data to the current <see cref="UsbEndpointWriter"/>.
+ /// </summary>
+ /// <param name="buffer">The buffer storing the data to write.</param>
+ /// <param name="timeout">Maximum time to wait for the transfer to complete. If the transfer times out, the IO operation will be cancelled.</param>
+ /// <param name="transferLength">Number of bytes actually transferred.</param>
+ /// <returns>
+ /// <see cref="ErrorCode"/>.<see cref="ErrorCode.None"/> on success.
+ /// </returns>
+ public virtual ErrorCode Write(object buffer, int timeout, out int transferLength) { return Write(buffer, 0, Marshal.SizeOf(buffer), timeout, out transferLength); }
+
+ internal override UsbTransfer CreateTransferContext() { return new OverlappedTransferContext(this); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/UsbGlobals.cs b/LibWinUsb/UsbGlobals.cs
new file mode 100644
index 00000000..f1246df8
--- /dev/null
+++ b/LibWinUsb/UsbGlobals.cs
@@ -0,0 +1,34 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using LibUsbDotNet.LibUsb;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet
+{
+ /// <summary>
+ /// Static class for opening, enumerating and finding USB devices.
+ /// </summary>
+ public static class UsbGlobals
+ {
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/DeviceInformationTypes.cs b/LibWinUsb/WinUsb/DeviceInformationTypes.cs
new file mode 100644
index 00000000..c4c3dd6c
--- /dev/null
+++ b/LibWinUsb/WinUsb/DeviceInformationTypes.cs
@@ -0,0 +1,33 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary> Types of information that can be retrieved with the WinUsb QueryDevice function.
+ /// </summary>
+ public enum DeviceInformationTypes : byte
+ {
+ /// <summary>
+ /// The device speed.
+ /// </summary>
+ DeviceSpeed = 0x01
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/DeviceSpeedTypes.cs b/LibWinUsb/WinUsb/DeviceSpeedTypes.cs
new file mode 100644
index 00000000..91e85322
--- /dev/null
+++ b/LibWinUsb/WinUsb/DeviceSpeedTypes.cs
@@ -0,0 +1,45 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary> Device speed types
+ /// </summary>
+ public enum DeviceSpeedTypes : byte
+ {
+ /// <summary>
+ /// Unknown
+ /// </summary>
+ Undefined = 0x00,
+ /// <summary>
+ /// Low speed device.
+ /// </summary>
+ LowSpeed = 0x01,
+ /// <summary>
+ /// Full speed device.
+ /// </summary>
+ FullSpeed = 0x02,
+ /// <summary>
+ /// High speed device.
+ /// </summary>
+ HighSpeed = 0x03,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/Internal/SafeWinUsbInterfaceHandle.cs b/LibWinUsb/WinUsb/Internal/SafeWinUsbInterfaceHandle.cs
new file mode 100644
index 00000000..c376cbc7
--- /dev/null
+++ b/LibWinUsb/WinUsb/Internal/SafeWinUsbInterfaceHandle.cs
@@ -0,0 +1,67 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.WinUsb.Internal;
+
+namespace LibUsbDotNet.Internal.WinUsb
+{
+ internal class SafeWinUsbInterfaceHandle : SafeHandle
+ {
+ public SafeWinUsbInterfaceHandle()
+ : base(IntPtr.Zero, true) { }
+
+ public SafeWinUsbInterfaceHandle(IntPtr handle)
+ : base(handle, true) { }
+
+ ///<summary>
+ ///Gets a value indicating whether the <see cref="SafeWinUsbInterfaceHandle"/> value is invalid.
+ ///</summary>
+ ///
+ ///<returns>
+ ///true if the <see cref="SafeWinUsbInterfaceHandle"/> is valid; otherwise, false.
+ ///</returns>
+ public override bool IsInvalid
+ {
+ get { return (handle == IntPtr.Zero || handle.ToInt64() == -1); }
+ }
+
+ ///<summary>
+ ///Executes the code required to free the <see cref="SafeWinUsbInterfaceHandle"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///true if the <see cref="SafeWinUsbInterfaceHandle"/> is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a ReleaseHandleFailed Managed Debugging Assistant.
+ ///</returns>
+ ///
+ protected override bool ReleaseHandle()
+ {
+ bool bSuccess = true;
+ if (!IsInvalid)
+ {
+ bSuccess = WinUsbAPI.WinUsb_Free(handle);
+ handle = IntPtr.Zero;
+ }
+ return bSuccess;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/Internal/WinUsbAPI.cs b/LibWinUsb/WinUsb/Internal/WinUsbAPI.cs
new file mode 100644
index 00000000..cfb994a9
--- /dev/null
+++ b/LibWinUsb/WinUsb/Internal/WinUsbAPI.cs
@@ -0,0 +1,226 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using System.Security;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Internal.WinUsb;
+using LibUsbDotNet.Main;
+using Microsoft.Win32.SafeHandles;
+
+// ReSharper disable InconsistentNaming
+
+namespace LibUsbDotNet.WinUsb.Internal
+{
+ [SuppressUnmanagedCodeSecurity]
+ internal class WinUsbAPI : UsbApiBase
+ {
+ internal const string WIN_USB_DLL = "winusb.dll";
+
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_AbortPipe", SetLastError = true)]
+ private static extern bool WinUsb_AbortPipe([In] SafeHandle InterfaceHandle, byte PipeID);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_ControlTransfer", SetLastError = true)]
+ private static extern bool WinUsb_ControlTransfer([In] SafeHandle InterfaceHandle,
+ [In] UsbSetupPacket SetupPacket,
+ IntPtr Buffer,
+ int BufferLength,
+ out int LengthTransferred,
+ IntPtr pOVERLAPPED);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_FlushPipe", SetLastError = true)]
+ private static extern bool WinUsb_FlushPipe([In] SafeHandle InterfaceHandle, byte PipeID);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_Free", SetLastError = true)]
+ internal static extern bool WinUsb_Free([In] IntPtr InterfaceHandle);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetAssociatedInterface", SetLastError = true)]
+ internal static extern bool WinUsb_GetAssociatedInterface([In] SafeHandle InterfaceHandle,
+ byte AssociatedInterfaceIndex,
+ ref IntPtr AssociatedInterfaceHandle);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetCurrentAlternateSetting", SetLastError = true)]
+ internal static extern bool WinUsb_GetCurrentAlternateSetting([In] SafeHandle InterfaceHandle, out byte SettingNumber);
+
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetDescriptor", SetLastError = true)]
+ private static extern bool WinUsb_GetDescriptor([In] SafeHandle InterfaceHandle,
+ byte DescriptorType,
+ byte Index,
+ ushort LanguageID,
+ IntPtr Buffer,
+ int BufferLength,
+ out int LengthTransferred);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetOverlappedResult", SetLastError = true)]
+ private static extern bool WinUsb_GetOverlappedResult([In] SafeHandle InterfaceHandle,
+ IntPtr pOVERLAPPED,
+ out int lpNumberOfBytesTransferred,
+ bool Wait);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetPipePolicy", SetLastError = true)]
+ internal static extern bool WinUsb_GetPipePolicy([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ PipePolicyType policyType,
+ ref int ValueLength,
+ IntPtr Value);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_GetPowerPolicy", SetLastError = true)]
+ internal static extern bool WinUsb_GetPowerPolicy([In] SafeHandle InterfaceHandle,
+ PowerPolicyType policyType,
+ ref int ValueLength,
+ IntPtr Value);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_Initialize", SetLastError = true)]
+ internal static extern bool WinUsb_Initialize([In] SafeHandle DeviceHandle, [Out, In] ref SafeWinUsbInterfaceHandle InterfaceHandle);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_QueryDeviceInformation", SetLastError = true)]
+ internal static extern bool WinUsb_QueryDeviceInformation([In] SafeHandle InterfaceHandle,
+ DeviceInformationTypes InformationType,
+ ref int BufferLength,
+ [MarshalAs(UnmanagedType.AsAny), In, Out] object Buffer);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_QueryInterfaceSettings", SetLastError = true)]
+ internal static extern bool WinUsb_QueryInterfaceSettings([In] SafeHandle InterfaceHandle,
+ byte AlternateInterfaceNumber,
+ [MarshalAs(UnmanagedType.LPStruct), In, Out] UsbInterfaceDescriptor
+ UsbAltInterfaceDescriptor);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_QueryPipe", SetLastError = true)]
+ internal static extern bool WinUsb_QueryPipe([In] SafeHandle InterfaceHandle,
+ byte AlternateInterfaceNumber,
+ byte PipeIndex,
+ [MarshalAs(UnmanagedType.LPStruct), In, Out] PipeInformation PipeInformation);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_ReadPipe", SetLastError = true)]
+ private static extern bool WinUsb_ReadPipe([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ Byte[] Buffer,
+ int BufferLength,
+ out int LengthTransferred,
+ IntPtr pOVERLAPPED);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_ReadPipe", SetLastError = true)]
+ private static extern bool WinUsb_ReadPipe([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ IntPtr pBuffer,
+ int BufferLength,
+ out int LengthTransferred,
+ IntPtr pOVERLAPPED);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_ResetPipe", SetLastError = true)]
+ private static extern bool WinUsb_ResetPipe([In] SafeHandle InterfaceHandle, byte PipeID);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_SetPipePolicy", SetLastError = true)]
+ internal static extern bool WinUsb_SetPipePolicy([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ PipePolicyType policyType,
+ int ValueLength,
+ IntPtr Value);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_SetPowerPolicy", SetLastError = true)]
+ internal static extern bool WinUsb_SetPowerPolicy([In] SafeHandle InterfaceHandle, PowerPolicyType policyType, int ValueLength, IntPtr Value);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_WritePipe", SetLastError = true)]
+ private static extern bool WinUsb_WritePipe([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ Byte[] Buffer,
+ int BufferLength,
+ out int LengthTransferred,
+ IntPtr pOVERLAPPED);
+
+ [DllImport(WIN_USB_DLL, EntryPoint = "WinUsb_WritePipe", SetLastError = true)]
+ private static extern bool WinUsb_WritePipe([In] SafeHandle InterfaceHandle,
+ byte PipeID,
+ IntPtr pBuffer,
+ int BufferLength,
+ out int LengthTransferred,
+ IntPtr pOVERLAPPED);
+
+
+ public override bool AbortPipe(SafeHandle InterfaceHandle, byte PipeID) { return WinUsb_AbortPipe(InterfaceHandle, PipeID); }
+
+ public override bool ControlTransfer(SafeHandle InterfaceHandle,
+ UsbSetupPacket SetupPacket,
+ IntPtr Buffer,
+ int BufferLength,
+ out int LengthTransferred) { return WinUsb_ControlTransfer(InterfaceHandle, SetupPacket, Buffer, BufferLength, out LengthTransferred, IntPtr.Zero); }
+
+ public override bool FlushPipe(SafeHandle InterfaceHandle, byte PipeID) { return WinUsb_FlushPipe(InterfaceHandle, PipeID); }
+
+ public override bool GetDescriptor(SafeHandle InterfaceHandle,
+ byte DescriptorType,
+ byte Index,
+ ushort LanguageID,
+ IntPtr Buffer,
+ int BufferLength,
+ out int LengthTransferred) { return WinUsb_GetDescriptor(InterfaceHandle, DescriptorType, Index, LanguageID, Buffer, BufferLength, out LengthTransferred); }
+
+ public override bool GetOverlappedResult(SafeHandle InterfaceHandle, IntPtr pOVERLAPPED, out int numberOfBytesTransferred, bool Wait) { return WinUsb_GetOverlappedResult(InterfaceHandle, pOVERLAPPED, out numberOfBytesTransferred, Wait); }
+
+ //public override bool ReadPipe(UsbEndpointBase endPointBase,
+ // byte[] Buffer,
+ // int BufferLength,
+ // out int LengthTransferred,
+ // int isoPacketSize,
+ // IntPtr pOVERLAPPED) { return WinUsb_ReadPipe(endPointBase.Device.Handle, endPointBase.EpNum, Buffer, BufferLength, out LengthTransferred, pOVERLAPPED); }
+
+ public override bool ReadPipe(UsbEndpointBase endPointBase,
+ IntPtr pBuffer,
+ int BufferLength,
+ out int LengthTransferred,
+ int isoPacketSize,
+ IntPtr pOVERLAPPED) { return WinUsb_ReadPipe(endPointBase.Device.Handle, endPointBase.EpNum, pBuffer, BufferLength, out LengthTransferred, pOVERLAPPED); }
+
+ public override bool ResetPipe(SafeHandle InterfaceHandle, byte PipeID) { return WinUsb_ResetPipe(InterfaceHandle, PipeID); }
+
+ //public override bool WritePipe(UsbEndpointBase endPointBase,
+ // byte[] Buffer,
+ // int BufferLength,
+ // out int LengthTransferred,
+ // int isoPacketSize,
+ // IntPtr pOVERLAPPED) { return WinUsb_WritePipe(endPointBase.Device.Handle, endPointBase.EpNum, Buffer, BufferLength, out LengthTransferred, pOVERLAPPED); }
+
+ public override bool WritePipe(UsbEndpointBase endPointBase,
+ IntPtr pBuffer,
+ int BufferLength,
+ out int LengthTransferred,
+ int isoPacketSize,
+ IntPtr pOVERLAPPED) { return WinUsb_WritePipe(endPointBase.Device.Handle, endPointBase.EpNum, pBuffer, BufferLength, out LengthTransferred, pOVERLAPPED); }
+
+ internal static bool OpenDevice(out SafeFileHandle sfhDevice, string DevicePath)
+ {
+ sfhDevice =
+ Kernel32.CreateFile(DevicePath,
+ NativeFileAccess.FILE_GENERIC_WRITE | NativeFileAccess.FILE_GENERIC_READ,
+ NativeFileShare.FILE_SHARE_WRITE | NativeFileShare.FILE_SHARE_READ,
+ IntPtr.Zero,
+ NativeFileMode.OPEN_EXISTING,
+ NativeFileFlag.FILE_ATTRIBUTE_NORMAL | NativeFileFlag.FILE_FLAG_OVERLAPPED,
+ IntPtr.Zero);
+
+ return (!sfhDevice.IsInvalid && !sfhDevice.IsClosed);
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/PipeInformation.cs b/LibWinUsb/WinUsb/PipeInformation.cs
new file mode 100644
index 00000000..793c28c2
--- /dev/null
+++ b/LibWinUsb/WinUsb/PipeInformation.cs
@@ -0,0 +1,57 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary> WinUsb Pipe information.
+ /// </summary>
+ [StructLayout(LayoutKind.Sequential, Pack = 1)]
+ public class PipeInformation
+ {
+ /// <summary>
+ /// Size of the structure in bytes.
+ /// </summary>
+ public static readonly int Size = Marshal.SizeOf(typeof (PipeInformation));
+
+ /// <summary>
+ /// Specifies the pipe type.
+ /// </summary>
+ public EndpointType PipeType;
+
+ /// <summary>
+ /// The pipe identifier (ID).
+ /// </summary>
+ public byte PipeId;
+
+ /// <summary>
+ /// The maximum size, in bytes, of the packets that are transmitted on the pipe.
+ /// </summary>
+ public short MaximumPacketSize;
+
+ /// <summary>
+ /// The pipe interval.
+ /// </summary>
+ public byte Interval;
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/PipePolicies.cs b/LibWinUsb/WinUsb/PipePolicies.cs
new file mode 100644
index 00000000..52bd2feb
--- /dev/null
+++ b/LibWinUsb/WinUsb/PipePolicies.cs
@@ -0,0 +1,288 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.WinUsb.Internal;
+
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary> Endpoint specific policies. <see cref="WinUsbDevice.EndpointPolicies(ReadEndpointID)"/>.
+ /// </summary>
+ public class PipePolicies
+ {
+ private const int MAX_SIZE = 4;
+ private readonly byte mEpNum;
+ private readonly SafeHandle mUsbHandle;
+
+ private IntPtr mBufferPtr = IntPtr.Zero;
+
+ internal PipePolicies(SafeHandle usbHandle, byte epNum)
+ {
+ mBufferPtr = Marshal.AllocCoTaskMem(MAX_SIZE);
+ mEpNum = epNum;
+ mUsbHandle = usbHandle;
+ }
+
+ /// <summary>
+ /// If the allow partial reads policy parameter is FALSE (that is, zero), the read request fails whenever the device returns more data than the client requested.
+ /// If the allow partial reads policy parameter is TRUE, the WinUSB driver saves the extra data and sends the extra data to the client during the client's next read.
+ /// The default value of the allow partial reads policy parameter is TRUE.
+ /// </summary>
+ public bool AllowPartialReads
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.AllowPartialReads, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.AllowPartialReads, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// If the short packet terminate policy parameter is TRUE (that is, nonzero), every write request that is a multiple of the maximum packet size for the endpoint is terminated with a zero-length packet.
+ /// The default value of the short packet terminate policy parameter is FALSE.
+ /// </summary>
+ public bool ShortPacketTerminate
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.ShortPacketTerminate, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.ShortPacketTerminate, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// If the auto clear stall policy parameter is TRUE (that is, nonzero), the driver fails stalled data transfers, but the driver clears the stall condition automatically, and data continues to flow on the pipe. This policy parameter does not affect control pipes.
+ /// The default value for the auto clear stall policy parameter is FALSE.
+ /// </summary>
+ public bool AutoClearStall
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.AutoClearStall, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.AutoClearStall, iValueLength, mBufferPtr);
+ }
+ }
+
+
+ ///<summary>
+ /// The auto flush policy parameter works with allow partial reads. If allow partial reads is FALSE, the WinUSB driver ignores the value of auto flush. If allow partial reads is TRUE, the value of auto flush determines what the WinUSB driver does when the device returns more data than the client requested.
+ /// If both allow partial reads and auto flush policy parameters are TRUE (that is, nonzero) and the device returns more data than the client requested, the remaining data is discarded. If allow partial reads is TRUE, but auto flush is FALSE, the WinUSB driver caches the extra data and sends it to the client in the next read operation.
+ /// The default value of the auto flush policy parameter is FALSE.
+ ///</summary>
+ public bool AutoFlush
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.AutoFlush, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.AutoFlush, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// If the ignore short packets policy parameter is TRUE (that is, nonzero), the host does not complete a read operation after it receives a short packet. Instead, the the host completes the operation only after the host has read the specified number of bytes.
+ /// If the ignore short packets policy parameter is FALSE, the host completes a read operation when either the host has read the specified number of bytes or the host has received a short packet.
+ /// The default value of the ignore short packets policy parameter is FALSE.
+ /// </summary>
+ public bool IgnoreShortPackets
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.IgnoreShortPackets, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.IgnoreShortPackets, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// If the raw i/o policy parameter is TRUE (that is, nonzero), calls to WinUsb_ReadPipe and WinUsb_WritePipe for the specified endpoint must satisfy the following conditions:
+ /// The buffer length must be a multiple of the maximum endpoint packet size.
+ /// The length must be less than what the host controller supports.
+ /// If the preceding conditions are met, WinUSB sends data directly to the USB driver stack, bypassing WinUSB's queuing and error handling.
+ /// If the raw i/o policy parameter is FALSE, no restrictions are imposed on the buffers that are passed to WinUsb_ReadPipe and WinUsb_WritePipe.
+ /// The default value of the raw i/o policy parameter is FALSE.
+ /// </summary>
+ public bool RawIo
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.RawIo, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPipePolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPipePolicyValue);
+ SetPipePolicy(PipePolicyType.RawIo, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// The pipe transfer timeout policy parameter specifies the time-out interval, in milliseconds. The host cancels transfers that do not complete within the time-out interval. A value of zero means that transfers do not time out.
+ /// By default, the time-out value is zero, and the host never cancels a transfer because of a time-out.
+ /// </summary>
+ public int PipeTransferTimeout
+ {
+ get
+ {
+ int iValueLength = 4;
+ Marshal.WriteInt32(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.PipeTransferTimeout, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadInt32(mBufferPtr);
+ return -1;
+ }
+ set
+ {
+ int iValueLength = 4;
+ Marshal.WriteInt32(mBufferPtr, value);
+ SetPipePolicy(PipePolicyType.PipeTransferTimeout, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// The maximum number of bytes that can be transferred at once.
+ /// </summary>
+ public int MaxTransferSize
+ {
+ get
+ {
+ int iValueLength = 4;
+ Marshal.WriteInt32(mBufferPtr, 0);
+ bool bSuccess = GetPipePolicy(PipePolicyType.MaximumTransferSize, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadInt32(mBufferPtr);
+ return -1;
+ }
+ }
+
+
+ ///<summary>
+ ///Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
+ ///</summary>
+ ///
+ ///<returns>
+ ///A <see cref="System.String"/> that represents the current <see cref="T:System.Object"/>.
+ ///</returns>
+ public override string ToString()
+ {
+ object[] o = new object[]
+ {
+ AllowPartialReads, ShortPacketTerminate, AutoClearStall, AutoFlush, IgnoreShortPackets, RawIo, PipeTransferTimeout,
+ MaxTransferSize
+ };
+ return
+ string.Format(
+ "AllowPartialReads:{0}\r\nShortPacketTerminate:{1}\r\nAutoClearStall:{2}\r\nAutoFlush:{3}\r\nIgnoreShortPackets:{4}\r\nRawIO:{5}\r\nPipeTransferTimeout:{6}\r\nMaxTransferSize:{7}\r\n",
+ o);
+ }
+
+
+ internal bool GetPipePolicy(PipePolicyType policyType, ref int valueLength, IntPtr pBuffer)
+ {
+ bool bSuccess = WinUsbAPI.WinUsb_GetPipePolicy(mUsbHandle, mEpNum, policyType, ref valueLength, pBuffer);
+
+ if (!bSuccess) UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetPipePolicy", this);
+
+ return bSuccess;
+ }
+
+ internal bool SetPipePolicy(PipePolicyType policyType, int valueLength, IntPtr pBuffer)
+ {
+ bool bSuccess = WinUsbAPI.WinUsb_SetPipePolicy(mUsbHandle, mEpNum, policyType, valueLength, pBuffer);
+
+ if (!bSuccess) UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "SetPipePolicy", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Frees instance resources.
+ /// </summary>
+ ~PipePolicies()
+ {
+ if (mBufferPtr != IntPtr.Zero)
+ Marshal.FreeCoTaskMem(mBufferPtr);
+
+ mBufferPtr = IntPtr.Zero;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/PipePolicyType.cs b/LibWinUsb/WinUsb/PipePolicyType.cs
new file mode 100644
index 00000000..eb74a8e1
--- /dev/null
+++ b/LibWinUsb/WinUsb/PipePolicyType.cs
@@ -0,0 +1,35 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.WinUsb
+{
+ internal enum PipePolicyType : byte
+ {
+ ShortPacketTerminate = 0x01,
+ AutoClearStall = 0x02,
+ PipeTransferTimeout = 0x03,
+ IgnoreShortPackets = 0x04,
+ AllowPartialReads = 0x05,
+ AutoFlush = 0x06,
+ RawIo = 0x07,
+ MaximumTransferSize = 0x08,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/PowerPolicies.cs b/LibWinUsb/WinUsb/PowerPolicies.cs
new file mode 100644
index 00000000..2b59c5c8
--- /dev/null
+++ b/LibWinUsb/WinUsb/PowerPolicies.cs
@@ -0,0 +1,98 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Runtime.InteropServices;
+
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary>
+ /// power policy for a <see cref="WinUsbDevice"/>.
+ /// </summary>
+ public class PowerPolicies
+ {
+ private const int MAX_SIZE = 4;
+ private readonly WinUsbDevice mUsbDevice;
+ private IntPtr mBufferPtr = IntPtr.Zero;
+
+ internal PowerPolicies(WinUsbDevice usbDevice)
+ {
+ mBufferPtr = Marshal.AllocCoTaskMem(MAX_SIZE);
+ mUsbDevice = usbDevice;
+ }
+
+ /// <summary>
+ /// If the auto suspend policy parameter is TRUE (that is, nonzero), the USB stack suspends the device when no transfers are pending. The default value for the AutoSuspend policy parameter is TRUE.
+ /// </summary>
+ public bool AutoSuspend
+ {
+ get
+ {
+ int iValueLength = 1;
+ Marshal.WriteByte(mBufferPtr, 0);
+ bool bSuccess = mUsbDevice.GetPowerPolicy(PowerPolicyType.AutoSuspend, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadByte(mBufferPtr) == 0 ? false : true;
+ return false;
+ }
+ set
+ {
+ int iValueLength = 1;
+ byte bPowerPolicyValue = (value) ? (byte) 1 : (byte) 0;
+ Marshal.WriteByte(mBufferPtr, bPowerPolicyValue);
+ mUsbDevice.SetPowerPolicy(PowerPolicyType.AutoSuspend, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// The suspend delay policy parameter specifies the minimum amount of time, in milliseconds, that the WinUSB driver must wait after any transfer before it can suspend the device.
+ /// </summary>
+ public int SuspendDelay
+ {
+ get
+ {
+ int iValueLength = Marshal.SizeOf(typeof (int));
+ Marshal.WriteInt32(mBufferPtr, 0);
+ bool bSuccess = mUsbDevice.GetPowerPolicy(PowerPolicyType.SuspendDelay, ref iValueLength, mBufferPtr);
+ if (bSuccess)
+ return Marshal.ReadInt32(mBufferPtr);
+ return -1;
+ }
+ set
+ {
+ int iValueLength = Marshal.SizeOf(typeof (int));
+ Marshal.WriteInt32(mBufferPtr, value);
+ mUsbDevice.SetPowerPolicy(PowerPolicyType.SuspendDelay, iValueLength, mBufferPtr);
+ }
+ }
+
+ /// <summary>
+ /// Frees instance resources.
+ /// </summary>
+ ~PowerPolicies()
+ {
+ if (mBufferPtr != IntPtr.Zero)
+ Marshal.FreeCoTaskMem(mBufferPtr);
+
+ mBufferPtr = IntPtr.Zero;
+ }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/PowerPolicyType.cs b/LibWinUsb/WinUsb/PowerPolicyType.cs
new file mode 100644
index 00000000..18dff208
--- /dev/null
+++ b/LibWinUsb/WinUsb/PowerPolicyType.cs
@@ -0,0 +1,30 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+namespace LibUsbDotNet.WinUsb
+{
+ internal enum PowerPolicyType : byte
+ {
+ AutoSuspend = 0x81,
+ EnableWake = 0x82,
+ SuspendDelay = 0x83,
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/WinUsbDevice.cs b/LibWinUsb/WinUsb/WinUsbDevice.cs
new file mode 100644
index 00000000..55ac2cd0
--- /dev/null
+++ b/LibWinUsb/WinUsb/WinUsbDevice.cs
@@ -0,0 +1,317 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using LibUsbDotNet.Descriptors;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Internal.WinUsb;
+using LibUsbDotNet.Main;
+using LibUsbDotNet.WinUsb.Internal;
+using Microsoft.Win32.SafeHandles;
+
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary>
+ /// Contains members specific to Microsofts WinUSB driver.
+ /// </summary>
+ /// <remarks>
+ /// A <see cref="WinUsbDevice"/> should be thought of as a part of, or an interface of a USB device.
+ /// The <see cref="WinUsbDevice"/> class does not have members for selecting configurations and
+ /// intefaces. This is done at a lower level by the winusb driver depending on which interface the
+ /// <see cref="WinUsbDevice"/> belongs to.
+ /// </remarks>
+ public class WinUsbDevice : UsbDevice, IUsbInterface
+ {
+ private readonly string mDevicePath;
+ private PowerPolicies mPowerPolicies;
+ private SafeFileHandle mSafeDevHandle;
+
+ internal WinUsbDevice(UsbApiBase usbApi,
+ SafeFileHandle usbHandle,
+ SafeHandle handle,
+ string devicePath)
+ : base(usbApi, handle)
+ {
+ mDevicePath = devicePath;
+ mSafeDevHandle = usbHandle;
+ mPowerPolicies = new PowerPolicies(this);
+ }
+
+ /// <summary>
+ /// Gets the power policies for this <see cref="WinUsbDevice"/>.
+ /// </summary>
+ public PowerPolicies PowerPolicy
+ {
+ get { return mPowerPolicies; }
+ }
+
+ /// <summary>
+ /// Gets the device path used to open this <see cref="WinUsbDevice"/>.
+ /// </summary>
+ public string DevicePath
+ {
+ get { return mDevicePath; }
+ }
+
+ #region IUsbInterface Members
+
+ /// <summary>
+ /// Returns the DriverMode this USB device is using.
+ /// </summary>
+ public override DriverModeType DriverMode
+ {
+ get { return DriverModeType.WinUsb; }
+ }
+
+ /// <summary>
+ /// Closes the <see cref="UsbDevice"/> and disposes any <see cref="UsbDevice.ActiveEndpoints"/>.
+ /// </summary>
+ /// <returns>True on success.</returns>
+ public override bool Close()
+ {
+ if (IsOpen)
+ {
+ ActiveEndpoints.Clear();
+ mUsbHandle.Close();
+
+ if (mSafeDevHandle != null)
+ if (!mSafeDevHandle.IsClosed)
+ mSafeDevHandle.Close();
+ }
+ return true;
+ }
+
+ ///<summary>
+ /// Opens the USB device handle.
+ ///</summary>
+ ///<returns>
+ ///True if the device is already opened or was opened successfully.
+ ///False if the device does not exists or is no longer valid.
+ ///</returns>
+ public override bool Open()
+ {
+ if (IsOpen) return true;
+
+ SafeFileHandle sfhDev;
+
+ bool bSuccess = WinUsbAPI.OpenDevice(out sfhDev, mDevicePath);
+ if (bSuccess)
+ {
+ SafeWinUsbInterfaceHandle handle = new SafeWinUsbInterfaceHandle();
+ if ((bSuccess = WinUsbAPI.WinUsb_Initialize(sfhDev, ref handle)))
+ {
+ mSafeDevHandle = sfhDev;
+ mUsbHandle = handle;
+ mPowerPolicies = new PowerPolicies(this);
+ }
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "Open:Initialize", typeof (UsbDevice));
+ }
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "Open", typeof(UsbDevice));
+
+
+ return bSuccess;
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Opens a WinUsb directly from the user supplied device path.
+ /// </summary>
+ /// <param name="devicePath">Device path (symbolic link) of the WinUsb device to open.</param>
+ /// <param name="usbDevice">Returns an opened WinUsb device on success, null on failure.</param>
+ /// <returns>True on success.</returns>
+ public static bool Open(string devicePath, out WinUsbDevice usbDevice)
+ {
+ usbDevice = null;
+
+ SafeFileHandle sfhDev;
+
+ bool bSuccess = WinUsbAPI.OpenDevice(out sfhDev, devicePath);
+ if (bSuccess)
+ {
+ SafeWinUsbInterfaceHandle handle = new SafeWinUsbInterfaceHandle();
+ bSuccess = WinUsbAPI.WinUsb_Initialize(sfhDev, ref handle);
+ if (bSuccess)
+ {
+ usbDevice = new WinUsbDevice(WinUsbApi, sfhDev, handle, devicePath);
+ }
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "Open:Initialize", typeof(UsbDevice));
+ }
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "Open", typeof(UsbDevice));
+
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets endpoint policies for the specified endpoint id.
+ /// </summary>
+ /// <param name="epNum">The endpoint ID to retrieve <see cref="PipePolicies"/> for.</param>
+ /// <returns>A <see cref="PipePolicies"/> class.</returns>
+ public PipePolicies EndpointPolicies(ReadEndpointID epNum) { return new PipePolicies(mUsbHandle, (byte) epNum); }
+
+ /// <summary>
+ /// Gets endpoint policies for the specified endpoint id.
+ /// </summary>
+ /// <param name="epNum">The endpoint ID to retrieve <see cref="PipePolicies"/> for.</param>
+ /// <returns>A <see cref="PipePolicies"/> class.</returns>
+ public PipePolicies EndpointPolicies(WriteEndpointID epNum) { return new PipePolicies(mUsbHandle, (byte) epNum); }
+
+ /// <summary>
+ /// Gets an interface associated with this <see cref="WinUsbDevice"/>.
+ /// </summary>
+ /// <param name="associatedInterfaceIndex">The index to retrieve. (0 = next interface, 1= interface after next, etc.).</param>
+ /// <param name="usbDevice">A new <see cref="WinUsbDevice"/> class for the specified AssociatedInterfaceIndex.</param>
+ /// <returns>True on success.</returns>
+ public bool GetAssociatedInterface(byte associatedInterfaceIndex, out WinUsbDevice usbDevice)
+ {
+ usbDevice = null;
+ IntPtr pHandle = IntPtr.Zero;
+ bool bSuccess = WinUsbAPI.WinUsb_GetAssociatedInterface(mUsbHandle, associatedInterfaceIndex, ref pHandle);
+ if (bSuccess)
+ {
+ SafeWinUsbInterfaceHandle tempHandle = new SafeWinUsbInterfaceHandle(pHandle);
+
+ usbDevice = new WinUsbDevice(mUsbApi, null, tempHandle, mDevicePath);
+ }
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetAssociatedInterface", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets the currently selected alternate settings number for the selected inteface.
+ /// </summary>
+ /// <param name="settingNumber">The selected AlternateSetting number.</param>
+ /// <returns>True on success.</returns>
+ public bool GetCurrentAlternateSetting(out byte settingNumber)
+ {
+ bool bSuccess;
+ //settingNumber = 0;
+ //if (LockDevice() != ErrorCode.None) return false;
+
+ //try
+ //{
+ bSuccess = WinUsbAPI.WinUsb_GetCurrentAlternateSetting(mUsbHandle, out settingNumber);
+
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetCurrentAlternateSetting", this);
+ //}
+ //finally
+ //{
+ // UnlockDevice();
+ //}
+
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets the device speed.
+ /// </summary>
+ /// <param name="deviceSpeed">The device speed.</param>
+ /// <returns>True on success.</returns>
+ public bool QueryDeviceSpeed(out DeviceSpeedTypes deviceSpeed)
+ {
+ deviceSpeed = DeviceSpeedTypes.Undefined;
+ byte[] buf = new byte[1];
+ int uTransferLength = 1;
+ bool bSuccess = WinUsbAPI.WinUsb_QueryDeviceInformation(mUsbHandle, DeviceInformationTypes.DeviceSpeed, ref uTransferLength, buf);
+
+ if (bSuccess)
+ {
+ deviceSpeed = (DeviceSpeedTypes) buf[0];
+ }
+ else
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "QueryDeviceInformation:QueryDeviceSpeed", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets a <see cref="UsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber,
+ /// </summary>
+ /// <param name="alternateInterfaceNumber">The alternate interface index for the <see cref="UsbInterfaceDescriptor"/> to retrieve. </param>
+ /// <param name="usbAltInterfaceDescriptor">The <see cref="UsbInterfaceDescriptor"/> for the specified AlternateInterfaceNumber.</param>
+ /// <returns>True on success.</returns>
+ public bool QueryInterfaceSettings(byte alternateInterfaceNumber, ref UsbInterfaceDescriptor usbAltInterfaceDescriptor)
+ {
+ bool bSuccess;
+ //if (mSemDeviceLock != null)
+ //{
+ // if (LockDevice() != ErrorCode.None) return false;
+ //}
+
+ //try
+ //{
+ bSuccess = WinUsbAPI.WinUsb_QueryInterfaceSettings(Handle, alternateInterfaceNumber, usbAltInterfaceDescriptor);
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "QueryInterfaceSettings", this);
+ //}
+ //finally
+ //{
+ // if (mSemDeviceLock != null) UnlockDevice();
+ //}
+
+ return bSuccess;
+ }
+
+ internal bool GetPowerPolicy(PowerPolicyType policyType, ref int valueLength, IntPtr pBuffer)
+ {
+ bool bSuccess = WinUsbAPI.WinUsb_GetPowerPolicy(mUsbHandle, policyType, ref valueLength, pBuffer);
+
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetPowerPolicy", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Gets a list a valid, connected WinUSB device inteface paths for the a given WinUSB device interface guid.
+ /// </summary>
+ /// <param name="interfaceGuid">A WinUSB DeviceInterfaceGUID. This is set in the usb devices inf file when the drivers for it are installed.</param>
+ /// <param name="devicePathList">A list of connected WinUSB device inteface paths.</param>
+ /// <returns>True if one or more device paths were found. False if no devices are found or an error occured. <see cref="UsbDevice.UsbErrorEvent"/> </returns>
+ public static bool GetDevicePathList(Guid interfaceGuid, out List<String> devicePathList) { return WinUsbRegistry.GetDevicePathList(interfaceGuid, out devicePathList); }
+
+ internal bool SetPowerPolicy(PowerPolicyType policyType, int valueLength, IntPtr pBuffer)
+ {
+ bool bSuccess = WinUsbAPI.WinUsb_SetPowerPolicy(mUsbHandle, policyType, valueLength, pBuffer);
+
+ if (!bSuccess)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "SetPowerPolicy", this);
+
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Closes the device. <see cref="WinUsbDevice.Close"/>.
+ /// </summary>
+ ~WinUsbDevice() { Close(); }
+ }
+} \ No newline at end of file
diff --git a/LibWinUsb/WinUsb/WinUsbRegistry.cs b/LibWinUsb/WinUsb/WinUsbRegistry.cs
new file mode 100644
index 00000000..d7ef5616
--- /dev/null
+++ b/LibWinUsb/WinUsb/WinUsbRegistry.cs
@@ -0,0 +1,518 @@
+// Copyright © 2006-2010 Travis Robinson. All rights reserved.
+//
+// website: http://sourceforge.net/projects/libusbdotnet
+// e-mail: libusbdotnet@gmail.com
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+// for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. or
+// visit www.gnu.org.
+//
+//
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Globalization;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Text.RegularExpressions;
+using LibUsbDotNet.Internal;
+using LibUsbDotNet.Internal.UsbRegex;
+using LibUsbDotNet.Main;
+using Microsoft.Win32;
+
+namespace LibUsbDotNet.WinUsb
+{
+ /// <summary> WinUsb specific members for device registry settings.
+ /// </summary>
+ public class WinUsbRegistry : UsbRegistry
+ {
+ private bool mIsDeviceIDParsed;
+
+ private string mDeviceID;
+
+ // Parsed out of the device ID
+ private byte mInterfaceID;
+ private ushort mVid;
+ private ushort mPid;
+
+ /// <summary>
+ /// Gets a list of WinUSB device paths for the specified interface guid.
+ /// </summary>
+ /// <param name="deviceInterfaceGuid">The DeviceInterfaceGUID to search for.</param>
+ /// <param name="devicePathList">A list of device paths associated with the <paramref name="deviceInterfaceGuid"/>.</param>
+ /// <returns>True of one or more device paths was found.</returns>
+ /// <remarks>
+ /// Each device path string in the <paramref name="devicePathList"/> represents a seperate WinUSB device (interface).
+ /// </remarks>
+ /// <seealso cref="GetWinUsbRegistryList"/>
+ public static bool GetDevicePathList(Guid deviceInterfaceGuid, out List<String> devicePathList)
+ {
+ devicePathList = new List<string>();
+ int devicePathIndex = 0;
+ SetupApi.SP_DEVICE_INTERFACE_DATA interfaceData = SetupApi.SP_DEVICE_INTERFACE_DATA.Empty;
+ SetupApi.DeviceInterfaceDetailHelper detailHelper;
+
+ IntPtr deviceInfo = SetupApi.SetupDiGetClassDevs(ref deviceInterfaceGuid, null, IntPtr.Zero, SetupApi.DICFG.PRESENT | SetupApi.DICFG.DEVICEINTERFACE);
+ if (deviceInfo != IntPtr.Zero)
+ {
+ while ((SetupApi.SetupDiEnumDeviceInterfaces(deviceInfo, null, ref deviceInterfaceGuid, devicePathIndex, ref interfaceData)))
+ {
+ int length = 1024;
+ detailHelper = new SetupApi.DeviceInterfaceDetailHelper(length);
+ bool bResult = SetupApi.SetupDiGetDeviceInterfaceDetail(deviceInfo, ref interfaceData, detailHelper.Handle, length, out length, null);
+ if (bResult) devicePathList.Add(detailHelper.DevicePath);
+
+ devicePathIndex++;
+ }
+ }
+ if (devicePathIndex == 0)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetDevicePathList", typeof(SetupApi));
+
+ if (deviceInfo != IntPtr.Zero)
+ SetupApi.SetupDiDestroyDeviceInfoList(deviceInfo);
+
+ return (devicePathIndex > 0);
+ }
+
+ /// <summary>
+ /// Gets a list of <see cref="WinUsbRegistry"/> classes for the specified interface guid.
+ /// </summary>
+ /// <param name="deviceInterfaceGuid">The DeviceInterfaceGUID to search for.</param>
+ /// <param name="deviceRegistryList">A list of device paths associated with the <paramref name="deviceInterfaceGuid"/>.</param>
+ /// <returns>True of one or more device paths was found.</returns>
+ /// <remarks>
+ /// Each <see cref="WinUsbRegistry"/> in the <paramref name="deviceRegistryList"/> represents a seperate WinUSB device (interface).
+ /// </remarks>
+ public static bool GetWinUsbRegistryList(Guid deviceInterfaceGuid, out List<WinUsbRegistry> deviceRegistryList)
+ {
+ deviceRegistryList = new List<WinUsbRegistry>();
+
+ int devicePathIndex = 0;
+ SetupApi.SP_DEVICE_INTERFACE_DATA interfaceData = SetupApi.SP_DEVICE_INTERFACE_DATA.Empty;
+ SetupApi.DeviceInterfaceDetailHelper detailHelper;
+
+ SetupApi.SP_DEVINFO_DATA devInfoData = SetupApi.SP_DEVINFO_DATA.Empty;
+
+ // [1]
+ IntPtr deviceInfo = SetupApi.SetupDiGetClassDevs(ref deviceInterfaceGuid, null, IntPtr.Zero, SetupApi.DICFG.PRESENT | SetupApi.DICFG.DEVICEINTERFACE);
+ if (deviceInfo != IntPtr.Zero)
+ {
+ while ((SetupApi.SetupDiEnumDeviceInterfaces(deviceInfo, null, ref deviceInterfaceGuid, devicePathIndex, ref interfaceData)))
+ {
+ int length = 1024;
+ detailHelper = new SetupApi.DeviceInterfaceDetailHelper(length);
+ bool bResult = SetupApi.SetupDiGetDeviceInterfaceDetail(deviceInfo, ref interfaceData, detailHelper.Handle, length, out length, ref devInfoData);
+ if (bResult)
+ {
+ WinUsbRegistry regInfo = new WinUsbRegistry();
+
+ SetupApi.getSPDRPProperties(deviceInfo, ref devInfoData, regInfo.mDeviceProperties);
+
+ // Use the actual winusb device path for SYMBOLIC_NAME_KEY. This will be used to open the device.
+ regInfo.mDeviceProperties.Add(SYMBOLIC_NAME_KEY, detailHelper.DevicePath);
+
+ //Debug.WriteLine(detailHelper.DevicePath);
+
+ regInfo.mDeviceInterfaceGuids = new Guid[] { deviceInterfaceGuid };
+
+ StringBuilder sbDeviceID=new StringBuilder(1024);
+ if (SetupApi.CM_Get_Device_ID(devInfoData.DevInst,sbDeviceID,sbDeviceID.Capacity,0)==SetupApi.CR.SUCCESS)
+ {
+ regInfo.mDeviceProperties[DEVICE_ID_KEY] = sbDeviceID.ToString();
+ }
+ deviceRegistryList.Add(regInfo);
+ }
+
+ devicePathIndex++;
+ }
+ }
+ if (devicePathIndex == 0)
+ UsbError.Error(ErrorCode.Win32Error, Marshal.GetLastWin32Error(), "GetDevicePathList", typeof(SetupApi));
+
+ if (deviceInfo != IntPtr.Zero)
+ SetupApi.SetupDiDestroyDeviceInfoList(deviceInfo);
+
+ return (devicePathIndex > 0);
+ }
+
+ internal WinUsbRegistry() { }
+
+ /// <summary>
+ /// Gets a list of available LibUsb devices.
+ /// </summary>
+ public static List<WinUsbRegistry> DeviceList
+ {
+ get
+ {
+ List<WinUsbRegistry> deviceList = new List<WinUsbRegistry>();
+ SetupApi.EnumClassDevs(null, SetupApi.DICFG.ALLCLASSES | SetupApi.DICFG.PRESENT, WinUsbRegistryCallBack, deviceList);
+ return deviceList;
+ }
+ }
+
+ /// <summary>
+ /// Gets a collection of DeviceInterfaceGuids that are associated with this WinUSB device.
+ /// </summary>
+ public override Guid[] DeviceInterfaceGuids
+ {
+ get
+ {
+ return mDeviceInterfaceGuids;
+ }
+ }
+
+ /// <summary>
+ /// Check this value to determine if the usb device is still connected to the bus and ready to open.
+ /// </summary>
+ /// <remarks>
+ /// Uses the symbolic name as a unique id to determine if this device instance is still attached.
+ /// </remarks>
+ /// <exception cref="UsbException">An exception is thrown if the <see cref="UsbRegistry.SymbolicName"/> property is null or empty.</exception>
+ public override bool IsAlive
+ {
+ get
+ {
+ if (String.IsNullOrEmpty(SymbolicName)) throw new UsbException(this, "A symbolic name is required for this property.");
+
+ List<WinUsbRegistry> deviceList = DeviceList;
+ foreach (WinUsbRegistry registry in deviceList)
+ {
+ if (String.IsNullOrEmpty(registry.SymbolicName)) continue;
+
+ if (registry.SymbolicName == SymbolicName)
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <returns>Return a new instance of the <see cref="UsbDevice"/> class.
+ /// If the device fails to open a null refrence is return. For extended error
+ /// information use the <see cref="UsbDevice.UsbErrorEvent"/>.
+ /// </returns>
+ public override UsbDevice Device
+ {
+ get
+ {
+ WinUsbDevice winUsbDevice;
+ Open(out winUsbDevice);
+ return winUsbDevice;
+ }
+ }
+
+
+ private void parseDeviceID()
+ {
+ if (mIsDeviceIDParsed) return;
+
+ mIsDeviceIDParsed = true;
+
+ byte bTemp;
+ ushort uTemp;
+
+ MatchCollection matches = RegHardwareID.GlobalInstance.Matches(DeviceID);
+ foreach (Match match in matches)
+ {
+ foreach (NamedGroup namedGroup in RegHardwareID.NAMED_GROUPS)
+ {
+ Group g = match.Groups[namedGroup.GroupNumber];
+ if (g.Success)
+ {
+ switch ((RegHardwareID.ENamedGroups)namedGroup.GroupNumber)
+ {
+ case RegHardwareID.ENamedGroups.Vid:
+ if (ushort.TryParse(g.Value, NumberStyles.HexNumber, null, out uTemp))
+ {
+ mVid = uTemp;
+ break;
+ }
+ break;
+ case RegHardwareID.ENamedGroups.Pid:
+ if (ushort.TryParse(g.Value, NumberStyles.HexNumber, null, out uTemp))
+ {
+ mPid = uTemp;
+ break;
+ }
+ break;
+ case RegHardwareID.ENamedGroups.Rev:
+ break;
+ case RegHardwareID.ENamedGroups.MI:
+ if (Byte.TryParse(g.Value, NumberStyles.HexNumber, null, out bTemp))
+ {
+ mInterfaceID = bTemp;
+ break;
+ }
+ break;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+ }
+
+ }
+ }
+
+ /// <summary>
+ /// Gets the device instance id.
+ /// </summary>
+ /// <remarks>
+ /// For more information on device instance ids, see the <a href="http://msdn.microsoft.com/en-us/library/ff538405%28v=VS.85%29.aspx">CM_Get_Device_ID Function</a> at MSDN.
+ /// </remarks>
+ public string DeviceID
+ {
+ get
+ {
+ if (ReferenceEquals(mDeviceID,null))
+ {
+ object oDeviceID;
+ if (mDeviceProperties.TryGetValue(DEVICE_ID_KEY, out oDeviceID))
+ {
+ mDeviceID = oDeviceID.ToString();
+ }
+ else
+ {
+ mDeviceID = string.Empty;
+ }
+ }
+ return mDeviceID;
+ }
+ }
+
+ /// <summary>
+ /// VendorID
+ /// </summary>
+ /// <remarks>This value is parsed out of the <see cref="DeviceID"/> field.</remarks>
+ public override int Vid
+ {
+ get
+ {
+ parseDeviceID();
+ return mVid;
+ }
+ }
+
+ /// <summary>
+ /// ProductID
+ /// </summary>
+ /// <remarks>This value is parsed out of the <see cref="DeviceID"/> field.</remarks>
+ public override int Pid
+ {
+ get
+ {
+ parseDeviceID();
+ return mPid;
+ }
+ }
+
+
+ ///<summary>
+ /// Gets the interface ID this WinUSB device (interface) is associated with.
+ ///</summary>
+ /// <remarks>This value is parsed out of the <see cref="DeviceID"/> field.</remarks>
+ public byte InterfaceID
+ {
+ get
+ {
+ parseDeviceID();
+ return (byte) mInterfaceID;
+ }
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">The newly created UsbDevice.</param>
+ /// <returns>True on success.</returns>
+ public override bool Open(out UsbDevice usbDevice)
+ {
+ usbDevice = null;
+ WinUsbDevice winUsbDevice;
+ bool bSuccess = Open(out winUsbDevice);
+ if (bSuccess)
+ usbDevice = winUsbDevice;
+ return bSuccess;
+ }
+
+ /// <summary>
+ /// Opens the USB device for communucation.
+ /// </summary>
+ /// <param name="usbDevice">Returns an opened WinUsb device on success, null on failure.</param>
+ /// <returns>True on success.</returns>
+ public bool Open(out WinUsbDevice usbDevice)
+ {
+ usbDevice = null;
+
+ if (String.IsNullOrEmpty(SymbolicName)) return false;
+ if (WinUsbDevice.Open(SymbolicName, out usbDevice))
+ {
+ usbDevice.mUsbRegistry = this;
+ return true;
+ }
+ return false;
+ }
+
+ /*
+ private static bool WinUsbRegistryCallBack(IntPtr deviceInfoSet,
+ int deviceIndex,
+ ref SetupApi.SP_DEVINFO_DATA deviceInfoData,
+ object classEnumeratorCallbackParam1)
+ {
+
+ List<WinUsbRegistry> deviceList = (List<WinUsbRegistry>) classEnumeratorCallbackParam1;
+
+ RegistryValueKind propertyType;
+ byte[] propBuffer = new byte[256];
+ int requiredSize;
+ bool isNew = true;
+ bool bSuccess;
+
+ bSuccess = SetupApi.SetupDiGetCustomDeviceProperty(deviceInfoSet,
+ ref deviceInfoData,
+ DEVICE_INTERFACE_GUIDS,
+ SetupApi.DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ string[] devInterfaceGuids = GetAsStringArray(propBuffer, requiredSize);
+
+ foreach (String devInterfaceGuid in devInterfaceGuids)
+ {
+ Guid g = new Guid(devInterfaceGuid);
+ List<string> devicePaths;
+ if (SetupApi.GetDevicePathList(g, out devicePaths))
+ {
+ foreach (string devicePath in devicePaths)
+ {
+ WinUsbRegistry regInfo = new WinUsbRegistry();
+
+ SetupApi.getSPDRPProperties(deviceInfoSet, ref deviceInfoData, regInfo.mDeviceProperties);
+
+ // Use the actual winusb device path for SYMBOLIC_NAME_KEY. This will be used to open the device.
+ regInfo.mDeviceProperties.Add(SYMBOLIC_NAME_KEY, devicePath);
+
+ regInfo.mDeviceInterfaceGuids = new Guid[] { g };
+
+ // Don't add duplicate devices (with the same device path)
+ WinUsbRegistry foundRegistry=null;
+ foreach (WinUsbRegistry usbRegistry in deviceList)
+ {
+ if (usbRegistry.SymbolicName == regInfo.SymbolicName)
+ {
+ foundRegistry = usbRegistry;
+ break;
+ }
+ }
+ if (foundRegistry == null)
+ deviceList.Add(regInfo);
+ else
+ {
+ if (isNew)
+ {
+ deviceList.Remove(foundRegistry);
+ deviceList.Add(regInfo);
+ }
+ else
+ {
+
+ // If the device path already exists, add this compatible guid
+ // to the foundRegstry guid list.
+ List<Guid> newGuidList = new List<Guid>(foundRegistry.mDeviceInterfaceGuids);
+ if (!newGuidList.Contains(g))
+ {
+ newGuidList.Add(g);
+ foundRegistry.mDeviceInterfaceGuids = newGuidList.ToArray();
+ }
+ }
+ }
+ isNew = false;
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+ */
+ private static bool WinUsbRegistryCallBack(IntPtr deviceInfoSet,
+ int deviceIndex,
+ ref SetupApi.SP_DEVINFO_DATA deviceInfoData,
+ object classEnumeratorCallbackParam1)
+ {
+
+ List<WinUsbRegistry> deviceList = (List<WinUsbRegistry>)classEnumeratorCallbackParam1;
+
+ RegistryValueKind propertyType;
+ byte[] propBuffer = new byte[256];
+ int requiredSize;
+ bool bSuccess;
+
+ bSuccess = SetupApi.SetupDiGetCustomDeviceProperty(deviceInfoSet,
+ ref deviceInfoData,
+ DEVICE_INTERFACE_GUIDS,
+ SetupApi.DICUSTOMDEVPROP.NONE,
+ out propertyType,
+ propBuffer,
+ propBuffer.Length,
+ out requiredSize);
+ if (bSuccess)
+ {
+ string[] devInterfaceGuids = GetAsStringArray(propBuffer, requiredSize);
+
+ foreach (String devInterfaceGuid in devInterfaceGuids)
+ {
+ Guid g = new Guid(devInterfaceGuid);
+ List<WinUsbRegistry> tempList;
+ if (GetWinUsbRegistryList(g, out tempList))
+ {
+ foreach (WinUsbRegistry regInfo in tempList)
+ {
+ // Don't add duplicate devices (with the same device path)
+ WinUsbRegistry foundRegistry = null;
+ foreach (WinUsbRegistry usbRegistry in deviceList)
+ {
+ if (usbRegistry.SymbolicName == regInfo.SymbolicName)
+ {
+ foundRegistry = usbRegistry;
+ break;
+ }
+ }
+ if (foundRegistry == null)
+ deviceList.Add(regInfo);
+ else
+ {
+ // If the device path already exists, add this compatible guid
+ // to the foundRegstry guid list.
+ List<Guid> newGuidList = new List<Guid>(foundRegistry.mDeviceInterfaceGuids);
+ if (!newGuidList.Contains(g))
+ {
+ newGuidList.Add(g);
+ foundRegistry.mDeviceInterfaceGuids = newGuidList.ToArray();
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+
+ }
+} \ No newline at end of file
diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs
index 62499f59..9e41efde 100644
--- a/MainForm.Designer.cs
+++ b/MainForm.Designer.cs
@@ -46,14 +46,25 @@
this.dumpKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.flashOriginalKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.flashCustomKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripSeparator();
+ this.membootOriginalKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.membootPatchedKernelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
+ this.dumpTheWholeNANDToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolFlashTheWholeNANDStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.dumpNANDBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripSeparator();
this.uninstallToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.modulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.installModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.uninstallModulesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.consoleTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.nESMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.famicomMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.sNESMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.superFamicomMiniToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cloverconHackToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.resetUsingCombinationOfButtonsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.selectButtonCombinationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -62,6 +73,7 @@
this.upABStartOnSecondControllerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.useExtendedFontToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.epilepsyProtectionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.compressGamesIfPossibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pagesfoldersTypeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.disablePagefoldersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
@@ -88,8 +100,19 @@
this.max100toolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.customToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.compressGamesIfPossibleToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
+ this.saveSettingsToNESMiniNowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.saveStateManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripSeparator();
+ this.FTPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openFTPInExplorerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripSeparator();
+ this.shellToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.openTelnetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripSeparator();
+ this.takeScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.gitHubPageWithActualReleasesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fAQToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -119,6 +142,7 @@
this.label5 = new System.Windows.Forms.Label();
this.buttonAddGames = new System.Windows.Forms.Button();
this.statusStrip = new System.Windows.Forms.StatusStrip();
+ this.toolStripStatusConnectionIcon = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelSelected = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelSize = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar();
@@ -132,6 +156,9 @@
this.groupBoxDefaultGames = new System.Windows.Forms.GroupBox();
this.checkedListBoxDefaultGames = new System.Windows.Forms.CheckedListBox();
this.timerCalculateGames = new System.Windows.Forms.Timer(this.components);
+ this.timerConnectionCheck = new System.Windows.Forms.Timer(this.components);
+ this.saveDumpFileDialog = new System.Windows.Forms.SaveFileDialog();
+ this.openDumpFileDialog = new System.Windows.Forms.OpenFileDialog();
this.menuStrip.SuspendLayout();
this.groupBoxOptions.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxArt)).BeginInit();
@@ -142,18 +169,18 @@
//
// menuStrip
//
- resources.ApplyResources(this.menuStrip, "menuStrip");
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.kernelToolStripMenuItem,
this.modulesToolStripMenuItem,
this.settingsToolStripMenuItem,
+ this.toolsToolStripMenuItem,
this.helpToolStripMenuItem});
+ resources.ApplyResources(this.menuStrip, "menuStrip");
this.menuStrip.Name = "menuStrip";
//
// fileToolStripMenuItem
//
- resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addMoreGamesToolStripMenuItem,
this.presetsToolStripMenuItem,
@@ -163,159 +190,234 @@
this.toolStripMenuItem1,
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
+ resources.ApplyResources(this.fileToolStripMenuItem, "fileToolStripMenuItem");
//
// addMoreGamesToolStripMenuItem
//
- resources.ApplyResources(this.addMoreGamesToolStripMenuItem, "addMoreGamesToolStripMenuItem");
this.addMoreGamesToolStripMenuItem.Name = "addMoreGamesToolStripMenuItem";
+ resources.ApplyResources(this.addMoreGamesToolStripMenuItem, "addMoreGamesToolStripMenuItem");
this.addMoreGamesToolStripMenuItem.Click += new System.EventHandler(this.buttonAddGames_Click);
//
// presetsToolStripMenuItem
//
- resources.ApplyResources(this.presetsToolStripMenuItem, "presetsToolStripMenuItem");
this.presetsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem2,
this.addPresetToolStripMenuItem,
this.deletePresetToolStripMenuItem});
this.presetsToolStripMenuItem.Name = "presetsToolStripMenuItem";
+ resources.ApplyResources(this.presetsToolStripMenuItem, "presetsToolStripMenuItem");
//
// toolStripMenuItem2
//
- resources.ApplyResources(this.toolStripMenuItem2, "toolStripMenuItem2");
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
+ resources.ApplyResources(this.toolStripMenuItem2, "toolStripMenuItem2");
//
// addPresetToolStripMenuItem
//
- resources.ApplyResources(this.addPresetToolStripMenuItem, "addPresetToolStripMenuItem");
this.addPresetToolStripMenuItem.Name = "addPresetToolStripMenuItem";
+ resources.ApplyResources(this.addPresetToolStripMenuItem, "addPresetToolStripMenuItem");
this.addPresetToolStripMenuItem.Click += new System.EventHandler(this.AddPreset);
//
// deletePresetToolStripMenuItem
//
- resources.ApplyResources(this.deletePresetToolStripMenuItem, "deletePresetToolStripMenuItem");
this.deletePresetToolStripMenuItem.Name = "deletePresetToolStripMenuItem";
+ resources.ApplyResources(this.deletePresetToolStripMenuItem, "deletePresetToolStripMenuItem");
//
// synchronizeToolStripMenuItem
//
- resources.ApplyResources(this.synchronizeToolStripMenuItem, "synchronizeToolStripMenuItem");
this.synchronizeToolStripMenuItem.Name = "synchronizeToolStripMenuItem";
+ resources.ApplyResources(this.synchronizeToolStripMenuItem, "synchronizeToolStripMenuItem");
this.synchronizeToolStripMenuItem.Click += new System.EventHandler(this.buttonStart_Click);
//
// searchToolStripMenuItem
//
- resources.ApplyResources(this.searchToolStripMenuItem, "searchToolStripMenuItem");
this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
+ resources.ApplyResources(this.searchToolStripMenuItem, "searchToolStripMenuItem");
this.searchToolStripMenuItem.Click += new System.EventHandler(this.searchToolStripMenuItem_Click);
//
// downloadCoversForAllGamesToolStripMenuItem
//
- resources.ApplyResources(this.downloadCoversForAllGamesToolStripMenuItem, "downloadCoversForAllGamesToolStripMenuItem");
this.downloadCoversForAllGamesToolStripMenuItem.Name = "downloadCoversForAllGamesToolStripMenuItem";
+ resources.ApplyResources(this.downloadCoversForAllGamesToolStripMenuItem, "downloadCoversForAllGamesToolStripMenuItem");
this.downloadCoversForAllGamesToolStripMenuItem.Click += new System.EventHandler(this.downloadCoversForAllGamesToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
- resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
+ resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
//
// exitToolStripMenuItem
//
- resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
+ resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// kernelToolStripMenuItem
//
- resources.ApplyResources(this.kernelToolStripMenuItem, "kernelToolStripMenuItem");
this.kernelToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.dumpKernelToolStripMenuItem,
this.flashOriginalKernelToolStripMenuItem,
this.flashCustomKernelToolStripMenuItem,
+ this.toolStripMenuItem11,
+ this.membootOriginalKernelToolStripMenuItem,
+ this.membootPatchedKernelToolStripMenuItem,
+ this.toolStripMenuItem10,
+ this.dumpTheWholeNANDToolStripMenuItem,
+ this.toolFlashTheWholeNANDStripMenuItem,
+ this.dumpNANDBToolStripMenuItem,
+ this.toolStripMenuItem9,
this.uninstallToolStripMenuItem});
this.kernelToolStripMenuItem.Name = "kernelToolStripMenuItem";
+ resources.ApplyResources(this.kernelToolStripMenuItem, "kernelToolStripMenuItem");
//
// dumpKernelToolStripMenuItem
//
- resources.ApplyResources(this.dumpKernelToolStripMenuItem, "dumpKernelToolStripMenuItem");
this.dumpKernelToolStripMenuItem.Name = "dumpKernelToolStripMenuItem";
+ resources.ApplyResources(this.dumpKernelToolStripMenuItem, "dumpKernelToolStripMenuItem");
this.dumpKernelToolStripMenuItem.Click += new System.EventHandler(this.dumpKernelToolStripMenuItem_Click);
//
// flashOriginalKernelToolStripMenuItem
//
- resources.ApplyResources(this.flashOriginalKernelToolStripMenuItem, "flashOriginalKernelToolStripMenuItem");
this.flashOriginalKernelToolStripMenuItem.Name = "flashOriginalKernelToolStripMenuItem";
+ resources.ApplyResources(this.flashOriginalKernelToolStripMenuItem, "flashOriginalKernelToolStripMenuItem");
this.flashOriginalKernelToolStripMenuItem.Click += new System.EventHandler(this.flashOriginalKernelToolStripMenuItem_Click);
//
// flashCustomKernelToolStripMenuItem
//
- resources.ApplyResources(this.flashCustomKernelToolStripMenuItem, "flashCustomKernelToolStripMenuItem");
this.flashCustomKernelToolStripMenuItem.Name = "flashCustomKernelToolStripMenuItem";
+ resources.ApplyResources(this.flashCustomKernelToolStripMenuItem, "flashCustomKernelToolStripMenuItem");
this.flashCustomKernelToolStripMenuItem.Click += new System.EventHandler(this.flashCustomKernelToolStripMenuItem_Click);
//
+ // toolStripMenuItem11
+ //
+ this.toolStripMenuItem11.Name = "toolStripMenuItem11";
+ resources.ApplyResources(this.toolStripMenuItem11, "toolStripMenuItem11");
+ //
+ // membootOriginalKernelToolStripMenuItem
+ //
+ this.membootOriginalKernelToolStripMenuItem.Name = "membootOriginalKernelToolStripMenuItem";
+ resources.ApplyResources(this.membootOriginalKernelToolStripMenuItem, "membootOriginalKernelToolStripMenuItem");
+ this.membootOriginalKernelToolStripMenuItem.Click += new System.EventHandler(this.membootOriginalKernelToolStripMenuItem_Click);
+ //
+ // membootPatchedKernelToolStripMenuItem
+ //
+ this.membootPatchedKernelToolStripMenuItem.Name = "membootPatchedKernelToolStripMenuItem";
+ resources.ApplyResources(this.membootPatchedKernelToolStripMenuItem, "membootPatchedKernelToolStripMenuItem");
+ this.membootPatchedKernelToolStripMenuItem.Click += new System.EventHandler(this.membootPatchedKernelToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem10
+ //
+ this.toolStripMenuItem10.Name = "toolStripMenuItem10";
+ resources.ApplyResources(this.toolStripMenuItem10, "toolStripMenuItem10");
+ //
+ // dumpTheWholeNANDToolStripMenuItem
+ //
+ this.dumpTheWholeNANDToolStripMenuItem.Name = "dumpTheWholeNANDToolStripMenuItem";
+ resources.ApplyResources(this.dumpTheWholeNANDToolStripMenuItem, "dumpTheWholeNANDToolStripMenuItem");
+ this.dumpTheWholeNANDToolStripMenuItem.Click += new System.EventHandler(this.dumpTheWholeNANDToolStripMenuItem_Click);
+ //
+ // toolFlashTheWholeNANDStripMenuItem
+ //
+ this.toolFlashTheWholeNANDStripMenuItem.Name = "toolFlashTheWholeNANDStripMenuItem";
+ resources.ApplyResources(this.toolFlashTheWholeNANDStripMenuItem, "toolFlashTheWholeNANDStripMenuItem");
+ this.toolFlashTheWholeNANDStripMenuItem.Click += new System.EventHandler(this.toolFlashTheWholeNANDStripMenuItem_Click);
+ //
+ // dumpNANDBToolStripMenuItem
+ //
+ this.dumpNANDBToolStripMenuItem.Name = "dumpNANDBToolStripMenuItem";
+ resources.ApplyResources(this.dumpNANDBToolStripMenuItem, "dumpNANDBToolStripMenuItem");
+ this.dumpNANDBToolStripMenuItem.Click += new System.EventHandler(this.dumpNANDBToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem9
+ //
+ this.toolStripMenuItem9.Name = "toolStripMenuItem9";
+ resources.ApplyResources(this.toolStripMenuItem9, "toolStripMenuItem9");
+ //
// uninstallToolStripMenuItem
//
- resources.ApplyResources(this.uninstallToolStripMenuItem, "uninstallToolStripMenuItem");
this.uninstallToolStripMenuItem.Name = "uninstallToolStripMenuItem";
+ resources.ApplyResources(this.uninstallToolStripMenuItem, "uninstallToolStripMenuItem");
this.uninstallToolStripMenuItem.Click += new System.EventHandler(this.uninstallToolStripMenuItem_Click);
//
// modulesToolStripMenuItem
//
- resources.ApplyResources(this.modulesToolStripMenuItem, "modulesToolStripMenuItem");
this.modulesToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.installModulesToolStripMenuItem,
this.uninstallModulesToolStripMenuItem});
this.modulesToolStripMenuItem.Name = "modulesToolStripMenuItem";
+ resources.ApplyResources(this.modulesToolStripMenuItem, "modulesToolStripMenuItem");
//
// installModulesToolStripMenuItem
//
- resources.ApplyResources(this.installModulesToolStripMenuItem, "installModulesToolStripMenuItem");
this.installModulesToolStripMenuItem.Name = "installModulesToolStripMenuItem";
+ resources.ApplyResources(this.installModulesToolStripMenuItem, "installModulesToolStripMenuItem");
this.installModulesToolStripMenuItem.Click += new System.EventHandler(this.installModulesToolStripMenuItem_Click);
//
// uninstallModulesToolStripMenuItem
//
- resources.ApplyResources(this.uninstallModulesToolStripMenuItem, "uninstallModulesToolStripMenuItem");
this.uninstallModulesToolStripMenuItem.Name = "uninstallModulesToolStripMenuItem";
+ resources.ApplyResources(this.uninstallModulesToolStripMenuItem, "uninstallModulesToolStripMenuItem");
this.uninstallModulesToolStripMenuItem.Click += new System.EventHandler(this.uninstallModulesToolStripMenuItem_Click);
//
// settingsToolStripMenuItem
//
- resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem");
this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.languageToolStripMenuItem,
this.consoleTypeToolStripMenuItem,
this.cloverconHackToolStripMenuItem,
this.useExtendedFontToolStripMenuItem,
this.epilepsyProtectionToolStripMenuItem,
- this.pagesfoldersTypeToolStripMenuItem,
this.compressGamesIfPossibleToolStripMenuItem,
- this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem});
+ this.pagesfoldersTypeToolStripMenuItem,
+ this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem,
+ this.toolStripMenuItem5,
+ this.saveSettingsToNESMiniNowToolStripMenuItem});
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
+ resources.ApplyResources(this.settingsToolStripMenuItem, "settingsToolStripMenuItem");
+ //
+ // languageToolStripMenuItem
+ //
+ resources.ApplyResources(this.languageToolStripMenuItem, "languageToolStripMenuItem");
+ this.languageToolStripMenuItem.Name = "languageToolStripMenuItem";
//
// consoleTypeToolStripMenuItem
//
- resources.ApplyResources(this.consoleTypeToolStripMenuItem, "consoleTypeToolStripMenuItem");
this.consoleTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.nESMiniToolStripMenuItem,
- this.famicomMiniToolStripMenuItem});
+ this.famicomMiniToolStripMenuItem,
+ this.sNESMiniToolStripMenuItem,
+ this.superFamicomMiniToolStripMenuItem});
this.consoleTypeToolStripMenuItem.Name = "consoleTypeToolStripMenuItem";
+ resources.ApplyResources(this.consoleTypeToolStripMenuItem, "consoleTypeToolStripMenuItem");
//
// nESMiniToolStripMenuItem
//
- resources.ApplyResources(this.nESMiniToolStripMenuItem, "nESMiniToolStripMenuItem");
this.nESMiniToolStripMenuItem.Checked = true;
this.nESMiniToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.nESMiniToolStripMenuItem.Name = "nESMiniToolStripMenuItem";
+ resources.ApplyResources(this.nESMiniToolStripMenuItem, "nESMiniToolStripMenuItem");
this.nESMiniToolStripMenuItem.Click += new System.EventHandler(this.nESMiniToolStripMenuItem_Click);
//
// famicomMiniToolStripMenuItem
//
- resources.ApplyResources(this.famicomMiniToolStripMenuItem, "famicomMiniToolStripMenuItem");
this.famicomMiniToolStripMenuItem.Name = "famicomMiniToolStripMenuItem";
+ resources.ApplyResources(this.famicomMiniToolStripMenuItem, "famicomMiniToolStripMenuItem");
this.famicomMiniToolStripMenuItem.Click += new System.EventHandler(this.famicomMiniToolStripMenuItem_Click);
//
+ // sNESMiniToolStripMenuItem
+ //
+ this.sNESMiniToolStripMenuItem.Name = "sNESMiniToolStripMenuItem";
+ resources.ApplyResources(this.sNESMiniToolStripMenuItem, "sNESMiniToolStripMenuItem");
+ this.sNESMiniToolStripMenuItem.Click += new System.EventHandler(this.sNESMiniToolStripMenuItem_Click);
+ //
+ // superFamicomMiniToolStripMenuItem
+ //
+ resources.ApplyResources(this.superFamicomMiniToolStripMenuItem, "superFamicomMiniToolStripMenuItem");
+ this.superFamicomMiniToolStripMenuItem.Name = "superFamicomMiniToolStripMenuItem";
+ this.superFamicomMiniToolStripMenuItem.Click += new System.EventHandler(this.superFamicomMiniToolStripMenuItem_Click);
+ //
// cloverconHackToolStripMenuItem
//
- resources.ApplyResources(this.cloverconHackToolStripMenuItem, "cloverconHackToolStripMenuItem");
this.cloverconHackToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.resetUsingCombinationOfButtonsToolStripMenuItem,
this.selectButtonCombinationToolStripMenuItem,
@@ -323,62 +425,69 @@
this.useXYOnClassicControllerAsAutofireABToolStripMenuItem,
this.upABStartOnSecondControllerToolStripMenuItem});
this.cloverconHackToolStripMenuItem.Name = "cloverconHackToolStripMenuItem";
+ resources.ApplyResources(this.cloverconHackToolStripMenuItem, "cloverconHackToolStripMenuItem");
//
// resetUsingCombinationOfButtonsToolStripMenuItem
//
- resources.ApplyResources(this.resetUsingCombinationOfButtonsToolStripMenuItem, "resetUsingCombinationOfButtonsToolStripMenuItem");
this.resetUsingCombinationOfButtonsToolStripMenuItem.Checked = true;
this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckOnClick = true;
this.resetUsingCombinationOfButtonsToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.resetUsingCombinationOfButtonsToolStripMenuItem.Name = "resetUsingCombinationOfButtonsToolStripMenuItem";
+ resources.ApplyResources(this.resetUsingCombinationOfButtonsToolStripMenuItem, "resetUsingCombinationOfButtonsToolStripMenuItem");
this.resetUsingCombinationOfButtonsToolStripMenuItem.Click += new System.EventHandler(this.cloverconHackToolStripMenuItem_Click);
//
// selectButtonCombinationToolStripMenuItem
//
- resources.ApplyResources(this.selectButtonCombinationToolStripMenuItem, "selectButtonCombinationToolStripMenuItem");
this.selectButtonCombinationToolStripMenuItem.Name = "selectButtonCombinationToolStripMenuItem";
+ resources.ApplyResources(this.selectButtonCombinationToolStripMenuItem, "selectButtonCombinationToolStripMenuItem");
this.selectButtonCombinationToolStripMenuItem.Click += new System.EventHandler(this.selectButtonCombinationToolStripMenuItem_Click);
//
// enableAutofireToolStripMenuItem
//
- resources.ApplyResources(this.enableAutofireToolStripMenuItem, "enableAutofireToolStripMenuItem");
this.enableAutofireToolStripMenuItem.CheckOnClick = true;
this.enableAutofireToolStripMenuItem.Name = "enableAutofireToolStripMenuItem";
+ resources.ApplyResources(this.enableAutofireToolStripMenuItem, "enableAutofireToolStripMenuItem");
this.enableAutofireToolStripMenuItem.Click += new System.EventHandler(this.enableAutofireToolStripMenuItem_Click);
//
// useXYOnClassicControllerAsAutofireABToolStripMenuItem
//
- resources.ApplyResources(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem, "useXYOnClassicControllerAsAutofireABToolStripMenuItem");
this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.CheckOnClick = true;
this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name = "useXYOnClassicControllerAsAutofireABToolStripMenuItem";
+ resources.ApplyResources(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem, "useXYOnClassicControllerAsAutofireABToolStripMenuItem");
this.useXYOnClassicControllerAsAutofireABToolStripMenuItem.Click += new System.EventHandler(this.useXYOnClassicControllerAsAutofireABToolStripMenuItem_Click);
//
// upABStartOnSecondControllerToolStripMenuItem
//
- resources.ApplyResources(this.upABStartOnSecondControllerToolStripMenuItem, "upABStartOnSecondControllerToolStripMenuItem");
this.upABStartOnSecondControllerToolStripMenuItem.CheckOnClick = true;
this.upABStartOnSecondControllerToolStripMenuItem.Name = "upABStartOnSecondControllerToolStripMenuItem";
+ resources.ApplyResources(this.upABStartOnSecondControllerToolStripMenuItem, "upABStartOnSecondControllerToolStripMenuItem");
this.upABStartOnSecondControllerToolStripMenuItem.Click += new System.EventHandler(this.upABStartOnSecondControllerToolStripMenuItem_Click);
//
// useExtendedFontToolStripMenuItem
//
- resources.ApplyResources(this.useExtendedFontToolStripMenuItem, "useExtendedFontToolStripMenuItem");
this.useExtendedFontToolStripMenuItem.Checked = true;
this.useExtendedFontToolStripMenuItem.CheckOnClick = true;
this.useExtendedFontToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.useExtendedFontToolStripMenuItem.Name = "useExtendedFontToolStripMenuItem";
+ resources.ApplyResources(this.useExtendedFontToolStripMenuItem, "useExtendedFontToolStripMenuItem");
this.useExtendedFontToolStripMenuItem.Click += new System.EventHandler(this.useExtendedFontToolStripMenuItem_Click);
//
// epilepsyProtectionToolStripMenuItem
//
- resources.ApplyResources(this.epilepsyProtectionToolStripMenuItem, "epilepsyProtectionToolStripMenuItem");
this.epilepsyProtectionToolStripMenuItem.CheckOnClick = true;
this.epilepsyProtectionToolStripMenuItem.Name = "epilepsyProtectionToolStripMenuItem";
+ resources.ApplyResources(this.epilepsyProtectionToolStripMenuItem, "epilepsyProtectionToolStripMenuItem");
this.epilepsyProtectionToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItemArmet_Click);
//
+ // compressGamesIfPossibleToolStripMenuItem
+ //
+ this.compressGamesIfPossibleToolStripMenuItem.CheckOnClick = true;
+ this.compressGamesIfPossibleToolStripMenuItem.Name = "compressGamesIfPossibleToolStripMenuItem";
+ resources.ApplyResources(this.compressGamesIfPossibleToolStripMenuItem, "compressGamesIfPossibleToolStripMenuItem");
+ this.compressGamesIfPossibleToolStripMenuItem.Click += new System.EventHandler(this.compressGamesIfPossibleToolStripMenuItem_Click);
+ //
// pagesfoldersTypeToolStripMenuItem
//
- resources.ApplyResources(this.pagesfoldersTypeToolStripMenuItem, "pagesfoldersTypeToolStripMenuItem");
this.pagesfoldersTypeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.disablePagefoldersToolStripMenuItem,
this.toolStripMenuItem3,
@@ -394,32 +503,33 @@
this.toolStripMenuItem4,
this.customToolStripMenuItem});
this.pagesfoldersTypeToolStripMenuItem.Name = "pagesfoldersTypeToolStripMenuItem";
+ resources.ApplyResources(this.pagesfoldersTypeToolStripMenuItem, "pagesfoldersTypeToolStripMenuItem");
//
// disablePagefoldersToolStripMenuItem
//
- resources.ApplyResources(this.disablePagefoldersToolStripMenuItem, "disablePagefoldersToolStripMenuItem");
this.disablePagefoldersToolStripMenuItem.Name = "disablePagefoldersToolStripMenuItem";
+ resources.ApplyResources(this.disablePagefoldersToolStripMenuItem, "disablePagefoldersToolStripMenuItem");
this.disablePagefoldersToolStripMenuItem.Tag = "0";
this.disablePagefoldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
- resources.ApplyResources(this.toolStripMenuItem3, "toolStripMenuItem3");
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
+ resources.ApplyResources(this.toolStripMenuItem3, "toolStripMenuItem3");
//
// automaticToolStripMenuItem
//
- resources.ApplyResources(this.automaticToolStripMenuItem, "automaticToolStripMenuItem");
this.automaticToolStripMenuItem.Checked = true;
this.automaticToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked;
this.automaticToolStripMenuItem.Name = "automaticToolStripMenuItem";
+ resources.ApplyResources(this.automaticToolStripMenuItem, "automaticToolStripMenuItem");
this.automaticToolStripMenuItem.Tag = "2";
this.automaticToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// automaticOriginalToolStripMenuItem
//
- resources.ApplyResources(this.automaticOriginalToolStripMenuItem, "automaticOriginalToolStripMenuItem");
this.automaticOriginalToolStripMenuItem.Name = "automaticOriginalToolStripMenuItem";
+ resources.ApplyResources(this.automaticOriginalToolStripMenuItem, "automaticOriginalToolStripMenuItem");
this.automaticOriginalToolStripMenuItem.Tag = "3";
this.automaticOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
@@ -439,35 +549,34 @@
//
// foldersToolStripMenuItem
//
- resources.ApplyResources(this.foldersToolStripMenuItem, "foldersToolStripMenuItem");
this.foldersToolStripMenuItem.Name = "foldersToolStripMenuItem";
+ resources.ApplyResources(this.foldersToolStripMenuItem, "foldersToolStripMenuItem");
this.foldersToolStripMenuItem.Tag = "6";
this.foldersToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// foldersOriginalToolStripMenuItem
//
- resources.ApplyResources(this.foldersOriginalToolStripMenuItem, "foldersOriginalToolStripMenuItem");
this.foldersOriginalToolStripMenuItem.Name = "foldersOriginalToolStripMenuItem";
+ resources.ApplyResources(this.foldersOriginalToolStripMenuItem, "foldersOriginalToolStripMenuItem");
this.foldersOriginalToolStripMenuItem.Tag = "7";
this.foldersOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// foldersSplitByFirstLetterToolStripMenuItem
//
- resources.ApplyResources(this.foldersSplitByFirstLetterToolStripMenuItem, "foldersSplitByFirstLetterToolStripMenuItem");
this.foldersSplitByFirstLetterToolStripMenuItem.Name = "foldersSplitByFirstLetterToolStripMenuItem";
+ resources.ApplyResources(this.foldersSplitByFirstLetterToolStripMenuItem, "foldersSplitByFirstLetterToolStripMenuItem");
this.foldersSplitByFirstLetterToolStripMenuItem.Tag = "8";
this.foldersSplitByFirstLetterToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// foldersSplitByFirstLetterOriginalToolStripMenuItem
//
- resources.ApplyResources(this.foldersSplitByFirstLetterOriginalToolStripMenuItem, "foldersSplitByFirstLetterOriginalToolStripMenuItem");
this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Name = "foldersSplitByFirstLetterOriginalToolStripMenuItem";
+ resources.ApplyResources(this.foldersSplitByFirstLetterOriginalToolStripMenuItem, "foldersSplitByFirstLetterOriginalToolStripMenuItem");
this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Tag = "9";
this.foldersSplitByFirstLetterOriginalToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
// maximumGamesPerFolderToolStripMenuItem
//
- resources.ApplyResources(this.maximumGamesPerFolderToolStripMenuItem, "maximumGamesPerFolderToolStripMenuItem");
this.maximumGamesPerFolderToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.max20toolStripMenuItem,
this.max25toolStripMenuItem,
@@ -482,141 +591,211 @@
this.max90toolStripMenuItem,
this.max100toolStripMenuItem});
this.maximumGamesPerFolderToolStripMenuItem.Name = "maximumGamesPerFolderToolStripMenuItem";
+ resources.ApplyResources(this.maximumGamesPerFolderToolStripMenuItem, "maximumGamesPerFolderToolStripMenuItem");
//
// max20toolStripMenuItem
//
- resources.ApplyResources(this.max20toolStripMenuItem, "max20toolStripMenuItem");
this.max20toolStripMenuItem.Name = "max20toolStripMenuItem";
+ resources.ApplyResources(this.max20toolStripMenuItem, "max20toolStripMenuItem");
this.max20toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max25toolStripMenuItem
//
- resources.ApplyResources(this.max25toolStripMenuItem, "max25toolStripMenuItem");
this.max25toolStripMenuItem.Name = "max25toolStripMenuItem";
+ resources.ApplyResources(this.max25toolStripMenuItem, "max25toolStripMenuItem");
this.max25toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max30toolStripMenuItem
//
- resources.ApplyResources(this.max30toolStripMenuItem, "max30toolStripMenuItem");
this.max30toolStripMenuItem.Name = "max30toolStripMenuItem";
+ resources.ApplyResources(this.max30toolStripMenuItem, "max30toolStripMenuItem");
this.max30toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max35toolStripMenuItem
//
- resources.ApplyResources(this.max35toolStripMenuItem, "max35toolStripMenuItem");
this.max35toolStripMenuItem.Name = "max35toolStripMenuItem";
+ resources.ApplyResources(this.max35toolStripMenuItem, "max35toolStripMenuItem");
this.max35toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max40toolStripMenuItem
//
- resources.ApplyResources(this.max40toolStripMenuItem, "max40toolStripMenuItem");
this.max40toolStripMenuItem.Name = "max40toolStripMenuItem";
+ resources.ApplyResources(this.max40toolStripMenuItem, "max40toolStripMenuItem");
this.max40toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max45toolStripMenuItem
//
- resources.ApplyResources(this.max45toolStripMenuItem, "max45toolStripMenuItem");
this.max45toolStripMenuItem.Name = "max45toolStripMenuItem";
+ resources.ApplyResources(this.max45toolStripMenuItem, "max45toolStripMenuItem");
this.max45toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max50toolStripMenuItem
//
- resources.ApplyResources(this.max50toolStripMenuItem, "max50toolStripMenuItem");
this.max50toolStripMenuItem.Name = "max50toolStripMenuItem";
+ resources.ApplyResources(this.max50toolStripMenuItem, "max50toolStripMenuItem");
this.max50toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max60toolStripMenuItem
//
- resources.ApplyResources(this.max60toolStripMenuItem, "max60toolStripMenuItem");
this.max60toolStripMenuItem.Name = "max60toolStripMenuItem";
+ resources.ApplyResources(this.max60toolStripMenuItem, "max60toolStripMenuItem");
this.max60toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max70toolStripMenuItem
//
- resources.ApplyResources(this.max70toolStripMenuItem, "max70toolStripMenuItem");
this.max70toolStripMenuItem.Name = "max70toolStripMenuItem";
+ resources.ApplyResources(this.max70toolStripMenuItem, "max70toolStripMenuItem");
this.max70toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max80toolStripMenuItem
//
- resources.ApplyResources(this.max80toolStripMenuItem, "max80toolStripMenuItem");
this.max80toolStripMenuItem.Name = "max80toolStripMenuItem";
+ resources.ApplyResources(this.max80toolStripMenuItem, "max80toolStripMenuItem");
this.max80toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max90toolStripMenuItem
//
- resources.ApplyResources(this.max90toolStripMenuItem, "max90toolStripMenuItem");
this.max90toolStripMenuItem.Name = "max90toolStripMenuItem";
+ resources.ApplyResources(this.max90toolStripMenuItem, "max90toolStripMenuItem");
this.max90toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// max100toolStripMenuItem
//
- resources.ApplyResources(this.max100toolStripMenuItem, "max100toolStripMenuItem");
this.max100toolStripMenuItem.Name = "max100toolStripMenuItem";
+ resources.ApplyResources(this.max100toolStripMenuItem, "max100toolStripMenuItem");
this.max100toolStripMenuItem.Click += new System.EventHandler(this.toolStripMenuMaxGamesPerFolder_Click);
//
// toolStripMenuItem4
//
- resources.ApplyResources(this.toolStripMenuItem4, "toolStripMenuItem4");
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
+ resources.ApplyResources(this.toolStripMenuItem4, "toolStripMenuItem4");
//
// customToolStripMenuItem
//
- resources.ApplyResources(this.customToolStripMenuItem, "customToolStripMenuItem");
this.customToolStripMenuItem.Name = "customToolStripMenuItem";
+ resources.ApplyResources(this.customToolStripMenuItem, "customToolStripMenuItem");
this.customToolStripMenuItem.Tag = "99";
this.customToolStripMenuItem.Click += new System.EventHandler(this.pagesModefoldersToolStripMenuItem_Click);
//
- // compressGamesIfPossibleToolStripMenuItem
- //
- resources.ApplyResources(this.compressGamesIfPossibleToolStripMenuItem, "compressGamesIfPossibleToolStripMenuItem");
- this.compressGamesIfPossibleToolStripMenuItem.CheckOnClick = true;
- this.compressGamesIfPossibleToolStripMenuItem.Name = "compressGamesIfPossibleToolStripMenuItem";
- this.compressGamesIfPossibleToolStripMenuItem.Click += new System.EventHandler(this.compressGamesIfPossibleToolStripMenuItem_Click);
- //
// globalCommandLineArgumentsexpertsOnluToolStripMenuItem
//
- resources.ApplyResources(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem, "globalCommandLineArgumentsexpertsOnluToolStripMenuItem");
this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name = "globalCommandLineArgumentsexpertsOnluToolStripMenuItem";
+ resources.ApplyResources(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem, "globalCommandLineArgumentsexpertsOnluToolStripMenuItem");
this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Click += new System.EventHandler(this.globalCommandLineArgumentsexpertsOnluToolStripMenuItem_Click);
//
+ // toolStripMenuItem5
+ //
+ this.toolStripMenuItem5.Name = "toolStripMenuItem5";
+ resources.ApplyResources(this.toolStripMenuItem5, "toolStripMenuItem5");
+ //
+ // saveSettingsToNESMiniNowToolStripMenuItem
+ //
+ resources.ApplyResources(this.saveSettingsToNESMiniNowToolStripMenuItem, "saveSettingsToNESMiniNowToolStripMenuItem");
+ this.saveSettingsToNESMiniNowToolStripMenuItem.Name = "saveSettingsToNESMiniNowToolStripMenuItem";
+ this.saveSettingsToNESMiniNowToolStripMenuItem.Click += new System.EventHandler(this.saveSettingsToNESMiniNowToolStripMenuItem_Click);
+ //
+ // toolsToolStripMenuItem
+ //
+ this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.saveStateManagerToolStripMenuItem,
+ this.toolStripMenuItem6,
+ this.FTPToolStripMenuItem,
+ this.openFTPInExplorerToolStripMenuItem,
+ this.toolStripMenuItem7,
+ this.shellToolStripMenuItem,
+ this.openTelnetToolStripMenuItem,
+ this.toolStripMenuItem8,
+ this.takeScreenshotToolStripMenuItem});
+ this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
+ resources.ApplyResources(this.toolsToolStripMenuItem, "toolsToolStripMenuItem");
+ //
+ // saveStateManagerToolStripMenuItem
+ //
+ this.saveStateManagerToolStripMenuItem.Name = "saveStateManagerToolStripMenuItem";
+ resources.ApplyResources(this.saveStateManagerToolStripMenuItem, "saveStateManagerToolStripMenuItem");
+ this.saveStateManagerToolStripMenuItem.Click += new System.EventHandler(this.saveStateManagerToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem6
+ //
+ this.toolStripMenuItem6.Name = "toolStripMenuItem6";
+ resources.ApplyResources(this.toolStripMenuItem6, "toolStripMenuItem6");
+ //
+ // FTPToolStripMenuItem
+ //
+ this.FTPToolStripMenuItem.CheckOnClick = true;
+ this.FTPToolStripMenuItem.Name = "FTPToolStripMenuItem";
+ resources.ApplyResources(this.FTPToolStripMenuItem, "FTPToolStripMenuItem");
+ this.FTPToolStripMenuItem.Click += new System.EventHandler(this.FTPToolStripMenuItem_Click);
+ //
+ // openFTPInExplorerToolStripMenuItem
+ //
+ resources.ApplyResources(this.openFTPInExplorerToolStripMenuItem, "openFTPInExplorerToolStripMenuItem");
+ this.openFTPInExplorerToolStripMenuItem.Name = "openFTPInExplorerToolStripMenuItem";
+ this.openFTPInExplorerToolStripMenuItem.Click += new System.EventHandler(this.openFTPInExplorerToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem7
+ //
+ this.toolStripMenuItem7.Name = "toolStripMenuItem7";
+ resources.ApplyResources(this.toolStripMenuItem7, "toolStripMenuItem7");
+ //
+ // shellToolStripMenuItem
+ //
+ this.shellToolStripMenuItem.CheckOnClick = true;
+ this.shellToolStripMenuItem.Name = "shellToolStripMenuItem";
+ resources.ApplyResources(this.shellToolStripMenuItem, "shellToolStripMenuItem");
+ this.shellToolStripMenuItem.Click += new System.EventHandler(this.shellToolStripMenuItem_Click);
+ //
+ // openTelnetToolStripMenuItem
+ //
+ resources.ApplyResources(this.openTelnetToolStripMenuItem, "openTelnetToolStripMenuItem");
+ this.openTelnetToolStripMenuItem.Name = "openTelnetToolStripMenuItem";
+ this.openTelnetToolStripMenuItem.Click += new System.EventHandler(this.openTelnetToolStripMenuItem_Click);
+ //
+ // toolStripMenuItem8
+ //
+ this.toolStripMenuItem8.Name = "toolStripMenuItem8";
+ resources.ApplyResources(this.toolStripMenuItem8, "toolStripMenuItem8");
+ //
+ // takeScreenshotToolStripMenuItem
+ //
+ this.takeScreenshotToolStripMenuItem.Name = "takeScreenshotToolStripMenuItem";
+ resources.ApplyResources(this.takeScreenshotToolStripMenuItem, "takeScreenshotToolStripMenuItem");
+ this.takeScreenshotToolStripMenuItem.Click += new System.EventHandler(this.takeScreenshotToolStripMenuItem_Click);
+ //
// helpToolStripMenuItem
//
- resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.gitHubPageWithActualReleasesToolStripMenuItem,
this.fAQToolStripMenuItem,
this.aboutToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
+ resources.ApplyResources(this.helpToolStripMenuItem, "helpToolStripMenuItem");
//
// gitHubPageWithActualReleasesToolStripMenuItem
//
- resources.ApplyResources(this.gitHubPageWithActualReleasesToolStripMenuItem, "gitHubPageWithActualReleasesToolStripMenuItem");
this.gitHubPageWithActualReleasesToolStripMenuItem.Name = "gitHubPageWithActualReleasesToolStripMenuItem";
+ resources.ApplyResources(this.gitHubPageWithActualReleasesToolStripMenuItem, "gitHubPageWithActualReleasesToolStripMenuItem");
this.gitHubPageWithActualReleasesToolStripMenuItem.Click += new System.EventHandler(this.gitHubPageWithActualReleasesToolStripMenuItem_Click);
//
// fAQToolStripMenuItem
//
- resources.ApplyResources(this.fAQToolStripMenuItem, "fAQToolStripMenuItem");
this.fAQToolStripMenuItem.Name = "fAQToolStripMenuItem";
+ resources.ApplyResources(this.fAQToolStripMenuItem, "fAQToolStripMenuItem");
this.fAQToolStripMenuItem.Click += new System.EventHandler(this.fAQToolStripMenuItem_Click);
//
// aboutToolStripMenuItem
//
- resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
+ resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
// checkedListBoxGames
//
resources.ApplyResources(this.checkedListBoxGames, "checkedListBoxGames");
- this.checkedListBoxGames.AllowDrop = true;
this.checkedListBoxGames.FormattingEnabled = true;
this.checkedListBoxGames.Name = "checkedListBoxGames";
this.checkedListBoxGames.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.checkedListBoxGames_ItemCheck);
this.checkedListBoxGames.SelectedIndexChanged += new System.EventHandler(this.checkedListBoxGames_SelectedIndexChanged);
- this.checkedListBoxGames.DragDrop += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragDrop);
- this.checkedListBoxGames.DragEnter += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragEnter);
this.checkedListBoxGames.KeyDown += new System.Windows.Forms.KeyEventHandler(this.checkedListBoxGames_KeyDown);
this.checkedListBoxGames.MouseDown += new System.Windows.Forms.MouseEventHandler(this.checkedListBoxGames_MouseDown);
//
@@ -780,62 +959,76 @@
//
// statusStrip
//
- resources.ApplyResources(this.statusStrip, "statusStrip");
this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.toolStripStatusConnectionIcon,
this.toolStripStatusLabelSelected,
this.toolStripStatusLabelSize,
this.toolStripProgressBar});
+ resources.ApplyResources(this.statusStrip, "statusStrip");
this.statusStrip.Name = "statusStrip";
this.statusStrip.SizingGrip = false;
//
+ // toolStripStatusConnectionIcon
+ //
+ resources.ApplyResources(this.toolStripStatusConnectionIcon, "toolStripStatusConnectionIcon");
+ this.toolStripStatusConnectionIcon.Image = global::com.clusterrr.hakchi_gui.Properties.Resources.red;
+ this.toolStripStatusConnectionIcon.Margin = new System.Windows.Forms.Padding(2, 3, 2, 2);
+ this.toolStripStatusConnectionIcon.Name = "toolStripStatusConnectionIcon";
+ //
// toolStripStatusLabelSelected
//
resources.ApplyResources(this.toolStripStatusLabelSelected, "toolStripStatusLabelSelected");
+ this.toolStripStatusLabelSelected.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
this.toolStripStatusLabelSelected.Name = "toolStripStatusLabelSelected";
//
// toolStripStatusLabelSize
//
resources.ApplyResources(this.toolStripStatusLabelSize, "toolStripStatusLabelSize");
+ this.toolStripStatusLabelSize.BorderSides = ((System.Windows.Forms.ToolStripStatusLabelBorderSides)((((System.Windows.Forms.ToolStripStatusLabelBorderSides.Left | System.Windows.Forms.ToolStripStatusLabelBorderSides.Top)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Right)
+ | System.Windows.Forms.ToolStripStatusLabelBorderSides.Bottom)));
this.toolStripStatusLabelSize.Name = "toolStripStatusLabelSize";
//
// toolStripProgressBar
//
- resources.ApplyResources(this.toolStripProgressBar, "toolStripProgressBar");
this.toolStripProgressBar.ForeColor = System.Drawing.SystemColors.ControlText;
this.toolStripProgressBar.Name = "toolStripProgressBar";
+ resources.ApplyResources(this.toolStripProgressBar, "toolStripProgressBar");
this.toolStripProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
//
// openFileDialogNes
//
this.openFileDialogNes.DefaultExt = "nes";
- resources.ApplyResources(this.openFileDialogNes, "openFileDialogNes");
this.openFileDialogNes.Multiselect = true;
+ resources.ApplyResources(this.openFileDialogNes, "openFileDialogNes");
//
// contextMenuStrip
//
- resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.selectAllToolStripMenuItem,
this.unselectAllToolStripMenuItem,
this.deleteGameToolStripMenuItem});
this.contextMenuStrip.Name = "contextMenuStrip";
+ resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
//
// selectAllToolStripMenuItem
//
- resources.ApplyResources(this.selectAllToolStripMenuItem, "selectAllToolStripMenuItem");
this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
+ resources.ApplyResources(this.selectAllToolStripMenuItem, "selectAllToolStripMenuItem");
this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
//
// unselectAllToolStripMenuItem
//
- resources.ApplyResources(this.unselectAllToolStripMenuItem, "unselectAllToolStripMenuItem");
this.unselectAllToolStripMenuItem.Name = "unselectAllToolStripMenuItem";
+ resources.ApplyResources(this.unselectAllToolStripMenuItem, "unselectAllToolStripMenuItem");
this.unselectAllToolStripMenuItem.Click += new System.EventHandler(this.unselectAllToolStripMenuItem_Click);
//
// deleteGameToolStripMenuItem
//
- resources.ApplyResources(this.deleteGameToolStripMenuItem, "deleteGameToolStripMenuItem");
this.deleteGameToolStripMenuItem.Name = "deleteGameToolStripMenuItem";
+ resources.ApplyResources(this.deleteGameToolStripMenuItem, "deleteGameToolStripMenuItem");
this.deleteGameToolStripMenuItem.Click += new System.EventHandler(this.deleteGameToolStripMenuItem_Click);
//
// openFileDialogImage
@@ -870,8 +1063,25 @@
this.timerCalculateGames.Interval = 500;
this.timerCalculateGames.Tick += new System.EventHandler(this.timerCalculateGames_Tick);
//
+ // timerConnectionCheck
+ //
+ this.timerConnectionCheck.Enabled = true;
+ this.timerConnectionCheck.Interval = 500;
+ this.timerConnectionCheck.Tick += new System.EventHandler(this.timerConnectionCheck_Tick);
+ //
+ // saveDumpFileDialog
+ //
+ this.saveDumpFileDialog.DefaultExt = "bin";
+ this.saveDumpFileDialog.FileName = "nand.bin";
+ resources.ApplyResources(this.saveDumpFileDialog, "saveDumpFileDialog");
+ //
+ // openDumpFileDialog
+ //
+ this.openDumpFileDialog.FileName = "...";
+ //
// MainForm
//
+ this.AllowDrop = true;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.buttonStart);
@@ -888,7 +1098,10 @@
this.MaximizeBox = false;
this.Name = "MainForm";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainForm_FormClosed);
this.Shown += new System.EventHandler(this.MainForm_Shown);
+ this.DragDrop += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragDrop);
+ this.DragEnter += new System.Windows.Forms.DragEventHandler(this.checkedListBoxGames_DragEnter);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();
@@ -1007,7 +1220,34 @@
private System.Windows.Forms.ToolStripMenuItem useXYOnClassicControllerAsAutofireABToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSize;
private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusConnectionIcon;
+ private System.Windows.Forms.Timer timerConnectionCheck;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
+ private System.Windows.Forms.ToolStripMenuItem saveSettingsToNESMiniNowToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem compressGamesIfPossibleToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem saveStateManagerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem FTPToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem shellToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem6;
+ private System.Windows.Forms.ToolStripMenuItem openFTPInExplorerToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem7;
+ private System.Windows.Forms.ToolStripMenuItem openTelnetToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem8;
+ private System.Windows.Forms.ToolStripMenuItem takeScreenshotToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem dumpTheWholeNANDToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem9;
+ private System.Windows.Forms.SaveFileDialog saveDumpFileDialog;
+ private System.Windows.Forms.ToolStripMenuItem dumpNANDBToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem sNESMiniToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem superFamicomMiniToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
+ private System.Windows.Forms.ToolStripMenuItem toolFlashTheWholeNANDStripMenuItem;
+ private System.Windows.Forms.OpenFileDialog openDumpFileDialog;
+ private System.Windows.Forms.ToolStripMenuItem membootPatchedKernelToolStripMenuItem;
+ private System.Windows.Forms.ToolStripSeparator toolStripMenuItem11;
+ private System.Windows.Forms.ToolStripMenuItem membootOriginalKernelToolStripMenuItem;
}
}
diff --git a/MainForm.bg-BG.resx b/MainForm.bg-BG.resx
new file mode 100644
index 00000000..cec7f071
--- /dev/null
+++ b/MainForm.bg-BG.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP Ñървър на ftp: // root: clover@127.0.0.1: 1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>ОтноÑно...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>ДобавÑне на &amp;игри</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Добавете предварително</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Оригинални игри в корен -&amp;gt, автоматично в подпапки</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Ðвтоматично Ñъздаване на Ñтруктурата на папки</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Добави още игри</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Прегледай</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Ð¡Ð¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° Ñелектираните игри Ñ NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Hacks за контролера</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>КомпреÑиране на Non-NES games (за допълнителен емулатор режим</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Конзолен тип</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Конфигурирай ръчно - покажи папка мениджер, преди да изтеглиш</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Изтриване на игра</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Изтриване на предварително зададено</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Деактивиране на Ñтраници/папки</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Доулодване на box art за вÑички игри</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Разтоварване на Ñдрото</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Използвай "Select+Ð/B" за вкл. на "Autofire" на Ð/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Изклюва защитата от epilepsy</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp; Изход</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>ЧеÑто задавани въпроÑи (FAQ)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Файл</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Флаш перÑонализирано Ñдро</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Флаш оригинално Ñдро</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Оригинални игри в корен -&amp;gt, папки, разделени Ñъщо и на игри</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Оригинални игри в корен -&gt; папки, разделени по първата буква</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Папки, разделени по първата буква</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Папки, разделÑщи игрите еднакво</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Страница Github Ñ Ð°ÐºÑ‚ÑƒÐ°Ð»Ð½Ð¸ верÑии</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Главна команда от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ (Ñамо за екÑперти)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Можеш да Ñкриеш нÑкои игри по дефоут</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Опции за игри</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Помощ</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>ИнÑталиране на допълнителни модули</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp; Ядро</value>
+ </data>
+ <data name="label1.Text">
+ <value>Дата на издаване (год.-меÑец-ден):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Редактор</value>
+ </data>
+ <data name="label3.Text">
+ <value>Главна команда от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´ (Ñамо за екÑперти)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Box art</value>
+ </data>
+ <data name="label5.Text">
+ <value>Селектиране на игри:</value>
+ </data>
+ <data name="label6.Text">
+ <value>МакÑимален брой играчи</value>
+ </data>
+ <data name="label7.Text">
+ <value>Кодове за Game Genie (чрез запетайка)</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Име:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Език</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>МакÑимален брой игри за Ñтраница/папка</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Модули</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Отвори FTP клиент</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Изберете box art на играта</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Изберете игри</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Отвори Telnet клиент</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Оригинални игри в корен -&amp;gt, Ñтраници, разделени Ñъщо и на игри</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Страници, раздели игрите еднакво</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Страници/Ñтруктура на папки</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Избор на предварително зададени наÑтройки</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Един играч</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Двама играчи, не едновременно</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Двама играчи едновременно</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Използвай комбинациÑта от бутони за нулиране</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Запазване на наÑтройките към NES Mini Ñега</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Управление на запазеното ÑÑŠÑтоÑние</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>ТърÑене</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Избери вÑички</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Избери нулиране на комбинациÑта от бутони</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;ÐаÑтройки</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet Ñървър на telnet: //127.0.0.1: 1023 (вход: root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>СинхронизациÑ</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Ðаправи Ñнимка на екрана</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;ИнÑтрументи</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>ДеинÑталиране на допълнителните модули</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>ДеинÑталиране</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Премахнете вÑички</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Up+Ð+B=Start" за Ð²Ñ‚Ð¾Ñ€Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÐµÑ€</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Използвайте разширен шрифт</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Използвай X/Y върху контролера "Clаssic" като autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.ca-ES.resx b/MainForm.ca-ES.resx
new file mode 100644
index 00000000..308d7c91
--- /dev/null
+++ b/MainForm.ca-ES.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Servidor FTP en ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Sobre...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Afegir més &amp;jocs</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Afegir llista</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Jocs originals en Root -&gt; Automàtic en subcarpeta</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automàtic</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Afegir més jocs</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Cercar</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sincronitzar els jocs seleccionats amb la NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Ajuda/dreceres per als comandaments</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimir jocs que no siguin de NES (Per a emuladors addicionals)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipus de consola</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Personalitzat -mostra la gestió de les carpetes tot el temps</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Eliminar joc</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Eliminar llista</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Desactivar pàgines/carpetes</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Descarregar caràtules per a tots els jocs</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Bolcar kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Prem "Select+A/B" per activar el "Autofire" en A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Desactivar protecció contra la epilèpsia</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Sortir</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (Preguntes freqüents)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>Arxiu</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashetjar custom kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flashetjar kernel original</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Jocs originals en Root -&gt; Carpetes, organitzar jocs per igual</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Jocs originals en Root -&gt; Carpetes, organitzar jocs per primera lletra</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Carpetes, dividir per la primera lletra</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Carpetes. organitzar jocs per igual</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub: Pàgina amb les versions actuals</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Línia de comandament global (Només per a usuaris experts)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Pots ocultar alguns jocs predeterminats</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Opcions de joc</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Ajuda</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Instal·lar mòduls extres</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Data de llançament (AAAA-MM-DD)</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editor:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Línia de comandament (Només usuaris avançats)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Caràtula</value>
+ </data>
+ <data name="label5.Text">
+ <value>Seleccionar jocs:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Nombre de jugadors:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Codis Game Genie (separats per comes):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nom:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Idioma</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Nombre de jocs per pàgina/carpeta</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Mòduls</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Obrir client FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Seleccioneu una caràtula per al joc</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Selecciona jocs de NES o un altre emulador</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Obrir client Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Jocs originals en Root -&gt; Pàgines, dividir els jocs per igual</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Pàgines, organitzar jocs per igual</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Pàgines/estructura de les carpetes</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Seleccionar llista</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Un jugador</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Dos jugadors, no simultanis</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dos jugadors, simultàniament</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Utilitzar combinació de botons per a Reset</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Guardar opcions a la NES Mini ara</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Gestió dels punts de suspensió</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Cercar</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Seleccionar tot</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Selecciona una combinació de botons per a Reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Opcions</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Servidor Telnet en telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sincronitzar</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Fer una captura de pantalla</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Eines</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Desinstalar mòduls extres</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Desinstalar mòduls extres</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Deseleccionar tot</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Amunt+A+B = Start" en el 2n comandament</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Utilitzar font estesa</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Utilitza X/Y en el comandament Wii Classic Controller com "Autofire" A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.cs b/MainForm.cs
index 5b5880ca..a8770378 100644
--- a/MainForm.cs
+++ b/MainForm.cs
@@ -1,12 +1,19 @@
-using com.clusterrr.Famicom;
+using com.clusterrr.clovershell;
+using com.clusterrr.Famicom;
using com.clusterrr.hakchi_gui.Properties;
+using SevenZip;
using System;
using System.Collections.Generic;
+using System.Deployment.Application;
using System.Diagnostics;
using System.Drawing;
+using System.Drawing.Imaging;
+using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
+using System.Resources;
+using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
@@ -14,100 +21,147 @@ namespace com.clusterrr.hakchi_gui
{
public partial class MainForm : Form
{
- const long maxTotalSize = 300;
-
- public static string BaseDirectory;
- //readonly string UBootDump;
- readonly string KernelDump;
-
- NesDefaultGame[] defaultNesGames = new NesDefaultGame[] {
- new NesDefaultGame { Code = "CLV-P-NAAAE", Name = "Super Mario Bros." },
- new NesDefaultGame { Code = "CLV-P-NAACE", Name = "Super Mario Bros. 3" },
- new NesDefaultGame { Code = "CLV-P-NAADE", Name = "Super Mario Bros. 2" },
- new NesDefaultGame { Code = "CLV-P-NAAEE", Name = "Donkey Kong" },
- new NesDefaultGame { Code = "CLV-P-NAAFE", Name = "Donkey Kong Jr." },
- new NesDefaultGame { Code = "CLV-P-NAAHE", Name = "Excitebike" },
- new NesDefaultGame { Code = "CLV-P-NAANE", Name = "The Legend of Zelda" },
- new NesDefaultGame { Code = "CLV-P-NAAPE", Name = "Kirby's Adventure" },
- new NesDefaultGame { Code = "CLV-P-NAAQE", Name = "Metroid" },
- new NesDefaultGame { Code = "CLV-P-NAARE", Name = "Balloon Fight" },
- new NesDefaultGame { Code = "CLV-P-NAASE", Name = "Zelda II - The Adventure of Link" },
- new NesDefaultGame { Code = "CLV-P-NAATE", Name = "Punch-Out!! Featuring Mr. Dream" },
- new NesDefaultGame { Code = "CLV-P-NAAUE", Name = "Ice Climber" },
- new NesDefaultGame { Code = "CLV-P-NAAVE", Name = "Kid Icarus" },
- new NesDefaultGame { Code = "CLV-P-NAAWE", Name = "Mario Bros." },
- new NesDefaultGame { Code = "CLV-P-NAAXE", Name = "Dr. MARIO" },
- new NesDefaultGame { Code = "CLV-P-NAAZE", Name = "StarTropics" },
- new NesDefaultGame { Code = "CLV-P-NABBE", Name = "MEGA MANâ„¢ 2" },
- new NesDefaultGame { Code = "CLV-P-NABCE", Name = "GHOSTS'N GOBLINSâ„¢" },
- new NesDefaultGame { Code = "CLV-P-NABJE", Name = "FINAL FANTASY®" },
- new NesDefaultGame { Code = "CLV-P-NABKE", Name = "BUBBLE BOBBLE" },
- new NesDefaultGame { Code = "CLV-P-NABME", Name = "PAC-MAN" },
- new NesDefaultGame { Code = "CLV-P-NABNE", Name = "Galaga" },
- new NesDefaultGame { Code = "CLV-P-NABQE", Name = "Castlevania" },
- new NesDefaultGame { Code = "CLV-P-NABRE", Name = "GRADIUS" },
- new NesDefaultGame { Code = "CLV-P-NABVE", Name = "Super C" },
- new NesDefaultGame { Code = "CLV-P-NABXE", Name = "Castlevania II Simon's Quest" },
- new NesDefaultGame { Code = "CLV-P-NACBE", Name = "NINJA GAIDEN" },
- new NesDefaultGame { Code = "CLV-P-NACDE", Name = "TECMO BOWL" },
- new NesDefaultGame { Code = "CLV-P-NACHE", Name = "DOUBLE DRAGON II: The Revenge" }
+ public enum ConsoleType { NES = 0, Famicom = 1, SNES = 2, SuperFamicom = 3, Unknown = 255 }
+
+ public const long DefaultMaxGamesSize = 300;
+ public static IEnumerable<string> InternalMods;
+ public static ClovershellConnection Clovershell;
+ mooftpserv.Server ftpServer;
+
+ static NesDefaultGame[] defaultNesGames = new NesDefaultGame[] {
+ new NesDefaultGame { Code = "CLV-P-NAAAE", Name = "Super Mario Bros.", Size = 571031 },
+ new NesDefaultGame { Code = "CLV-P-NAACE", Name = "Super Mario Bros. 3", Size = 1163285 },
+ new NesDefaultGame { Code = "CLV-P-NAADE", Name = "Super Mario Bros. 2",Size = 1510337 },
+ new NesDefaultGame { Code = "CLV-P-NAAEE", Name = "Donkey Kong", Size = 556016 },
+ new NesDefaultGame { Code = "CLV-P-NAAFE", Name = "Donkey Kong Jr." , Size = 558176 },
+ new NesDefaultGame { Code = "CLV-P-NAAHE", Name = "Excitebike", Size = 573231 },
+ new NesDefaultGame { Code = "CLV-P-NAANE", Name = "The Legend of Zelda", Size = 663910 },
+ new NesDefaultGame { Code = "CLV-P-NAAPE", Name = "Kirby's Adventure", Size = 1321661 },
+ new NesDefaultGame { Code = "CLV-P-NAAQE", Name = "Metroid", Size = 662601 },
+ new NesDefaultGame { Code = "CLV-P-NAARE", Name = "Balloon Fight", Size = 556131 },
+ new NesDefaultGame { Code = "CLV-P-NAASE", Name = "Zelda II - The Adventure of Link", Size = 1024158 },
+ new NesDefaultGame { Code = "CLV-P-NAATE", Name = "Punch-Out!! Featuring Mr. Dream", Size = 1038128 },
+ new NesDefaultGame { Code = "CLV-P-NAAUE", Name = "Ice Climber", Size = 553436 },
+ new NesDefaultGame { Code = "CLV-P-NAAVE", Name = "Kid Icarus", Size = 670710 },
+ new NesDefaultGame { Code = "CLV-P-NAAWE", Name = "Mario Bros.", Size = 1018973 },
+ new NesDefaultGame { Code = "CLV-P-NAAXE", Name = "Dr. MARIO", Size = 1089427 },
+ new NesDefaultGame { Code = "CLV-P-NAAZE", Name = "StarTropics", Size = 1299361 },
+ new NesDefaultGame { Code = "CLV-P-NABBE", Name = "MEGA MANâ„¢ 2", Size = 569868 },
+ new NesDefaultGame { Code = "CLV-P-NABCE", Name = "GHOSTS'N GOBLINSâ„¢", Size = 440971 },
+ new NesDefaultGame { Code = "CLV-P-NABJE", Name = "FINAL FANTASY®", Size = 552556 },
+ new NesDefaultGame { Code = "CLV-P-NABKE", Name = "BUBBLE BOBBLE" , Size = 474232 },
+ new NesDefaultGame { Code = "CLV-P-NABME", Name = "PAC-MAN", Size = 325888 },
+ new NesDefaultGame { Code = "CLV-P-NABNE", Name = "Galaga", Size = 347079 },
+ new NesDefaultGame { Code = "CLV-P-NABQE", Name = "Castlevania", Size = 434240 },
+ new NesDefaultGame { Code = "CLV-P-NABRE", Name = "GRADIUS", Size = 370790 },
+ new NesDefaultGame { Code = "CLV-P-NABVE", Name = "Super C", Size = 565974 },
+ new NesDefaultGame { Code = "CLV-P-NABXE", Name = "Castlevania II Simon's Quest", Size = 569759 },
+ new NesDefaultGame { Code = "CLV-P-NACBE", Name = "NINJA GAIDEN", Size =573536 },
+ new NesDefaultGame { Code = "CLV-P-NACDE", Name = "TECMO BOWL", Size =568276 },
+ new NesDefaultGame { Code = "CLV-P-NACHE", Name = "DOUBLE DRAGON II: The Revenge", Size = 578900 }
};
- NesDefaultGame[] defaultFamicomGames = new NesDefaultGame[] {
- new NesDefaultGame { Code = "CLV-P-HAAAJ", Name = "スーパーマリオブラザーズ" },
- new NesDefaultGame { Code = "CLV-P-HAACJ", Name = "スーパーマリオブラザーズ3" },
- new NesDefaultGame { Code = "CLV-P-HAADJ", Name = "スーパーマリオUSA" },
- new NesDefaultGame { Code = "CLV-P-HAAEJ", Name = "ドンキーコング" },
- new NesDefaultGame { Code = "CLV-P-HAAHJ", Name = "エキサイトãƒã‚¤ã‚¯" },
- new NesDefaultGame { Code = "CLV-P-HAAMJ", Name = "マリオオープンゴルフ" },
- new NesDefaultGame { Code = "CLV-P-HAANJ", Name = "ゼルダã®ä¼èª¬" },
- new NesDefaultGame { Code = "CLV-P-HAAPJ", Name = "星ã®ã‚«ãƒ¼ãƒ“ィ 夢ã®æ³‰ã®ç‰©èªž" },
- new NesDefaultGame { Code = "CLV-P-HAAQJ", Name = "メトロイド" },
- new NesDefaultGame { Code = "CLV-P-HAARJ", Name = "ãƒãƒ«ãƒ¼ãƒ³ãƒ•ã‚¡ã‚¤ãƒˆ" },
- new NesDefaultGame { Code = "CLV-P-HAASJ", Name = "リンクã®å†’険" },
- new NesDefaultGame { Code = "CLV-P-HAAUJ", Name = "アイスクライマー" },
- new NesDefaultGame { Code = "CLV-P-HAAWJ", Name = "マリオブラザーズ" },
- new NesDefaultGame { Code = "CLV-P-HAAXJ", Name = "ドクターマリオ" },
- new NesDefaultGame { Code = "CLV-P-HABBJ", Name = "ロックマン®2 Dr.ワイリーã®è¬Ž" },
- new NesDefaultGame { Code = "CLV-P-HABCJ", Name = "魔界æ‘®" },
- new NesDefaultGame { Code = "CLV-P-HABLJ", Name = "ファイナルファンタジー®III" },
- new NesDefaultGame { Code = "CLV-P-HABMJ", Name = "パックマン" },
- new NesDefaultGame { Code = "CLV-P-HABNJ", Name = "ギャラガ" },
- new NesDefaultGame { Code = "CLV-P-HABQJ", Name = "悪魔城ドラキュラ" },
- new NesDefaultGame { Code = "CLV-P-HABRJ", Name = "グラディウス" },
- new NesDefaultGame { Code = "CLV-P-HABVJ", Name = "スーパー魂斗羅" },
- new NesDefaultGame { Code = "CLV-P-HACAJ", Name = "イー・アル・カンフー" },
- new NesDefaultGame { Code = "CLV-P-HACBJ", Name = "å¿è€…é¾å‰£ä¼" },
- new NesDefaultGame { Code = "CLV-P-HACCJ", Name = "ソロモンã®éµ" },
- new NesDefaultGame { Code = "CLV-P-HACEJ", Name = "ã¤ã£ã±ã‚Šå¤§ç›¸æ’²" },
- new NesDefaultGame { Code = "CLV-P-HACHJ", Name = "ダブルドラゴンⅡ The Revenge" },
- new NesDefaultGame { Code = "CLV-P-HACJJ", Name = "ダウンタウン熱血物語" },
- new NesDefaultGame { Code = "CLV-P-HACLJ", Name = "ダウンタウン熱血行進曲 ãれゆã‘大é‹å‹•ä¼š" },
- new NesDefaultGame { Code = "CLV-P-HACPJ", Name = "アトランãƒã‚¹ã®è¬Ž" }
+ static NesDefaultGame[] defaultFamicomGames = new NesDefaultGame[] {
+ new NesDefaultGame { Code = "CLV-P-HAAAJ", Name = "スーパーマリオブラザーズ", Size = 596775 },
+ new NesDefaultGame { Code = "CLV-P-HAACJ", Name = "スーパーマリオブラザーズ3", Size = 1411534 },
+ new NesDefaultGame { Code = "CLV-P-HAADJ", Name = "スーパーマリオUSA", Size = 1501542 },
+ new NesDefaultGame { Code = "CLV-P-HAAEJ", Name = "ドンキーコング" , Size = 568006 },
+ new NesDefaultGame { Code = "CLV-P-HAAHJ", Name = "エキサイトãƒã‚¤ã‚¯" , Size = 597513 },
+ new NesDefaultGame { Code = "CLV-P-HAAMJ", Name = "マリオオープンゴルフ" , Size = 798179 },
+ new NesDefaultGame { Code = "CLV-P-HAANJ", Name = "ゼルダã®ä¼èª¬", Size = 677971 },
+ new NesDefaultGame { Code = "CLV-P-HAAPJ", Name = "星ã®ã‚«ãƒ¼ãƒ“ィ 夢ã®æ³‰ã®ç‰©èªž" , Size = 1331436 },
+ new NesDefaultGame { Code = "CLV-P-HAAQJ", Name = "メトロイド" , Size = 666895 },
+ new NesDefaultGame { Code = "CLV-P-HAARJ", Name = "ãƒãƒ«ãƒ¼ãƒ³ãƒ•ã‚¡ã‚¤ãƒˆ" , Size = 569750 },
+ new NesDefaultGame { Code = "CLV-P-HAASJ", Name = "リンクã®å†’険" , Size = 666452 },
+ new NesDefaultGame { Code = "CLV-P-HAAUJ", Name = "アイスクライマー" , Size = 812372 },
+ new NesDefaultGame { Code = "CLV-P-HAAWJ", Name = "マリオブラザーズ" , Size = 1038275 },
+ new NesDefaultGame { Code = "CLV-P-HAAXJ", Name = "ドクターマリオ" , Size = 1083234 },
+ new NesDefaultGame { Code = "CLV-P-HABBJ", Name = "ロックマン®2 Dr.ワイリーã®è¬Ž" , Size = 592425 },
+ new NesDefaultGame { Code = "CLV-P-HABCJ", Name = "魔界æ‘®", Size = 456166 },
+ new NesDefaultGame { Code = "CLV-P-HABLJ", Name = "ファイナルファンタジー®III" , Size = 830898 },
+ new NesDefaultGame { Code = "CLV-P-HABMJ", Name = "パックマン" , Size = 341593 },
+ new NesDefaultGame { Code = "CLV-P-HABNJ", Name = "ギャラガ", Size = 345552 },
+ new NesDefaultGame { Code = "CLV-P-HABQJ", Name = "悪魔城ドラキュラ" , Size = 428522 },
+ new NesDefaultGame { Code = "CLV-P-HABRJ", Name = "グラディウス", Size = 393055 },
+ new NesDefaultGame { Code = "CLV-P-HABVJ", Name = "スーパー魂斗羅" , Size = 569537 },
+ new NesDefaultGame { Code = "CLV-P-HACAJ", Name = "イー・アル・カンフー", Size = 336353 },
+ new NesDefaultGame { Code = "CLV-P-HACBJ", Name = "å¿è€…é¾å‰£ä¼" , Size = 578623 },
+ new NesDefaultGame { Code = "CLV-P-HACCJ", Name = "ソロモンã®éµ" , Size = 387084 },
+ new NesDefaultGame { Code = "CLV-P-HACEJ", Name = "ã¤ã£ã±ã‚Šå¤§ç›¸æ’²", Size = 392595 },
+ new NesDefaultGame { Code = "CLV-P-HACHJ", Name = "ダブルドラゴンⅡ The Revenge", Size = 579757 },
+ new NesDefaultGame { Code = "CLV-P-HACJJ", Name = "ダウンタウン熱血物語" , Size = 588367 },
+ new NesDefaultGame { Code = "CLV-P-HACLJ", Name = "ダウンタウン熱血行進曲 ãれゆã‘大é‹å‹•ä¼š", Size = 587083 },
+ new NesDefaultGame { Code = "CLV-P-HACPJ", Name = "アトランãƒã‚¹ã®è¬Ž", Size = 376213 }
+ };
+ static NesDefaultGame[] defaultSnesGames = new NesDefaultGame[]
+ {
+ new NesDefaultGame { Code = "CLV-P-SAAAE", Name = "Super Mario World", Size = 2979540 },
+ new NesDefaultGame { Code = "CLV-P-SAABE", Name = "F-ZERO", Size = 2770166 },
+ new NesDefaultGame { Code = "CLV-P-SAAEE", Name = "The Legend of Zelda: A Link to the Past", Size = 2618796 },
+ new NesDefaultGame { Code = "CLV-P-SAAFE", Name = "Super Mario Kart", Size = 2436777 },
+ new NesDefaultGame { Code = "CLV-P-SAAHE", Name = "Super Metroid", Size = 6237435 },
+ new NesDefaultGame { Code = "CLV-P-SAAJE", Name = "EarthBound", Size = 5954521 },
+ new NesDefaultGame { Code = "CLV-P-SAAKE", Name = "Kirby's Dream Course", Size = 3210055 },
+ new NesDefaultGame { Code = "CLV-P-SAALE", Name = "Donkey Kong Country", Size = 5899153 },
+ new NesDefaultGame { Code = "CLV-P-SAAQE", Name = "Kirby Super Star", Size = 6893805 },
+ new NesDefaultGame { Code = "CLV-P-SAAXE", Name = "Super Punch-Out!!", Size = 5085386 },
+ new NesDefaultGame { Code = "CLV-P-SABCE", Name = "Mega Man X", Size = 2680591 },
+ new NesDefaultGame { Code = "CLV-P-SABDE", Name = "Super Ghouls'n Ghosts", Size = 2157749 },
+ new NesDefaultGame { Code = "CLV-P-SABHE", Name = "Street Fighter II Turbo: Hyper Fighting", Size = 9166072 },
+ new NesDefaultGame { Code = "CLV-P-SABQE", Name = "Super Mario RPG: Legend of the Seven Stars", Size = 5620137 },
+ new NesDefaultGame { Code = "CLV-P-SABRE", Name = "Secret of Mana", Size = 3029013 },
+ new NesDefaultGame { Code = "CLV-P-SABTE", Name = "Final Fantasy III", Size = 4336655 },
+ new NesDefaultGame { Code = "CLV-P-SACBE", Name = "Super Castlevania IV", Size = 2953337 },
+ new NesDefaultGame { Code = "CLV-P-SACCE", Name = "CONTRA III THE ALIEN WARS", Size = 2803555 },
+ new NesDefaultGame { Code = "CLV-P-SADGE", Name = "Star Fox", Size = 3339549 },
+ new NesDefaultGame { Code = "CLV-P-SADJE", Name = "Yoshi's Island", Size = 4261051 },
+ new NesDefaultGame { Code = "CLV-P-SADKE", Name = "Star Fox 2", Size = 2088122 }
};
public MainForm()
{
+ InitializeComponent();
+ FormInitialize();
+ Clovershell = new ClovershellConnection() { AutoReconnect = true, Enabled = true };
+ Clovershell.OnConnected += Clovershell_OnConnected;
+
+ ftpServer = new mooftpserv.Server();
+ ftpServer.AuthHandler = new mooftpserv.NesMiniAuthHandler();
+ ftpServer.FileSystemHandler = new mooftpserv.NesMiniFileSystemHandler(Clovershell);
+ ftpServer.LogHandler = new mooftpserv.DebugLogHandler();
+ ftpServer.LocalPort = 1021;
+
+ if (ConfigIni.FtpServer)
+ FTPToolStripMenuItem_Click(null, null);
+ if (ConfigIni.TelnetServer)
+ Clovershell.ShellEnabled = shellToolStripMenuItem.Checked = true;
+ }
+
+ void FormInitialize()
+ {
try
{
- InitializeComponent();
- ConfigIni.Load();
- BaseDirectory = Path.GetDirectoryName(Application.ExecutablePath);
- KernelDump = Path.Combine(Path.Combine(BaseDirectory, "dump"), "kernel.img");
+ SyncConsoleType();
+ InternalMods = from m in Directory.GetFiles(Path.Combine(Program.BaseDirectoryInternal, "mods/hmods")) select Path.GetFileNameWithoutExtension(m);
LoadGames();
- LoadHidden();
LoadPresets();
+ LoadLanguages();
var version = Assembly.GetExecutingAssembly().GetName().Version;
Text = string.Format("hakchi2 - v{0}.{1:D2}{2}", version.Major, version.Build, (version.Revision < 10) ?
- ("rc" + version.Revision.ToString()) : (version.Revision > 10 ? ((char)('a' + version.Revision - 10)).ToString() : ""));
-
+ ("rc" + version.Revision.ToString()) : (version.Revision > 20 ? ((char)('a' + (version.Revision - 20) / 10)).ToString() : ""))
+#if DEBUG
+ + " (debug version"
+#if VERY_DEBUG
+ + ", very verbose mode"
+#endif
+ + ")"
+#endif
+;
// Some settnigs
useExtendedFontToolStripMenuItem.Checked = ConfigIni.UseFont;
epilepsyProtectionToolStripMenuItem.Checked = ConfigIni.AntiArmetLevel > 0;
selectButtonCombinationToolStripMenuItem.Enabled = resetUsingCombinationOfButtonsToolStripMenuItem.Checked = ConfigIni.ResetHack;
enableAutofireToolStripMenuItem.Checked = ConfigIni.AutofireHack;
- useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked = ConfigIni.AutofireXYHack;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
+ useXYOnClassicControllerAsAutofireABToolStripMenuItem.Checked = ConfigIni.AutofireXYHack;
upABStartOnSecondControllerToolStripMenuItem.Checked = ConfigIni.FcStart;
compressGamesIfPossibleToolStripMenuItem.Checked = ConfigIni.Compress;
@@ -135,6 +189,15 @@ namespace com.clusterrr.hakchi_gui
max90toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 90;
max100toolStripMenuItem.Checked = ConfigIni.MaxGamesPerFolder == 100;
+ // Little tweak for easy translation
+ var tbl = textBoxName.Left;
+ textBoxName.Left = labelName.Left + labelName.Width;
+ textBoxName.Width -= textBoxName.Left - tbl;
+ maskedTextBoxReleaseDate.Left = label1.Left + label1.Width + 3;
+ tbl = textBoxPublisher.Left;
+ textBoxPublisher.Left = label2.Left + label2.Width;
+ textBoxPublisher.Width -= textBoxPublisher.Left - tbl;
+
// Tweeks for message boxes
MessageBoxManager.Yes = MessageBoxManager.Retry = Resources.Yes;
MessageBoxManager.No = MessageBoxManager.Ignore = Resources.No;
@@ -146,12 +209,15 @@ namespace com.clusterrr.hakchi_gui
foreach (var ext in app.Extensions)
if (!extensions.Contains("*" + ext))
extensions.Add("*" + ext);
- openFileDialogNes.Filter = "Games and apps|" + string.Join(";", extensions.ToArray()) + "|All files|*.*";
+ openFileDialogNes.Filter = Resources.GamesAndApps + "|" + string.Join(";", extensions.ToArray()) + "|" + Resources.AllFiles + "|*.*";
// Loading games database in background
new Thread(NesGame.LoadCache).Start();
// Recalculate games in background
new Thread(RecalculateSelectedGamesThread).Start();
+
+ openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked = ConfigIni.FtpServer;
+ openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = ConfigIni.TelnetServer;
}
catch (Exception ex)
{
@@ -160,6 +226,76 @@ namespace com.clusterrr.hakchi_gui
}
}
+ void Clovershell_OnConnected()
+ {
+ try
+ {
+ ConfigIni.CustomFlashed = true; // Just in case of new installation
+ // Trying to autodetect console type
+ var customFirmware = Clovershell.ExecuteSimple("[ -d /var/lib/hakchi/firmware/ ] && [ -f /var/lib/hakchi/firmware/*.hsqs ] && echo YES || echo NO");
+ if (customFirmware == "NO")
+ {
+ var board = Clovershell.ExecuteSimple("cat /etc/clover/boardtype", 500, true);
+ var region = Clovershell.ExecuteSimple("cat /etc/clover/REGION", 500, true);
+ Debug.WriteLine(string.Format("Detected board: {0}", board));
+ Debug.WriteLine(string.Format("Detected region: {0}", region));
+ switch (board)
+ {
+ default:
+ case "dp-nes":
+ case "dp-hvc":
+ switch(region)
+ {
+ case "EUR_USA":
+ ConfigIni.ConsoleType = ConsoleType.NES;
+ break;
+ case "JPN":
+ ConfigIni.ConsoleType = ConsoleType.Famicom;
+ break;
+ }
+ break;
+ case "dp-shvc":
+ switch (region)
+ {
+ case "USA":
+ case "EUR":
+ ConfigIni.ConsoleType = ConsoleType.SNES;
+ break;
+ case "JPN":
+ ConfigIni.ConsoleType = ConsoleType.SuperFamicom;
+ break;
+ }
+ break;
+ }
+ Invoke(new Action(SyncConsoleType));
+ }
+ WorkerForm.GetMemoryStats();
+ new Thread(RecalculateSelectedGamesThread).Start();
+
+ /*
+ // It's good idea to sync time... or not?
+ // Requesting autoshutdown state
+ var autoshutdown = Clovershell.ExecuteSimple("cat /var/lib/clover/profiles/0/shutdown.txt");
+ // Disable automatic shutdown
+ if (autoshutdown != "0")
+ {
+ Clovershell.ExecuteSimple("echo -n 0 > /var/lib/clover/profiles/0/shutdown.txt");
+ Thread.Sleep(1500);
+ }
+ // Setting actual time for file transfer operations
+ Clovershell.ExecuteSimple(string.Format("date -s \"{0:yyyy-MM-dd HH:mm:ss}\"", DateTime.UtcNow));
+ // Restoring automatic shutdown
+ if (autoshutdown != "0")
+ Clovershell.ExecuteSimple(string.Format("echo -n {0} > /var/lib/clover/profiles/0/shutdown.txt", autoshutdown));
+ */
+ // It was bad idea
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ }
+ }
+
public void LoadGames()
{
Debug.WriteLine("Loading games");
@@ -260,9 +396,24 @@ namespace com.clusterrr.hakchi_gui
void LoadHidden()
{
checkedListBoxDefaultGames.Items.Clear();
- var hidden = ConfigIni.HiddenGames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
- foreach (var game in new List<NesDefaultGame>(ConfigIni.ConsoleType == 0 ? defaultNesGames : defaultFamicomGames).OrderBy(o => o.Name))
- checkedListBoxDefaultGames.Items.Add(game, !hidden.Contains(game.Code));
+ NesDefaultGame[] games = null;
+ switch (ConfigIni.ConsoleType)
+ {
+ case ConsoleType.NES:
+ games = defaultNesGames;
+ break;
+ case ConsoleType.Famicom:
+ games = defaultFamicomGames;
+ break;
+ case ConsoleType.SNES:
+ games = defaultSnesGames;
+ break;
+ case ConsoleType.SuperFamicom:
+ //games = defaultSuperFamicomGames;
+ break;
+ }
+ foreach (var game in games.OrderBy(o => o.Name))
+ checkedListBoxDefaultGames.Items.Add(game, !ConfigIni.HiddenGames.Contains(game.Code));
}
void LoadPresets()
@@ -275,7 +426,7 @@ namespace com.clusterrr.hakchi_gui
foreach (var preset in ConfigIni.Presets.Keys.OrderBy(o => o))
{
presetsToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
- delegate(object sender, EventArgs e)
+ delegate (object sender, EventArgs e)
{
var cols = ConfigIni.Presets[preset].Split('|');
ConfigIni.SelectedGames = cols[0];
@@ -291,7 +442,7 @@ namespace com.clusterrr.hakchi_gui
!hide.Contains(((NesDefaultGame)checkedListBoxDefaultGames.Items[j]).Code));
}));
deletePresetToolStripMenuItem.DropDownItems.Insert(i, new ToolStripMenuItem(preset, null,
- delegate(object sender, EventArgs e)
+ delegate (object sender, EventArgs e)
{
if (MessageBox.Show(this, string.Format(Resources.DeletePreset, preset), Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
== DialogResult.Yes)
@@ -305,6 +456,54 @@ namespace com.clusterrr.hakchi_gui
}
}
+ void LoadLanguages()
+ {
+ var languages = new List<string>(Directory.GetDirectories(Path.Combine(Program.BaseDirectoryInternal, "languages")));
+ ResourceManager rm = Resources.ResourceManager;
+ languages.Add("en-US"); // default language
+ var langCodes = new Dictionary<string, string>();
+ foreach (var language in languages)
+ {
+ var code = Path.GetFileName(language);
+ langCodes[new CultureInfo(code).DisplayName] = code;
+ }
+ ToolStripMenuItem english = null;
+ bool found = false;
+ foreach (var language in langCodes.Keys.OrderBy<string, string>(o => o))
+ {
+ var item = new ToolStripMenuItem();
+ var displayName = Regex.Replace(language, @" \(.+\)", "");
+ if (langCodes.Keys.Count(o => Regex.Replace(o, @" \(.+\)", "") == displayName) == 1)
+ item.Text = displayName;
+ else
+ item.Text = language;
+ var country = langCodes[language];
+ if (langCodes[language] == "zh-CHS" || langCodes[language] == "zh-CHT") // chinese is awkward
+ country = "cn";
+ else
+ if (country.Length > 2) country = country.Substring(country.Length - 2).ToLower();
+ item.Image = (Image)rm.GetObject(country);
+ item.ImageScaling = ToolStripItemImageScaling.None;
+ item.Click += delegate (object sender, EventArgs e)
+ {
+ ConfigIni.Language = langCodes[language];
+ SaveConfig();
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo(langCodes[language]);
+ this.Controls.Clear();
+ this.InitializeComponent();
+ FormInitialize();
+ this.Invalidate(true);
+ };
+ item.Checked = Thread.CurrentThread.CurrentUICulture.Name.ToUpper() == langCodes[language].ToUpper();
+ found |= item.Checked;
+ if (langCodes[language] == "en-US")
+ english = item;
+ languageToolStripMenuItem.DropDownItems.Add(item);
+ }
+ if (!found)
+ english.Checked = true;
+ }
+
void AddPreset(object sender, EventArgs e)
{
var form = new StringInputForm();
@@ -327,15 +526,22 @@ namespace com.clusterrr.hakchi_gui
ShowSelected();
}
+ void SetImageForSelectedGame(string fileName)
+ {
+ var selected = checkedListBoxGames.SelectedItem;
+ if (selected == null || !(selected is NesMiniApplication)) return;
+ var game = (selected as NesMiniApplication);
+ game.Image = NesMiniApplication.LoadBitmap(fileName);
+ ShowSelected();
+ timerCalculateGames.Enabled = true;
+ }
+
private void buttonBrowseImage_Click(object sender, EventArgs e)
{
+ openFileDialogImage.Filter = Resources.Images + " (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|" + Resources.AllFiles + "|*.*";
if (openFileDialogImage.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
- var selected = checkedListBoxGames.SelectedItem;
- if (selected == null || !(selected is NesMiniApplication)) return;
- var game = (selected as NesMiniApplication);
- game.Image = NesMiniApplication.LoadBitmap(openFileDialogImage.FileName);
- ShowSelected();
+ SetImageForSelectedGame(openFileDialogImage.FileName);
}
}
@@ -349,6 +555,7 @@ namespace com.clusterrr.hakchi_gui
{
game.Image = googler.Result;
ShowSelected();
+ timerCalculateGames.Enabled = true;
}
}
@@ -418,6 +625,7 @@ namespace com.clusterrr.hakchi_gui
}
ConfigIni.SelectedGames = string.Join(";", selected.ToArray());
selected.Clear();
+
foreach (NesDefaultGame game in checkedListBoxDefaultGames.Items)
selected.Add(game.Code);
foreach (NesDefaultGame game in checkedListBoxDefaultGames.CheckedItems)
@@ -429,17 +637,22 @@ namespace com.clusterrr.hakchi_gui
{
SaveSelectedGames();
ConfigIni.Save();
- foreach (var game in checkedListBoxGames.Items)
+ for (int i = 0; i < checkedListBoxGames.Items.Count; i++)
{
+ var game = checkedListBoxGames.Items[i];
try
{
if (game is NesMiniApplication)
- (game as NesMiniApplication).Save();
+ {
+ // Maybe type was changed? Need to reload games
+ if ((game as NesMiniApplication).Save())
+ checkedListBoxGames.Items[i] = NesMiniApplication.FromDirectory((game as NesMiniApplication).GamePath);
+ }
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message + ex.StackTrace);
- MessageBox.Show(this, ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
@@ -448,7 +661,14 @@ namespace com.clusterrr.hakchi_gui
{
Debug.WriteLine("Closing main form");
SaveConfig();
+ ftpServer.Stop();
+ Clovershell.Dispose();
}
+ private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ Process.GetCurrentProcess().Kill(); // Suicide! Just easy and dirty way to kill all threads.
+ }
+
struct CountResult
{
@@ -481,7 +701,11 @@ namespace com.clusterrr.hakchi_gui
stats.Size += (game as NesMiniApplication).Size();
}
else
+ {
stats.Count += checkedListBoxDefaultGames.CheckedItems.Count;
+ foreach (NesDefaultGame originalGame in checkedListBoxDefaultGames.CheckedItems)
+ stats.Size += originalGame.Size;
+ }
}
return stats;
}
@@ -494,9 +718,12 @@ namespace com.clusterrr.hakchi_gui
Invoke(new Action<CountResult>(showStats), new object[] { stats });
return;
}
+ var maxGamesSize = DefaultMaxGamesSize * 1024 * 1024;
+ if (WorkerForm.NandCTotal > 0)
+ maxGamesSize = (WorkerForm.NandCFree + WorkerForm.WritedGamesSize) - WorkerForm.ReservedMemory * 1024 * 1024;
toolStripStatusLabelSelected.Text = stats.Count + " " + Resources.GamesSelected;
- toolStripStatusLabelSize.Text = string.Format("{0}MB / {1}MB", stats.Size / 1024 / 1024, maxTotalSize);
- toolStripProgressBar.Maximum = (int)(maxTotalSize * 1024 * 1024);
+ toolStripStatusLabelSize.Text = string.Format("{0:F1}MB / {1:F1}MB", stats.Size / 1024.0 / 1024.0, maxGamesSize / 1024.0 / 1024.0);
+ toolStripProgressBar.Maximum = (int)maxGamesSize;
toolStripProgressBar.Value = Math.Min((int)stats.Size, toolStripProgressBar.Maximum);
toolStripStatusLabelSize.ForeColor =
(toolStripProgressBar.Value < toolStripProgressBar.Maximum) ?
@@ -537,71 +764,115 @@ namespace com.clusterrr.hakchi_gui
}
}
+ DialogResult RequireKernelDump()
+ {
+ if (File.Exists(WorkerForm.KernelDumpPath)) return DialogResult.OK; // OK - already dumped
+ // Asking user to dump kernel
+ if (MessageBox.Show(Resources.NoKernelWarning, Resources.NoKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (DoKernelDump())
+ return DialogResult.Yes; // Succesfully dumped
+ else
+ return DialogResult.No; // Not dumped for some other reason
+ }
+ else return DialogResult.No; // Kernel dump cancelled by user
+ }
+
+ DialogResult RequirePatchedKernel()
+ {
+ if (ConfigIni.CustomFlashed) return DialogResult.OK; // OK - already flashed
+ if (MessageBox.Show(Resources.CustomWarning, Resources.CustomKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
+ {
+ if (FlashCustomKernel())
+ return DialogResult.Yes; // Succesfully flashed
+ else
+ return DialogResult.No; // Not flashed for some other reason
+ }
+ else return DialogResult.No;
+ }
+
private void buttonStart_Click(object sender, EventArgs e)
{
SaveConfig();
+
var stats = RecalculateSelectedGames();
if (stats.Count == 0)
{
MessageBox.Show(Resources.SelectAtLeast, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
- if (stats.Size > maxTotalSize * 1024 * 1024)
- {
- if (MessageBox.Show(string.Format(Resources.MemoryFull, stats.Size / 1024 / 1024) + " " + Resources.DoYouWantToContinue,
- Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.No)
- return;
- }
-
- bool dumpedKernelNow = false;
- if (!File.Exists(KernelDump))
- {
- if (MessageBox.Show(Resources.NoKernelWarning, Resources.NoKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (!DoKernelDump()) return;
- dumpedKernelNow = true;
- }
- else return;
- }
- if (!ConfigIni.CustomFlashed)
- {
- if (MessageBox.Show((dumpedKernelNow ? (Resources.KernelDumped + "\r\n") : "") +
- Resources.CustomWarning, Resources.CustomKernel, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.Yes)
- {
- if (!FlashCustomKernel()) return;
- MessageBox.Show(Resources.DoneYouCanUpload + "\r\n" + Resources.PressOkToContinue, Resources.Congratulations, MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- else return;
- }
+ var kernel = RequirePatchedKernel();
+ if (kernel == DialogResult.No) return;
+ if (kernel == DialogResult.Yes) // Message for new user
+ MessageBox.Show(Resources.DoneYouCanUpload + "\r\n" + Resources.PressOkToContinue, Resources.Congratulations, MessageBoxButtons.OK, MessageBoxIcon.Information);
if (UploadGames())
{
- MessageBox.Show(Resources.DoneUploaded, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
bool DoKernelDump()
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.DumpingKernel;
workerForm.Task = WorkerForm.Tasks.DumpKernel;
- //workerForm.UBootDump = UBootDump;
- workerForm.KernelDump = KernelDump;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool DoNandDump()
+ {
+ saveDumpFileDialog.FileName = "nand.bin";
+ saveDumpFileDialog.DefaultExt = "bin";
+ if (saveDumpFileDialog.ShowDialog() != DialogResult.OK)
+ return false;
+ var workerForm = new WorkerForm(this);
+ workerForm.Text = Resources.DumpingNand;
+ workerForm.Task = WorkerForm.Tasks.DumpNand;
+ workerForm.NandDump = saveDumpFileDialog.FileName;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool DoNandFlash()
+ {
+ openDumpFileDialog.FileName = "nand.bin";
+ openDumpFileDialog.DefaultExt = "bin";
+ if (openDumpFileDialog.ShowDialog() != DialogResult.OK)
+ return false;
+ var workerForm = new WorkerForm(this);
+ workerForm.Text = "...";
+ workerForm.Task = WorkerForm.Tasks.FlashNand;
+ workerForm.NandDump = openDumpFileDialog.FileName;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool DoNandBDump()
+ {
+ saveDumpFileDialog.FileName = "nandb.hsqs";
+ saveDumpFileDialog.DefaultExt = "hsqs";
+ if (saveDumpFileDialog.ShowDialog() != DialogResult.OK)
+ return false;
+ var workerForm = new WorkerForm(this);
+ workerForm.Text = Resources.DumpingNand;
+ workerForm.Task = WorkerForm.Tasks.DumpNandB;
+ workerForm.NandDump = saveDumpFileDialog.FileName;
workerForm.Start();
return workerForm.DialogResult == DialogResult.OK;
}
bool FlashCustomKernel()
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.FlasingCustom;
workerForm.Task = WorkerForm.Tasks.FlashKernel;
- workerForm.KernelDump = KernelDump;
workerForm.Mod = "mod_hakchi";
+ workerForm.hmodsInstall = new List<string>(InternalMods);
workerForm.Config = null;
workerForm.Games = null;
- workerForm.HiddenGames = null;
workerForm.Start();
var result = workerForm.DialogResult == DialogResult.OK;
if (result)
@@ -612,33 +883,38 @@ namespace com.clusterrr.hakchi_gui
return result;
}
+ bool MembootOriginalKernel()
+ {
+ var workerForm = new WorkerForm(this);
+ workerForm.Text = Resources.Membooting;
+ workerForm.Task = WorkerForm.Tasks.Memboot;
+ workerForm.Mod = null;
+ workerForm.Config = null;
+ workerForm.Games = null;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
+ bool MembootCustomKernel()
+ {
+ var workerForm = new WorkerForm(this);
+ workerForm.Text = Resources.Membooting;
+ workerForm.Task = WorkerForm.Tasks.Memboot;
+ workerForm.Mod = "mod_hakchi";
+ workerForm.Config = null;
+ workerForm.Games = null;
+ workerForm.Start();
+ return workerForm.DialogResult == DialogResult.OK;
+ }
+
bool UploadGames()
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.UploadingGames;
- workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
+ workerForm.Task = WorkerForm.Tasks.UploadGames;
workerForm.Mod = "mod_hakchi";
- workerForm.Config = new Dictionary<string, string>();
- workerForm.hmodsInstall = new List<string>();
+ workerForm.Config = ConfigIni.GetConfigDictionary();
workerForm.Games = new NesMenuCollection();
- var hiddenGames = new List<string>();
- if (ConfigIni.ResetHack || ConfigIni.AutofireHack || ConfigIni.AutofireXYHack || ConfigIni.FcStart)
- {
- workerForm.hmodsInstall.Add("clovercon");
- workerForm.Config["clovercon_enabled"] = "y";
- }
- else workerForm.Config["clovercon_enabled"] = "n";
- workerForm.Config["clovercon_home_combination"] = string.Format("0x{0:X2}", (byte)ConfigIni.ResetCombination);
- workerForm.Config["clovercon_autofire"] = ConfigIni.AutofireHack ? "1" : "0";
- workerForm.Config["clovercon_autofire_xy"] = ConfigIni.AutofireXYHack ? "1" : "0";
- workerForm.Config["clovercon_fc_start"] = ConfigIni.FcStart ? "1" : "0";
- if (ConfigIni.UseFont)
- {
- workerForm.hmodsInstall.Add("fontfix");
- workerForm.Config["fontfix_enabled"] = "y";
- }
- else workerForm.Config["fontfix_enabled"] = "n";
bool needOriginal = false;
foreach (var game in checkedListBoxGames.CheckedItems)
{
@@ -651,24 +927,19 @@ namespace com.clusterrr.hakchi_gui
{
if (needOriginal && checkedListBoxDefaultGames.CheckedIndices.Contains(i))
workerForm.Games.Add((NesDefaultGame)checkedListBoxDefaultGames.Items[i]);
- else
- hiddenGames.Add(((NesDefaultGame)checkedListBoxDefaultGames.Items[i]).Code);
}
- workerForm.Config["disable_armet"] = (ConfigIni.AntiArmetLevel > 0) ? "y" : "n";
- workerForm.Config["nes_extra_args"] = ConfigIni.ExtraCommandLineArguments;
- workerForm.HiddenGames = hiddenGames.ToArray();
+
workerForm.FoldersMode = ConfigIni.FoldersMode;
workerForm.MaxGamesPerFolder = ConfigIni.MaxGamesPerFolder;
- workerForm.MainForm = this;
workerForm.Start();
return workerForm.DialogResult == DialogResult.OK;
}
- void AddGames(string[] files)
+ void AddGames(IEnumerable<string> files)
{
SaveConfig();
ICollection<NesMiniApplication> addedApps;
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.LoadingGames;
workerForm.Task = WorkerForm.Tasks.AddGames;
workerForm.GamesToAdd = files;
@@ -678,10 +949,13 @@ namespace com.clusterrr.hakchi_gui
if (addedApps != null)
{
// Add games, only new ones
- var oldApps = from app in checkedListBoxGames.Items.Cast<object>().ToArray()
- where app is NesMiniApplication
- select (app as NesMiniApplication).Code;
- var newApps = from app in addedApps where !oldApps.Contains(app.Code) select app;
+ var newApps = addedApps.Distinct(new NesMiniApplication.NesMiniAppEqualityComparer());
+ var newCodes = from app in newApps select app.Code;
+ var oldAppsReplaced = from app in checkedListBoxGames.Items.Cast<object>().ToArray()
+ where (app is NesMiniApplication) && newCodes.Contains((app as NesMiniApplication).Code)
+ select app;
+ foreach (var replaced in oldAppsReplaced)
+ checkedListBoxGames.Items.Remove(replaced);
checkedListBoxGames.Items.AddRange(newApps.ToArray());
var first = checkedListBoxGames.Items[0];
bool originalChecked = (checkedListBoxGames.CheckedItems.Contains(first));
@@ -720,10 +994,9 @@ namespace com.clusterrr.hakchi_gui
bool FlashOriginalKernel(bool boot = true)
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.FlasingOriginal;
workerForm.Task = WorkerForm.Tasks.FlashKernel;
- workerForm.KernelDump = KernelDump;
workerForm.Mod = null;
workerForm.Start();
var result = workerForm.DialogResult == DialogResult.OK;
@@ -737,10 +1010,9 @@ namespace com.clusterrr.hakchi_gui
bool Uninstall()
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.Uninstalling;
workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
workerForm.Mod = "mod_uninstall";
workerForm.Start();
return workerForm.DialogResult == DialogResult.OK;
@@ -748,10 +1020,9 @@ namespace com.clusterrr.hakchi_gui
bool InstallMods(string[] mods)
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.InstallingMods;
workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
workerForm.Mod = "mod_hakchi";
workerForm.hmodsInstall = new List<string>(mods);
workerForm.Start();
@@ -760,10 +1031,9 @@ namespace com.clusterrr.hakchi_gui
bool UninstallMods(string[] mods)
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.UninstallingMods;
workerForm.Task = WorkerForm.Tasks.Memboot;
- workerForm.KernelDump = KernelDump;
workerForm.Mod = "mod_hakchi";
workerForm.hmodsUninstall = new List<string>(mods);
workerForm.Start();
@@ -772,7 +1042,7 @@ namespace com.clusterrr.hakchi_gui
bool DownloadAllCovers()
{
- var workerForm = new WorkerForm();
+ var workerForm = new WorkerForm(this);
workerForm.Text = Resources.DownloadAllCoversTitle;
workerForm.Task = WorkerForm.Tasks.DownloadAllCovers;
workerForm.Games = new NesMenuCollection();
@@ -786,7 +1056,7 @@ namespace com.clusterrr.hakchi_gui
private void dumpKernelToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (File.Exists(KernelDump))
+ if (File.Exists(WorkerForm.KernelDumpPath))
{
MessageBox.Show(Resources.ReplaceKernelQ, Resources.Warning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
@@ -798,13 +1068,28 @@ namespace com.clusterrr.hakchi_gui
}
}
- private void flashCustomKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ private void dumpTheWholeNANDToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (DoNandDump()) MessageBox.Show(Resources.NandDumped, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+
+ private void toolFlashTheWholeNANDStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(KernelDump))
+ if (MessageBox.Show("...", Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.Yes)
{
- MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
+ DoNandFlash();
}
+ }
+
+ private void dumpNANDBToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ if (DoNandBDump()) MessageBox.Show(Resources.NandDumped, Resources.Done, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+
+ private void flashCustomKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
if (MessageBox.Show(Resources.CustomKernelQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
== System.Windows.Forms.DialogResult.Yes)
{
@@ -812,9 +1097,26 @@ namespace com.clusterrr.hakchi_gui
}
}
+ private void membootOriginalKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (!File.Exists(WorkerForm.KernelDumpPath))
+ {
+ MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ MembootOriginalKernel();
+ }
+
+
+ private void membootPatchedKernelToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequireKernelDump() == DialogResult.No) return;
+ MembootCustomKernel();
+ }
+
private void flashOriginalKernelToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(KernelDump))
+ if (!File.Exists(WorkerForm.KernelDumpPath))
{
MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
@@ -828,7 +1130,7 @@ namespace com.clusterrr.hakchi_gui
private void uninstallToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(KernelDump))
+ if (!File.Exists(WorkerForm.KernelDumpPath))
{
MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
@@ -849,6 +1151,7 @@ namespace com.clusterrr.hakchi_gui
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
var about = new AboutBox();
+ about.Text = aboutToolStripMenuItem.Text.Replace("&", "");
about.ShowDialog();
}
@@ -895,22 +1198,49 @@ namespace com.clusterrr.hakchi_gui
ConfigIni.ResetCombination = form.SelectedButtons;
}
- private void nESMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ static ConsoleType lastConsoleType = ConsoleType.Unknown;
+ public void SyncConsoleType()
{
- ConfigIni.ConsoleType = 0;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
- ConfigIni.HiddenGames = "";
+ if (lastConsoleType == ConfigIni.ConsoleType) return;
+ nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.NES;
+ famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.Famicom;
+ sNESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.SNES;
+ superFamicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == ConsoleType.SuperFamicom;
LoadHidden();
+ LoadGames();
+ lastConsoleType = ConfigIni.ConsoleType;
+ }
+
+ private void nESMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (nESMiniToolStripMenuItem.Checked) return;
+ SaveConfig();
+ ConfigIni.ConsoleType = ConsoleType.NES;
+ SyncConsoleType();
}
private void famicomMiniToolStripMenuItem_Click(object sender, EventArgs e)
{
- ConfigIni.ConsoleType = 1;
- nESMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 0;
- famicomMiniToolStripMenuItem.Checked = ConfigIni.ConsoleType == 1;
- ConfigIni.HiddenGames = "";
- LoadHidden();
+ if (famicomMiniToolStripMenuItem.Checked) return;
+ SaveConfig();
+ ConfigIni.ConsoleType = ConsoleType.Famicom;
+ SyncConsoleType();
+ }
+
+ private void sNESMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (sNESMiniToolStripMenuItem.Checked) return;
+ SaveConfig();
+ ConfigIni.ConsoleType = ConsoleType.SNES;
+ SyncConsoleType();
+ }
+
+ private void superFamicomMiniToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (superFamicomMiniToolStripMenuItem.Checked) return;
+ SaveConfig();
+ ConfigIni.ConsoleType = ConsoleType.SuperFamicom;
+ SyncConsoleType();
}
private void enableAutofireToolStripMenuItem_Click(object sender, EventArgs e)
@@ -960,7 +1290,7 @@ namespace com.clusterrr.hakchi_gui
private void MainForm_Shown(object sender, EventArgs e)
{
- if (ConfigIni.FirstRun && !File.Exists(KernelDump))
+ if (ConfigIni.FirstRun && !File.Exists(WorkerForm.KernelDumpPath))
{
MessageBox.Show(this, Resources.FirstRun + "\r\n\r\n" + Resources.Donate, Resources.Hello, MessageBoxButtons.OK, MessageBoxIcon.Information);
ConfigIni.FirstRun = false;
@@ -1022,7 +1352,54 @@ namespace com.clusterrr.hakchi_gui
private void checkedListBoxGames_DragDrop(object sender, DragEventArgs e)
{
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
- AddGames(files);
+
+ // Need to determine type of files
+ // Maybe it's cover art?
+ if (files.Length == 1)
+ {
+ var ext = Path.GetExtension(files[0]).ToLower();
+ if (ext == ".jpg" || ext == ".png")
+ {
+ SetImageForSelectedGame(files[0]);
+ return;
+ }
+ }
+
+ // Maybe it's some mods?
+ bool mods = false;
+ foreach (var file in files)
+ if (Path.GetExtension(file).ToLower() == ".hmod")
+ mods = true;
+ // Maybe it's some mods in single archive?
+ if (files.Length == 1)
+ {
+ var ext = Path.GetExtension(files[0]).ToLower();
+ if (ext == ".7z" || ext == ".zip" || ext == ".rar")
+ {
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ using (var szExtractor = new SevenZipExtractor(files[0]))
+ {
+ foreach (var f in szExtractor.ArchiveFileNames)
+ if (Path.GetExtension(f).ToLower() == ".hmod")
+ mods = true;
+ }
+ }
+ }
+ if (mods)
+ {
+ installModules(files);
+ return;
+ }
+
+ // All other cases - games or apps
+ var allFilesToAdd = new List<string>();
+ foreach (var file in files)
+ if (Directory.Exists(file))
+ allFilesToAdd.AddRange(Directory.GetFiles(file, "*.*", SearchOption.AllDirectories));
+ else if (File.Exists(file))
+ allFilesToAdd.Add(file);
+ if (allFilesToAdd.Count > 0)
+ AddGames(allFilesToAdd);
}
private void searchToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1038,6 +1415,7 @@ namespace com.clusterrr.hakchi_gui
if (DownloadAllCovers())
MessageBox.Show(this, Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
ShowSelected();
+ timerCalculateGames.Enabled = true;
}
private void checkedListBoxGames_KeyDown(object sender, KeyEventArgs e)
@@ -1120,12 +1498,13 @@ namespace com.clusterrr.hakchi_gui
private void installModulesToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(KernelDump))
- {
- MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- var form = new SelectModsForm();
+ installModules();
+ }
+
+ private void installModules(string[] add = null)
+ {
+ if (RequireKernelDump() == DialogResult.No) return;
+ var form = new SelectModsForm(false, true, add);
form.Text = Resources.SelectModsInstall;
if (form.ShowDialog() == DialogResult.OK)
{
@@ -1133,19 +1512,15 @@ namespace com.clusterrr.hakchi_gui
in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
select m.ToString())).ToArray()))
{
- MessageBox.Show(Resources.DoneUploaded, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
private void uninstallModulesToolStripMenuItem_Click(object sender, EventArgs e)
{
- if (!File.Exists(KernelDump))
- {
- MessageBox.Show(Resources.NoKernelYouNeed, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- var form = new SelectModsForm();
+ if (RequireKernelDump() == DialogResult.No) return;
+ var form = new SelectModsForm(true, false);
form.Text = Resources.SelectModsUninstall;
if (form.ShowDialog() == DialogResult.OK)
{
@@ -1153,9 +1528,193 @@ namespace com.clusterrr.hakchi_gui
in form.checkedListBoxMods.CheckedItems.OfType<object>().ToArray()
select m.ToString())).ToArray()))
{
- MessageBox.Show(Resources.DoneUploaded, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+
+ private void timerConnectionCheck_Tick(object sender, EventArgs e)
+ {
+ toolStripStatusConnectionIcon.Image = Clovershell.IsOnline ? Resources.green : Resources.red;
+ toolStripStatusConnectionIcon.ToolTipText = Clovershell.IsOnline ? "Online" : "Offline";
+ }
+
+ private void saveSettingsToNESMiniNowToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ try
+ {
+ if (WaitingClovershellForm.WaitForDevice(this))
+ {
+ WorkerForm.SyncConfig(ConfigIni.GetConfigDictionary(), true);
+ MessageBox.Show(Resources.Done, Resources.Wow, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void saveStateManagerToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ var gameNames = new Dictionary<string, string>();
+ foreach (var game in defaultNesGames)
+ gameNames[game.Code] = game.Name;
+ foreach (var game in defaultFamicomGames)
+ gameNames[game.Code] = game.Name;
+ foreach (var game in defaultSnesGames)
+ gameNames[game.Code] = game.Name;
+ foreach (var game in checkedListBoxGames.Items)
+ {
+ if (game is NesMiniApplication)
+ gameNames[(game as NesMiniApplication).Code] = (game as NesMiniApplication).Name;
+ }
+ var form = new SaveStateManager(gameNames);
+ form.ShowDialog();
+ }
+
+ private void FTPToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (FTPToolStripMenuItem.Checked)
+ {
+ try
+ {
+ var ftpThread = new Thread(delegate ()
+ {
+ try
+ {
+ ftpServer.Run();
+ }
+ catch (ThreadAbortException)
+ {
+ }
+ catch (Exception ex)
+ {
+ try
+ {
+ ftpServer.Stop();
+ }
+ catch { }
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ Invoke(new Action(delegate ()
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ FTPToolStripMenuItem.Checked = false;
+ }));
+ }
+ });
+ ftpThread.Start();
+ ConfigIni.FtpServer = true;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ FTPToolStripMenuItem.Checked = false;
+ ConfigIni.FtpServer = false;
+ }
+ }
+ else
+ {
+ ftpServer.Stop();
+ ConfigIni.FtpServer = false;
+ }
+ openFTPInExplorerToolStripMenuItem.Enabled = FTPToolStripMenuItem.Checked;
+ }
+
+ private void shellToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = Clovershell.ShellEnabled = shellToolStripMenuItem.Checked;
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ ConfigIni.TelnetServer = openTelnetToolStripMenuItem.Enabled = shellToolStripMenuItem.Checked = false;
+ }
+ }
+
+ private void openFTPInExplorerToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = "ftp://root:clover@127.0.0.1:1021/",
+ }
+ }.Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void openTelnetToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = "telnet://127.0.0.1:1023",
+ }
+ }.Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, Resources.NoTelnet, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void takeScreenshotToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ if (RequirePatchedKernel() == DialogResult.No) return;
+ try
+ {
+ if (WaitingClovershellForm.WaitForDevice(this))
+ {
+ var screenshot = WorkerForm.TakeScreenshot();
+ var screenshotPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".png");
+ screenshot.Save(screenshotPath, ImageFormat.Png);
+ var showProcess = new Process()
+ {
+ StartInfo = new ProcessStartInfo()
+ {
+ FileName = screenshotPath
+ }
+ };
+ showProcess.Start();
+ new Thread(delegate ()
+ {
+ try
+ {
+ showProcess.WaitForExit();
+ }
+ catch { }
+ try
+ {
+ File.Delete(screenshotPath);
+ }
+ catch { }
+ }).Start();
}
}
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
}
}
}
diff --git a/MainForm.da-DK.resx b/MainForm.da-DK.resx
new file mode 100644
index 00000000..cb216af8
--- /dev/null
+++ b/MainForm.da-DK.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Om...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Tilføj flere &amp;spil</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Tilføj preset</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Originale spil i roden -&gt; Automatisk i undermappe</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatisk</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Tilføj flere spil</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Gennemse</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synkroniser valgte spil med NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Controller hacks</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Komprimer ikke-NES spil (for ekstra emulator mod)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Konsol type</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Brugerdefineret - vis Mappe styring hver gang</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Slet spil</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Slet preset</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Deaktiver sider/mapper</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Hent box art for alle spillene</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Dump kerne</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Brug "Select+A/B" til at aktivere autofire på A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Fjern epilepsi beskyttelse</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Luk</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Fil</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flash custom kerne</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flash original kerne</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Originale spil i roden -&gt; Mapper, del spil ligeligt</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Originale spil i roden -&gt; Mapper, delt efter første bogstav</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Mapper, del efter første bogstav</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Mapper, del spil ligeligt</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Github side med faktiske udgivelser</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Global kommando-linje argumenter (kun eksperter!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Du kan skjule nogle standard spil</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Spil indstillinger</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Hjælp</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Installer ekstra moduler</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kerne</value>
+ </data>
+ <data name="label1.Text">
+ <value>Udgivelses date (YYYY-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Udgiver:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Kommando-linje argumenter (kun for avanceret brugere!)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Box art:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Vælg spil:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Max antal spillere:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie koder (komma separeret)</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Navn:</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximum spil per side/mappe</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduler</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originale spil i roden -&gt; Mapper, del spil</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Sider, del spil ligeligt</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Sider/mappe struktur</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Valg presets.</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>En spiller</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>To spillere, ikke samtidig</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>To spiller, samtidig</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Brug knap kombination til at nustille</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Gem indstillinger til NES Mini nu</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Søg</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Vælg alle</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Vælg nulstil knap kombination</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Indstillinger</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synkroniser</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Afinstallere extra moduler</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Afinstaller</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Fravælg alt</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Op+A+B = Start" på anden controller</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Brug udvidet skrifttype</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Brug X/Y på Classic Controller som autofire A/B</value>
+ </data>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP server on ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Language</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Open FTP client</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Select box art for game</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Select games</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Open Telnet client</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet server on telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Take screenshot</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Tools</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.de-DE.resx b/MainForm.de-DE.resx
index c31f2809..c4280e42 100644
--- a/MainForm.de-DE.resx
+++ b/MainForm.de-DE.resx
@@ -1 +1,295 @@
-<?xml version="1.0" encoding="utf-8"?> <root> <!-- Microsoft ResX Schema Version 2.0 The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes associated with the data types. Example: ... ado.net/XML headers & schema ... <resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="version">2.0</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <value>[base64 mime encoded serialized .NET Framework object]</value> </data> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <comment>This is a comment</comment> </data> There are any number of "resheader" rows that contain simple name/value pairs. Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the mimetype set. The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not extensible. For a given mimetype the value must be set accordingly: Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can read any of the formats listed below. mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:element name="root" msdata:IsDataSet="true"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="metadata"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" /> </xsd:sequence> <xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="assembly"> <xsd:complexType> <xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" /> </xsd:complexType> </xsd:element> <xsd:element name="data"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="resheader"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema> <resheader name="resmimetype"> <value>text/microsoft-resx</value> </resheader> <resheader name="version"> <value>2.0</value> </resheader> <resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;statusStrip.Type" xml:space="preserve"> <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms"> <value>CenterScreen</value> </data> <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label4.ZOrder" xml:space="preserve"> <value>10</value> </data> <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <data name="radioButtonTwo.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="groupBoxOptions.Location" type="System.Drawing.Point, System.Drawing"> <value>306, 27</value> </data> <data name="&gt;&gt;label6.ZOrder" xml:space="preserve"> <value>5</value> </data> <data name="radioButtonTwoSim.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="label7.Text" xml:space="preserve"> <value>Game Genie Codes (getrennt mit Komma):</value> </data> <data name="&gt;&gt;label5.ZOrder" xml:space="preserve"> <value>4</value> </data> <data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve"> <value>Benutze "Select+A/B" um Autofeuer für A/B zu aktivieren</value> </data> <data name="uninstallModulesToolStripMenuItem.Text" xml:space="preserve"> <value>Deinstalliere Extra Module</value> </data> <data name="buttonBrowseImage.Text" xml:space="preserve"> <value>Durchsuchen</value> </data> <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Name" xml:space="preserve"> <value>gitHubPageWithActualReleasesToolStripMenuItem</value> </data> <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve"> <value>textBoxArguments</value> </data> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <value>609, 637</value> </data> <data name="label3.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="&gt;&gt;kernelToolStripMenuItem.Name" xml:space="preserve"> <value>kernelToolStripMenuItem</value> </data> <data name="&gt;&gt;uninstallToolStripMenuItem.Name" xml:space="preserve"> <value>uninstallToolStripMenuItem</value> </data> <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonAddGames.Name" xml:space="preserve"> <value>buttonAddGames</value> </data> <data name="&gt;&gt;max50toolStripMenuItem.Name" xml:space="preserve"> <value>max50toolStripMenuItem</value> </data> <data name="maskedTextBoxReleaseDate.Size" type="System.Drawing.Size, System.Drawing"> <value>65, 20</value> </data> <data name="textBoxPublisher.TabIndex" type="System.Int32, mscorlib"> <value>8</value> </data> <data name="label7.Size" type="System.Drawing.Size, System.Drawing"> <value>194, 13</value> </data> <data name="&gt;&gt;max70toolStripMenuItem.Name" xml:space="preserve"> <value>max70toolStripMenuItem</value> </data> <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="buttonAddGames.Size" type="System.Drawing.Size, System.Drawing"> <value>282, 38</value> </data> <data name="groupBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing"> <value>306, 27</value> </data> <data name="&gt;&gt;openFileDialogImage.Type" xml:space="preserve"> <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;groupBoxOptions.Type" xml:space="preserve"> <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="groupBoxOptions.Text" xml:space="preserve"> <value>Spiel Optionen</value> </data> <data name="&gt;&gt;toolStripStatusLabelSelected.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="max100toolStripMenuItem.Text" xml:space="preserve"> <value>100</value> </data> <data name="&gt;&gt;addPresetToolStripMenuItem.Name" xml:space="preserve"> <value>addPresetToolStripMenuItem</value> </data> <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve"> <value>Originale Spiele in Root -&gt; Seiten, splitte Spiele gleichmäßig</value> </data> <data name="&gt;&gt;label4.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing"> <value>235, 6</value> </data> <data name="buttonShowGameGenieDatabase.Size" type="System.Drawing.Size, System.Drawing"> <value>25, 20</value> </data> <data name="buttonStart.Location" type="System.Drawing.Point, System.Drawing"> <value>306, 568</value> </data> <data name="&gt;&gt;max60toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve"> <value>7</value> </data> <data name="&gt;&gt;max20toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="buttonBrowseImage.TabIndex" type="System.Int32, mscorlib"> <value>13</value> </data> <data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve"> <value>Seiten/Ordner Strucktur</value> </data> <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve"> <value>Alle abwählen</value> </data> <data name="automaticOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;toolStripMenuItem4.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label5.Name" xml:space="preserve"> <value>label5</value> </data> <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>246, 22</value> </data> <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>197, 22</value> </data> <data name="&gt;&gt;menuStrip.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="&gt;&gt;famicomMiniToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing"> <value>0, 0</value> </data> <data name="max90toolStripMenuItem.Text" xml:space="preserve"> <value>90</value> </data> <data name="&gt;&gt;labelName.Name" xml:space="preserve"> <value>labelName</value> </data> <data name="&gt;&gt;max80toolStripMenuItem.Name" xml:space="preserve"> <value>max80toolStripMenuItem</value> </data> <data name="labelName.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 49</value> </data> <data name="buttonGoogle.Size" type="System.Drawing.Size, System.Drawing"> <value>61, 23</value> </data> <data name="maximumGamesPerFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;labelName.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="labelName.Size" type="System.Drawing.Size, System.Drawing"> <value>38, 13</value> </data> <data name="&gt;&gt;openFileDialogImage.Name" xml:space="preserve"> <value>openFileDialogImage</value> </data> <data name="&gt;&gt;label4.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="checkedListBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing"> <value>282, 454</value> </data> <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>142, 22</value> </data> <data name="&gt;&gt;pagesToolStripMenuItem.Name" xml:space="preserve"> <value>pagesToolStripMenuItem</value> </data> <data name="label2.TabIndex" type="System.Int32, mscorlib"> <value>7</value> </data> <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="label2.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="&gt;&gt;toolStripProgressBar.Name" xml:space="preserve"> <value>toolStripProgressBar</value> </data> <data name="max20toolStripMenuItem.Text" xml:space="preserve"> <value>20</value> </data> <data name="&gt;&gt;openFileDialogNes.Name" xml:space="preserve"> <value>openFileDialogNes</value> </data> <data name="label2.Text" xml:space="preserve"> <value>Herausgeber:</value> </data> <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve"> <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve"> <value>Lösche Spiel</value> </data> <data name="textBoxName.Size" type="System.Drawing.Size, System.Drawing"> <value>216, 20</value> </data> <data name="addPresetToolStripMenuItem.Text" xml:space="preserve"> <value>Voreinstellung hinzufügen</value> </data> <data name="&gt;&gt;pagesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve"> <value>Benutze erweiterte Schriftart</value> </data> <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing"> <value>0, 615</value> </data> <data name="groupBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="&gt;&gt;synchronizeToolStripMenuItem.Name" xml:space="preserve"> <value>synchronizeToolStripMenuItem</value> </data> <data name="&gt;&gt;timerCalculateGames.Name" xml:space="preserve"> <value>timerCalculateGames</value> </data> <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve"> <value>18</value> </data> <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>179, 22</value> </data> <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve"> <value>0</value> </data> <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve"> <value>radioButtonTwo</value> </data> <data name="&gt;&gt;foldersToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>308, 22</value> </data> <data name="groupBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing"> <value>293, 529</value> </data> <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonAddGames.ZOrder" xml:space="preserve"> <value>3</value> </data> <data name="&gt;&gt;checkedListBoxGames.Name" xml:space="preserve"> <value>checkedListBoxGames</value> </data> <data name="&gt;&gt;deletePresetToolStripMenuItem.Name" xml:space="preserve"> <value>deletePresetToolStripMenuItem</value> </data> <data name="&gt;&gt;label7.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>308, 22</value> </data> <data name="groupBoxOptions.TabIndex" type="System.Int32, mscorlib"> <value>4</value> </data> <data name="addMoreGamesToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms"> <value>Ctrl+O</value> </data> <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="&gt;&gt;label7.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve"> <value>17</value> </data> <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve"> <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label1.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="&gt;&gt;selectAllToolStripMenuItem.Name" xml:space="preserve"> <value>selectAllToolStripMenuItem</value> </data> <data name="&gt;&gt;textBoxName.Type" xml:space="preserve"> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve"> <value>buttonBrowseImage</value> </data> <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve"> <value>"Hoch+A+B = Start" auf dem 2. Controller</value> </data> <data name="&gt;&gt;unselectAllToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <value>53, 13</value> </data> <data name="&gt;&gt;modulesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="menuStrip.Text" xml:space="preserve"> <value>menuStrip</value> </data> <data name="&gt;&gt;groupBoxOptions.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="&gt;&gt;max90toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>140, 22</value> </data> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <value>14</value> </data> <data name="checkedListBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing"> <value>5, 49</value> </data> <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label1.ZOrder" xml:space="preserve"> <value>2</value> </data> <data name="&gt;&gt;label6.Name" xml:space="preserve"> <value>label6</value> </data> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <value>6, 13</value> </data> <data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>61, 20</value> </data> <data name="&gt;&gt;presetsToolStripMenuItem.Name" xml:space="preserve"> <value>presetsToolStripMenuItem</value> </data> <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="radioButtonOne.Text" xml:space="preserve"> <value>Ein Spieler</value> </data> <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing"> <value>76, 17</value> </data> <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>179, 22</value> </data> <data name="&gt;&gt;menuStrip.Type" xml:space="preserve"> <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Name" xml:space="preserve"> <value>uninstallModulesToolStripMenuItem</value> </data> <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Name" xml:space="preserve"> <value>flashCustomKernelToolStripMenuItem</value> </data> <data name="&gt;&gt;max70toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing"> <value>609, 22</value> </data> <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve"> <value>Mehr hinzufügen &amp;Spiele</value> </data> <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>140, 22</value> </data> <data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 189</value> </data> <data name="&gt;&gt;deleteGameToolStripMenuItem.Name" xml:space="preserve"> <value>deleteGameToolStripMenuItem</value> </data> <data name="&gt;&gt;modulesToolStripMenuItem.Name" xml:space="preserve"> <value>modulesToolStripMenuItem</value> </data> <data name="&gt;&gt;groupBoxDefaultGames.ZOrder" xml:space="preserve"> <value>8</value> </data> <data name="label4.Size" type="System.Drawing.Size, System.Drawing"> <value>43, 13</value> </data> <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Name" xml:space="preserve"> <value>downloadCoversForAllGamesToolStripMenuItem</value> </data> <data name="&gt;&gt;$this.Type" xml:space="preserve"> <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="openFileDialogImage.Filter" xml:space="preserve"> <value>Images (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|All files|*.*</value> </data> <data name="&gt;&gt;settingsToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonStart.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="exitToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Beenden</value> </data> <data name="max20toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="max70toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="checkedListBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>Top, Bottom, Left, Right</value> </data> <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing"> <value>141, 70</value> </data> <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve"> <value>Maximale Spiele pro Seite/Ordner</value> </data> <data name="buttonShowGameGenieDatabase.TabIndex" type="System.Int32, mscorlib"> <value>12</value> </data> <data name="customToolStripMenuItem.Text" xml:space="preserve"> <value>Benutzerdefiniert - zeige Ordner Manager jedesmal</value> </data> <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve"> <value>Original Spiele in Root -&gt; automatisch in Unterordner</value> </data> <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;radioButtonTwo.ZOrder" xml:space="preserve"> <value>15</value> </data> <data name="&gt;&gt;buttonStart.Name" xml:space="preserve"> <value>buttonStart</value> </data> <data name="&gt;&gt;famicomMiniToolStripMenuItem.Name" xml:space="preserve"> <value>famicomMiniToolStripMenuItem</value> </data> <data name="famicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>151, 22</value> </data> <data name="&gt;&gt;max40toolStripMenuItem.Name" xml:space="preserve"> <value>max40toolStripMenuItem</value> </data> <data name="textBoxName.TabIndex" type="System.Int32, mscorlib"> <value>2</value> </data> <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve"> <value>Original Spiele in Root -&gt; Ordner, splitte Spiele gleichmäßig</value> </data> <data name="buttonShowGameGenieDatabase.Location" type="System.Drawing.Point, System.Drawing"> <value>252, 286</value> </data> <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>140, 22</value> </data> <data name="&gt;&gt;deleteGameToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;nESMiniToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label4.Text" xml:space="preserve"> <value>Box Art:</value> </data> <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="fileToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Datei</value> </data> <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>179, 22</value> </data> <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve"> <value>Komprimiere Spiele, wenn möglich</value> </data> <data name="&gt;&gt;consoleTypeToolStripMenuItem.Name" xml:space="preserve"> <value>consoleTypeToolStripMenuItem</value> </data> <data name="buttonBrowseImage.Location" type="System.Drawing.Point, System.Drawing"> <value>219, 384</value> </data> <data name="&gt;&gt;enableAutofireToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label1.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;synchronizeToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve"> <value>GitHub Homepage mit aktuellen Veröffentlichungen</value> </data> <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve"> <value>pictureBoxArt</value> </data> <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing"> <value>625, 675</value> </data> <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Name" xml:space="preserve"> <value>addMoreGamesToolStripMenuItem</value> </data> <data name="label1.Size" type="System.Drawing.Size, System.Drawing"> <value>150, 13</value> </data> <data name="&gt;&gt;label5.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="radioButtonOne.TabIndex" type="System.Int32, mscorlib"> <value>3</value> </data> <data name="nESMiniToolStripMenuItem.Text" xml:space="preserve"> <value>NES Mini</value> </data> <data name="groupBoxDefaultGames.TabIndex" type="System.Int32, mscorlib"> <value>3</value> </data> <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve"> <value>Lösche Voreinstellung</value> </data> <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms"> <value>Zoom</value> </data> <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve"> <value>toolStripStatusLabelSize</value> </data> <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Name" xml:space="preserve"> <value>foldersSplitByFirstLetterToolStripMenuItem</value> </data> <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve"> <value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value> </data> <data name="max45toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="modulesToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Module</value> </data> <data name="&gt;&gt;max60toolStripMenuItem.Name" xml:space="preserve"> <value>max60toolStripMenuItem</value> </data> <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve"> <value>11</value> </data> <data name="radioButtonTwoSim.Location" type="System.Drawing.Point, System.Drawing"> <value>103, 122</value> </data> <data name="buttonBrowseImage.Size" type="System.Drawing.Size, System.Drawing"> <value>61, 23</value> </data> <data name="helpToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Hilfe</value> </data> <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve"> <value>Ordner, Aufgeteilt nach 1. Buchstaben</value> </data> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723 tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760 r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5 s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6 tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720 rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8 uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763 sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9 uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7 t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3 tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0 sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY F/8eHBr/Hhsa/xwZGP+ioqH///////////////////////////////////////////////////////// ///39/f/aWdl/xwZFv9PTUr/7Ozs//////////////////////////////////////////////////// ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5 cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316 eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2 dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6 +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5 +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768 zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8 t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7 uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7 dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9 dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9 e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6 t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9 uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87 N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0 Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3 NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1 Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8 N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2 Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9 N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1 NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3 M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4 Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0 M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0 MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3 Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3 NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/ P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1 Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8 Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46 Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0 LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3 Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5 OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4 NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03 Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3 Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7 tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6 Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0 Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04 NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5 OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08 Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2 M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3 Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05 Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8 O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7 Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2 M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4 NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87 N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49 PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6 OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3 Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3 Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3 NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86 N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49 O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4 Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45 Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9 Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05 Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87 N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+ Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+ Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5 Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46 N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+ Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08 PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3 NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46 Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1 Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05 Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////8= </value> </data> <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>37, 20</value> </data> <data name="&gt;&gt;label3.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="textBoxArguments.Location" type="System.Drawing.Point, System.Drawing"> <value>18, 237</value> </data> <data name="label7.TabIndex" type="System.Int32, mscorlib"> <value>17</value> </data> <data name="&gt;&gt;statusStrip.Name" xml:space="preserve"> <value>statusStrip</value> </data> <data name="&gt;&gt;label7.Name" xml:space="preserve"> <value>label7</value> </data> <data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve"> <value>fileToolStripMenuItem</value> </data> <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Name" xml:space="preserve"> <value>maximumGamesPerFolderToolStripMenuItem</value> </data> <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve"> <value>Controller Hacks</value> </data> <data name="labelName.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;automaticToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label4.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="label1.Text" xml:space="preserve"> <value>Veröffentlichungsdatum (JJJJ-MM-TT):</value> </data> <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Name" xml:space="preserve"> <value>automaticOriginalToolStripMenuItem</value> </data> <data name="&gt;&gt;unselectAllToolStripMenuItem.Name" xml:space="preserve"> <value>unselectAllToolStripMenuItem</value> </data> <data name="radioButtonTwoSim.Text" xml:space="preserve"> <value>Zwei Spieler, gleichzeitig</value> </data> <data name="label6.Size" type="System.Drawing.Size, System.Drawing"> <value>66, 13</value> </data> <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="labelName.Text" xml:space="preserve"> <value>Name:</value> </data> <data name="&gt;&gt;label6.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;max30toolStripMenuItem.Name" xml:space="preserve"> <value>max30toolStripMenuItem</value> </data> <data name="&gt;&gt;kernelToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;checkedListBoxGames.Type" xml:space="preserve"> <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;timerCalculateGames.Type" xml:space="preserve"> <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve"> <value>Deaktiviere Epilepsie-Schutz</value> </data> <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing"> <value>353, 6</value> </data> <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>179, 22</value> </data> <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve"> <value>groupBoxDefaultGames</value> </data> <data name="label7.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="menuStrip.TabIndex" type="System.Int32, mscorlib"> <value>1</value> </data> <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve"> <value>Deaktiviere Seiten/Ordner</value> </data> <data name="checkedListBoxGames.Size" type="System.Drawing.Size, System.Drawing"> <value>282, 499</value> </data> <data name="labelID.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 21</value> </data> <data name="label5.Text" xml:space="preserve"> <value>Spiel auswählen:</value> </data> <data name="buttonAddGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="fAQToolStripMenuItem.Text" xml:space="preserve"> <value>FAQ</value> </data> <data name="&gt;&gt;max45toolStripMenuItem.Name" xml:space="preserve"> <value>max45toolStripMenuItem</value> </data> <data name="&gt;&gt;consoleTypeToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>308, 22</value> </data> <data name="&gt;&gt;deletePresetToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Name" xml:space="preserve"> <value>disablePagefoldersToolStripMenuItem</value> </data> <data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <value>253, 13</value> </data> <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="label4.TabIndex" type="System.Int32, mscorlib"> <value>11</value> </data> <data name="textBoxPublisher.Location" type="System.Drawing.Point, System.Drawing"> <value>77, 186</value> </data> <data name="&gt;&gt;label2.Name" xml:space="preserve"> <value>label2</value> </data> <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve"> <value>1</value> </data> <data name="pagesOriginalToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms"> <value>None</value> </data> <data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;helpToolStripMenuItem.Name" xml:space="preserve"> <value>helpToolStripMenuItem</value> </data> <data name="&gt;&gt;groupBoxOptions.Name" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="textBoxGameGenie.Size" type="System.Drawing.Size, System.Drawing"> <value>227, 20</value> </data> <data name="buttonGoogle.TabIndex" type="System.Int32, mscorlib"> <value>15</value> </data> <data name="label6.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 101</value> </data> <data name="&gt;&gt;enableAutofireToolStripMenuItem.Name" xml:space="preserve"> <value>enableAutofireToolStripMenuItem</value> </data> <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>52, 20</value> </data> <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve"> <value>6</value> </data> <data name="&gt;&gt;searchToolStripMenuItem.Name" xml:space="preserve"> <value>searchToolStripMenuItem</value> </data> <data name="&gt;&gt;groupBoxOptions.ZOrder" xml:space="preserve"> <value>7</value> </data> <data name="toolStripStatusLabelSelected.AutoSize" type="System.Boolean, mscorlib"> <value>False</value> </data> <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="&gt;&gt;dumpKernelToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;selectAllToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;automaticToolStripMenuItem.Name" xml:space="preserve"> <value>automaticToolStripMenuItem</value> </data> <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve"> <value>maskedTextBoxReleaseDate</value> </data> <data name="&gt;&gt;buttonStart.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="&gt;&gt;customToolStripMenuItem.Name" xml:space="preserve"> <value>customToolStripMenuItem</value> </data> <data name="&gt;&gt;menuStrip.Name" xml:space="preserve"> <value>menuStrip</value> </data> <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve"> <value>Flashe Original Kernel</value> </data> <data name="radioButtonTwoSim.TabIndex" type="System.Int32, mscorlib"> <value>5</value> </data> <data name="groupBoxDefaultGames.Text" xml:space="preserve"> <value>Du kannst einige Standardspiele verbergen</value> </data> <data name="&gt;&gt;dumpKernelToolStripMenuItem.Name" xml:space="preserve"> <value>dumpKernelToolStripMenuItem</value> </data> <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name" xml:space="preserve"> <value>useXYOnClassicControllerAsAutofireABToolStripMenuItem</value> </data> <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Name" xml:space="preserve"> <value>flashOriginalKernelToolStripMenuItem</value> </data> <data name="max50toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;max80toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve"> <value>Globale Kommandozeilen-Argumente (nur Experten!)</value> </data> <data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve"> <value>exitToolStripMenuItem</value> </data> <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing"> <value>609, 24</value> </data> <data name="selectAllToolStripMenuItem.Text" xml:space="preserve"> <value>Alle Auswählen</value> </data> <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="max40toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="max30toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;openFileDialogNes.Type" xml:space="preserve"> <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;max20toolStripMenuItem.Name" xml:space="preserve"> <value>max20toolStripMenuItem</value> </data> <data name="aboutToolStripMenuItem.Text" xml:space="preserve"> <value>Über...</value> </data> <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve"> <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="max90toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing"> <value>174, 17</value> </data> <data name="maskedTextBoxReleaseDate.Mask" xml:space="preserve"> <value>0000-00-00</value> </data> <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing"> <value>140, 204</value> </data> <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing"> <value>156, 17</value> </data> <data name="&gt;&gt;max50toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label1.Name" xml:space="preserve"> <value>label1</value> </data> <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Name" xml:space="preserve"> <value>pagesOriginalToolStripMenuItem</value> </data> <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve"> <value>16</value> </data> <data name="&gt;&gt;label2.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="pagesToolStripMenuItem.Text" xml:space="preserve"> <value>Seiten, splitte Spiele gleichmäßig</value> </data> <data name="label5.Size" type="System.Drawing.Size, System.Drawing"> <value>74, 13</value> </data> <data name="max70toolStripMenuItem.Text" xml:space="preserve"> <value>70</value> </data> <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>44, 20</value> </data> <data name="automaticToolStripMenuItem.Text" xml:space="preserve"> <value>Automatich</value> </data> <data name="textBoxPublisher.Size" type="System.Drawing.Size, System.Drawing"> <value>198, 20</value> </data> <data name="&gt;&gt;toolStripProgressBar.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve"> <value>contextMenuStrip</value> </data> <data name="labelID.TabIndex" type="System.Int32, mscorlib"> <value>0</value> </data> <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Name" xml:space="preserve"> <value>upABStartOnSecondControllerToolStripMenuItem</value> </data> <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve"> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label1.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 157</value> </data> <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve"> <value>pagesfoldersTypeToolStripMenuItem</value> </data> <data name="&gt;&gt;groupBoxDefaultGames.Type" xml:space="preserve"> <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="statusStrip.TabIndex" type="System.Int32, mscorlib"> <value>6</value> </data> <data name="buttonStart.TabIndex" type="System.Int32, mscorlib"> <value>6</value> </data> <data name="groupBoxDefaultGames.Visible" type="System.Boolean, mscorlib"> <value>False</value> </data> <data name="&gt;&gt;nESMiniToolStripMenuItem.Name" xml:space="preserve"> <value>nESMiniToolStripMenuItem</value> </data> <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve"> <value>buttonShowGameGenieDatabase</value> </data> <data name="&gt;&gt;label4.Name" xml:space="preserve"> <value>label4</value> </data> <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve"> <value>Benutze Tastenkombination zum reseten</value> </data> <data name="&gt;&gt;toolStripMenuItem4.Name" xml:space="preserve"> <value>toolStripMenuItem4</value> </data> <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label3.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 220</value> </data> <data name="&gt;&gt;foldersToolStripMenuItem.Name" xml:space="preserve"> <value>foldersToolStripMenuItem</value> </data> <data name="settingsToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Einstellungen</value> </data> <data name="&gt;&gt;buttonAddGames.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>65, 20</value> </data> <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing"> <value>71, 316</value> </data> <data name="&gt;&gt;label2.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve"> <value>3</value> </data> <data name="&gt;&gt;max100toolStripMenuItem.Name" xml:space="preserve"> <value>max100toolStripMenuItem</value> </data> <data name="label3.Text" xml:space="preserve"> <value>Kommandozeilen Argumente (Nur für fortgeschrittene Benutzer!):</value> </data> <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve"> <value>Nutze X/Y auf dem Classic Controller als Autofeuer A/B</value> </data> <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve"> <value>Wähle Resetknopf Kombination</value> </data> <data name="&gt;&gt;max35toolStripMenuItem.Name" xml:space="preserve"> <value>max35toolStripMenuItem</value> </data> <data name="max35toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve"> <value>6</value> </data> <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve"> <value>Sichere Kernel</value> </data> <data name="radioButtonTwoSim.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <value>NoControl</value> </data> <data name="labelID.Size" type="System.Drawing.Size, System.Drawing"> <value>21, 13</value> </data> <data name="&gt;&gt;max25toolStripMenuItem.Name" xml:space="preserve"> <value>max25toolStripMenuItem</value> </data> <data name="&gt;&gt;presetsToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="label3.TabIndex" type="System.Int32, mscorlib"> <value>9</value> </data> <data name="max25toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Name" xml:space="preserve"> <value>useExtendedFontToolStripMenuItem</value> </data> <data name="label5.TabIndex" type="System.Int32, mscorlib"> <value>4</value> </data> <data name="uninstallToolStripMenuItem.Text" xml:space="preserve"> <value>Deinstallieren</value> </data> <data name="&gt;&gt;max90toolStripMenuItem.Name" xml:space="preserve"> <value>max90toolStripMenuItem</value> </data> <data name="&gt;&gt;settingsToolStripMenuItem.Name" xml:space="preserve"> <value>settingsToolStripMenuItem</value> </data> <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Name" xml:space="preserve"> <value>foldersSplitByFirstLetterOriginalToolStripMenuItem</value> </data> <data name="textBoxArguments.TabIndex" type="System.Int32, mscorlib"> <value>10</value> </data> <data name="label5.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="label4.Location" type="System.Drawing.Point, System.Drawing"> <value>15, 409</value> </data> <data name="max50toolStripMenuItem.Text" xml:space="preserve"> <value>50</value> </data> <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve"> <value>13</value> </data> <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Name" xml:space="preserve"> <value>compressGamesIfPossibleToolStripMenuItem</value> </data> <data name="openFileDialogNes.Title" xml:space="preserve"> <value>Select NES file(s)</value> </data> <data name="max100toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve"> <value>Synchronisieren</value> </data> <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve"> <value>Original Spiele in Root -&gt; Ordner, Aufgeteilt durch 1. Buchstaben</value> </data> <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing"> <value>150, 17</value> </data> <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="label6.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="checkedListBoxGames.TabIndex" type="System.Int32, mscorlib"> <value>1</value> </data> <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>142, 22</value> </data> <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve"> <value>Flashe benutzerdefinierten Kernel</value> </data> <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Name" xml:space="preserve"> <value>epilepsyProtectionToolStripMenuItem</value> </data> <data name="&gt;&gt;max30toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="kernelToolStripMenuItem.Text" xml:space="preserve"> <value>&amp;Kernel</value> </data> <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;aboutToolStripMenuItem.Name" xml:space="preserve"> <value>aboutToolStripMenuItem</value> </data> <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve"> <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve"> <value>checkedListBoxDefaultGames</value> </data> <data name="&gt;&gt;textBoxName.Name" xml:space="preserve"> <value>textBoxName</value> </data> <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="label6.Text" xml:space="preserve"> <value>Max Spieler:</value> </data> <data name="textBoxGameGenie.TabIndex" type="System.Int32, mscorlib"> <value>11</value> </data> <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve"> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve"> <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="famicomMiniToolStripMenuItem.Text" xml:space="preserve"> <value>Famicom Mini</value> </data> <data name="&gt;&gt;$this.Name" xml:space="preserve"> <value>MainForm</value> </data> <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label7.ZOrder" xml:space="preserve"> <value>4</value> </data> <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve"> <value>19</value> </data> <data name="presetsToolStripMenuItem.Text" xml:space="preserve"> <value>Auswahlvoreinstellungen</value> </data> <data name="&gt;&gt;labelID.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve"> <value>radioButtonOne</value> </data> <data name="textBoxArguments.Size" type="System.Drawing.Size, System.Drawing"> <value>257, 20</value> </data> <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing"> <value>139, 6</value> </data> <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="max45toolStripMenuItem.Text" xml:space="preserve"> <value>45</value> </data> <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve"> <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve"> <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;searchToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;checkedListBoxGames.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>308, 22</value> </data> <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <value>NoControl</value> </data> <data name="buttonAddGames.Text" xml:space="preserve"> <value>Mehr Spiele hinzufügen</value> </data> <data name="&gt;&gt;max100toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;aboutToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve"> <value>buttonGoogle</value> </data> <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve"> <value>8</value> </data> <data name="nESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>151, 22</value> </data> <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>246, 22</value> </data> <data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve"> <value>toolStripMenuItem2</value> </data> <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve"> <value>Konsolentyp</value> </data> <data name="&gt;&gt;max35toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="radioButtonOne.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="maskedTextBoxReleaseDate.TabIndex" type="System.Int32, mscorlib"> <value>6</value> </data> <data name="checkedListBoxDefaultGames.TabIndex" type="System.Int32, mscorlib"> <value>3</value> </data> <data name="&gt;&gt;addPresetToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="labelID.AutoSize" type="System.Boolean, mscorlib"> <value>True</value> </data> <data name="toolStripStatusLabelSelected.Size" type="System.Drawing.Size, System.Drawing"> <value>150, 17</value> </data> <data name="labelName.TabIndex" type="System.Int32, mscorlib"> <value>1</value> </data> <data name="&gt;&gt;toolStripStatusLabelSelected.Name" xml:space="preserve"> <value>toolStripStatusLabelSelected</value> </data> <data name="max35toolStripMenuItem.Text" xml:space="preserve"> <value>35</value> </data> <data name="label1.TabIndex" type="System.Int32, mscorlib"> <value>5</value> </data> <data name="&gt;&gt;labelID.Name" xml:space="preserve"> <value>labelID</value> </data> <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label6.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;labelID.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;buttonStart.ZOrder" xml:space="preserve"> <value>1</value> </data> <data name="label5.Location" type="System.Drawing.Point, System.Drawing"> <value>12, 33</value> </data> <data name="maskedTextBoxReleaseDate.Location" type="System.Drawing.Point, System.Drawing"> <value>168, 154</value> </data> <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing"> <value>353, 6</value> </data> <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="checkedListBoxGames.Location" type="System.Drawing.Point, System.Drawing"> <value>12, 57</value> </data> <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Name" xml:space="preserve"> <value>resetUsingCombinationOfButtonsToolStripMenuItem</value> </data> <data name="toolStripStatusLabelSize.AutoSize" type="System.Boolean, mscorlib"> <value>False</value> </data> <data name="radioButtonTwo.TabIndex" type="System.Int32, mscorlib"> <value>4</value> </data> <data name="labelID.Text" xml:space="preserve"> <value>ID:</value> </data> <data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="radioButtonTwo.Text" xml:space="preserve"> <value>Zwei Spieler, abwechselnd</value> </data> <data name="textBoxGameGenie.Location" type="System.Drawing.Point, System.Drawing"> <value>19, 286</value> </data> <data name="foldersToolStripMenuItem.Text" xml:space="preserve"> <value>Ordner, splitte Spiele gleichmäßig</value> </data> <data name="max80toolStripMenuItem.Text" xml:space="preserve"> <value>80</value> </data> <data name="&gt;&gt;installModulesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="buttonAddGames.TabIndex" type="System.Int32, mscorlib"> <value>5</value> </data> <data name="&gt;&gt;cloverconHackToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;labelName.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="textBoxName.Location" type="System.Drawing.Point, System.Drawing"> <value>59, 46</value> </data> <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve"> <value>9</value> </data> <data name="&gt;&gt;max40toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;label1.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="buttonStart.Text" xml:space="preserve"> <value>Synchronisiere gewählte Spiele mit NES Mini</value> </data> <data name="max80toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve"> <value>radioButtonTwoSim</value> </data> <data name="&gt;&gt;toolStripMenuItem3.Name" xml:space="preserve"> <value>toolStripMenuItem3</value> </data> <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>356, 22</value> </data> <data name="synchronizeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms"> <value>F5</value> </data> <data name="statusStrip.Text" xml:space="preserve"> <value>statusStrip1</value> </data> <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Name" xml:space="preserve"> <value>foldersOriginalToolStripMenuItem</value> </data> <data name="$this.Text" xml:space="preserve"> <value>hakchi2</value> </data> <data name="groupBoxOptions.Size" type="System.Drawing.Size, System.Drawing"> <value>293, 529</value> </data> <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve"> <value>2</value> </data> <data name="max60toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>92, 22</value> </data> <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="searchToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms"> <value>Ctrl+F</value> </data> <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Name" xml:space="preserve"> <value>selectButtonCombinationToolStripMenuItem</value> </data> <data name="&gt;&gt;buttonAddGames.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing"> <value>625, 675</value> </data> <data name="&gt;&gt;label5.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve"> <value>textBoxGameGenie</value> </data> <data name="buttonStart.Size" type="System.Drawing.Size, System.Drawing"> <value>293, 38</value> </data> <data name="toolStripProgressBar.Size" type="System.Drawing.Size, System.Drawing"> <value>300, 16</value> </data> <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve"> <value>Lade Box Art für alle Spiele</value> </data> <data name="&gt;&gt;label3.Name" xml:space="preserve"> <value>label3</value> </data> <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>246, 22</value> </data> <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;groupBoxDefaultGames.Parent" xml:space="preserve"> <value>$this</value> </data> <data name="buttonShowGameGenieDatabase.Text" xml:space="preserve"> <value>+</value> </data> <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve"> <value>textBoxPublisher</value> </data> <data name="radioButtonOne.Location" type="System.Drawing.Point, System.Drawing"> <value>103, 76</value> </data> <data name="pagesToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms"> <value>None</value> </data> <data name="max60toolStripMenuItem.Text" xml:space="preserve"> <value>60</value> </data> <data name="buttonGoogle.Location" type="System.Drawing.Point, System.Drawing"> <value>219, 427</value> </data> <data name="&gt;&gt;groupBoxDefaultGames.Name" xml:space="preserve"> <value>groupBoxDefaultGames</value> </data> <data name="&gt;&gt;uninstallToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="openFileDialogImage.Title" xml:space="preserve"> <value>Select cover for game</value> </data> <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>327, 22</value> </data> <data name="&gt;&gt;fAQToolStripMenuItem.Name" xml:space="preserve"> <value>fAQToolStripMenuItem</value> </data> <data name="max40toolStripMenuItem.Text" xml:space="preserve"> <value>40</value> </data> <data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve"> <value>toolStripMenuItem1</value> </data> <data name="checkedListBoxGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="&gt;&gt;max25toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="installModulesToolStripMenuItem.Text" xml:space="preserve"> <value>Installiere Extra Module</value> </data> <data name="&gt;&gt;label3.Type" xml:space="preserve"> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;max45toolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="max25toolStripMenuItem.Text" xml:space="preserve"> <value>25</value> </data> <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;fAQToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;cloverconHackToolStripMenuItem.Name" xml:space="preserve"> <value>cloverconHackToolStripMenuItem</value> </data> <data name="label7.Location" type="System.Drawing.Point, System.Drawing"> <value>16, 269</value> </data> <data name="buttonStart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="searchToolStripMenuItem.Text" xml:space="preserve"> <value>Suche</value> </data> <data name="radioButtonTwo.Location" type="System.Drawing.Point, System.Drawing"> <value>103, 99</value> </data> <data name="&gt;&gt;checkedListBoxGames.ZOrder" xml:space="preserve"> <value>5</value> </data> <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>238, 22</value> </data> <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="&gt;&gt;label3.ZOrder" xml:space="preserve"> <value>12</value> </data> <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve"> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve"> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>308, 22</value> </data> <data name="groupBoxOptions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <value>None</value> </data> <data name="buttonGoogle.Text" xml:space="preserve"> <value>Google</value> </data> <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib"> <value>12</value> </data> <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <value>197, 22</value> </data> <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve"> <value>0</value> </data> <data name="label6.TabIndex" type="System.Int32, mscorlib"> <value>16</value> </data> <data name="&gt;&gt;installModulesToolStripMenuItem.Name" xml:space="preserve"> <value>installModulesToolStripMenuItem</value> </data> <data name="max30toolStripMenuItem.Text" xml:space="preserve"> <value>30</value> </data> <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve"> <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </data> <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve"> <value>groupBoxOptions</value> </data> <data name="buttonAddGames.Location" type="System.Drawing.Point, System.Drawing"> <value>12, 568</value> </data> <metadata name="openFileDialogImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>624, 17</value> </metadata> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <value>True</value> </metadata> <metadata name="timerCalculateGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>473, 17</value> </metadata> <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>109, 17</value> </metadata> <metadata name="openFileDialogNes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>202, 17</value> </metadata> <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>340, 17</value> </metadata> </root> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP-Server auf ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Ãœber...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Mehr &amp;Spiele hinzufügen</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Preset hinzufügen</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Original Spiele in Root -&gt; automatisch in Unterordner</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatich</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Mehr Spiele hinzufügen</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Durchsuchen</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synchronisiere gewählte Spiele mit NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Controller Hacks</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Komprimiere nicht-NES Spiele (für zusätzliche Emulatoren)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Konsolentyp</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Benutzerdefiniert - Ordner Manager jedes mal anzeigen</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Spiel löschen</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Preset löschen</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Seiten/Ordner deaktivieren</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Lade Covers für alle Spiele</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Kernel sichern</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Benutze "Select+A/B", um Autofeuer für A/B zu aktivieren</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Epilepsie-Schutz deaktivieren</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Beenden</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>Fragen und Antworten</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Datei</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashe benutzerdefinierten Kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Original Kernel flashen</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Original Spiele in Root -&gt; Ordner, Spiele gleichmäßig aufteilen</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Originale Spiele in Root -&gt; Ordner, Aufgeteilt nach dem 1. Buchstaben</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Ordner, aufgeteilt nach dem 1. Buchstaben</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Ordner, splitte Spiele gleichmäßig</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub Homepage mit aktuellen Versionen</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Globale Kommandozeilen-Argumente (nur Experten!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Hier kann man einige Standardspiele ausblenden</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Spieloptionen</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Hilfe</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Zusätzliche Module installieren</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Veröffentlichungsdatum (JJJJ-MM-TT):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Herausgeber:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Kommandozeilenargumente (nur für fortgeschrittene Benutzer!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Cover:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Spiel auswählen:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Max Spieler:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie Codes (getrennt mit Komma):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Name:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Sprache</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximal Spiele pro Seite/Ordner</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Module</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>FTP-Client öffnen</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Cover für Spiel auswählen</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Spiele auswählen</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Telnet-Client öffnen</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originale Spiele in Root -&gt; Seiten, Spiele gleichmäßig aufteilen</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Seiten, Spiele gleichmäßig aufteilen</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Seiten-/Ordnerstruktur</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Presets</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Ein Spieler</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Zwei Spieler, abwechselnd</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Zwei Spieler, gleichzeitig</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Benutze Tastenkombination für Zurücksetzen</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Einstellungen in NES mini jetzt speichern</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Manager der Speicherstände</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Suche</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Alle Auswählen</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Wähle Kombination, um ins Menu zu gehen</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Einstellungen</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet Server auf telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchronisieren</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Einen screenshot machen</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Extras</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Module deinstallieren</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Deinstallieren</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Alle abwählen</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Hoch+A+B = Start" auf dem 2. Controller</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Erweiterte Schriftart verwenden</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Nutze X/Y auf dem Classic Controller als Autofeuer A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.el-GR.resx b/MainForm.el-GR.resx
new file mode 100644
index 00000000..3a658745
--- /dev/null
+++ b/MainForm.el-GR.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Διακομιστής FTP στο ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Σχετικά με…</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>ΠÏοσθήκη πεÏισσότεÏων &amp;παιχνιδιών</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>ΠÏοσθήκη Ï€Ïοεπιλογής</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Αυθεντικά παιχνίδια στην αÏχή -&gt; Αυτόματα σε υποφακέλους</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Αυτόματα</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>ΠÏοσθήκη πεÏισσότεÏων παιχνιδιών</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Αναζήτηση</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>ΣυγχÏονισμός επιλεγμένων παιχνιδιών με το NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Hacks χειÏιστηÏίου</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Συμπίεση παιχνιδιών εκτός NES (για επιπλέον εξομοιωτές)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>ΤÏπος κονσόλας</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>ΠÏοσαÏμογή - εμφάνιση ΔιαχειÏιστή Φακέλων κάθε φοÏά</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>ΔιαγÏαφή παιχνιδιοÏ</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>ΔιαγÏαφή Ï€Ïοεπιλογής</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>ΑπενεÏγοποίηση σελίδας/φακέλων</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Κατέβασμα εξώφυλλων κουτιών για όλα τα παιχνίδια</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Αποθήκευση πυÏήνα</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>ΧÏήση "Select+A/B" για ενεÏγοποίηση αυτόματου στο Α/Î’</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>ΑπενεÏγοποίηση Ï€Ïοστασίας επιληψίας</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Έξοδος</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (Συχνές ΕÏωτήσεις)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;ΑÏχείο</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>ΕγγÏαφή Ï€ÏοσαÏμοσμένου πυÏήνα</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>ΕγγÏαφή Î±Ï…Î¸ÎµÎ½Ï„Î¹ÎºÎ¿Ï Ï€Ï…Ïήνα</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Αυθεντικά παιχνίδια στην αÏχή -&gt; Φάκελοι, διαχωÏισμός παιχνιδιών εξίσου</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Αυθεντικά παιχνίδια στην αÏχή -&gt; Φάκελοι, διαχωÏισμός ανά Ï€Ïώτο γÏάμμα</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Φάκελοι, διαχωÏισμός ανά Ï€Ïώτο γÏάμμα</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Φάκελοι, διαχωÏισμός παιχνιδιών εξίσου</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Σελίδα GitHub με Ï€Ïαγματικές κυκλοφοÏίες</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Καθολικές παÏάμετÏοι γÏαμμής εντολών (μόνο για Ï€ÏοχωÏημένους!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>ΜποÏείτε να κÏÏψετε μεÏικά Ï€ÏοκαθοÏισμένα παιχνίδια</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Επιλογές παιχνιδιοÏ</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Βοήθεια</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Εγκατάσταση έξτÏα modules</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;ΠυÏήνας</value>
+ </data>
+ <data name="label1.Text">
+ <value>ΗμεÏομηνία κυκλοφοÏίας (ΕΕΕΕ-ΜΜ-ΗΗ):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Εκδότης:</value>
+ </data>
+ <data name="label3.Text">
+ <value>ΠαÏάμετÏοι γÏαμμής εντολών (μόνο για Ï€ÏοχωÏημένους χÏήστες!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Εξώφυλλο κουτιοÏ:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Επιλογή παιχνιδιών:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Μέγιστος αÏιθμός παικτών:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Κωδικοί Game Genie (διαχωÏισμένοι με κόμμα):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Όνομα:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Γλώσσα</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Ανώτατο ÏŒÏιο παιχνιδιών ανά σελίδα/φάκελο</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Άνοιγμα πελάτη FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Επιλογή εξώφυλλου ÎºÎ¿Ï…Ï„Î¹Î¿Ï Î³Î¹Î± το παιχνίδι</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Επιλογή παιχνιδιών</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Άνοιγμα πελάτη Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Αυθεντικά παιχνίδια στην αÏχή -&gt; Σελίδες, διαχωÏισμός παιχνιδιών εξίσου</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Σελίδες, διαχωÏισμός παιχνιδιών εξίσου</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Δομή σελίδων/φακέλων</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>ΠÏοεπιλογές</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Ένας παίκτης</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>ΔÏο παίκτες, όχι ταυτόχÏονα</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>ΔÏο παίκτες, ταυτόχÏονα</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>ΧÏήση ÏƒÏ…Î½Î´Ï…Î±ÏƒÎ¼Î¿Ï Ï€Î»Î®ÎºÏ„Ïων για επαναφοÏά</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Αποθήκευση Ïυθμίσεων στο NES Mini Ï„ÏŽÏα</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>ΔιαχειÏιστής Αποθηκευμένων Σημείων</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Αναζήτηση</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Επιλογή όλων</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Επιλογή ÏƒÏ…Î½Î´Ï…Î±ÏƒÎ¼Î¿Ï Ï€Î»Î®ÎºÏ„Ïων για επαναφοÏά</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Ρυθμίσεις</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Διακομιστής κελÏφους στο telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>ΣυγχÏονισμός</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Λήψη στιγμιότυπου οθόνης</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;ΕÏγαλεία</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Απεγκατάσταση έξτÏα modules</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Απεγκατάσταση</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Αποεπιλογή όλων</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Up+A+B = Start" στο 2ο χειÏιστήÏιο</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>ΧÏήση εκτεταμένης γÏαμματοσειÏάς</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>ΧÏήση Χ/Î¥ στο Κλασσικό ΧειÏιστήÏιο ως αυτόματο Α/Î’</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.en-GB.resx b/MainForm.en-GB.resx
new file mode 100644
index 00000000..dc1e0ede
--- /dev/null
+++ b/MainForm.en-GB.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP server at ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>About...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Add more &amp;games</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Add preset</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Original games in root -&gt; Split automatically in subfolder</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatic</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Add more games</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Browse</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synchronise selected games with NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Controller hacks</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Compress non-NES games (for additional emulator mods)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Console type</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Custom - show Folder Manager every time</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Remove game</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Delete preset</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Disable pages/folders</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Download box art for all games (I'm feeling lucky!)</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Dump kernel</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Use "Select + A/B" to enable autofire on A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Disable epilepsy protection</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Exit</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;File</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flash custom kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flash factory kernel</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Original games in root -&gt; Folders, split games equally</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Original games in root -&gt; Folders, split by first letter</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Folders, split by first letter</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Folders, split games equally</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub releases page</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Global command-line arguments (experts only!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Select original games</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Game options</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Help</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Install extra modules</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Release date (YYYY/MM/DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Publisher:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Command-line arguments (advanced users only!)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Box art:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Select game(s):</value>
+ </data>
+ <data name="label6.Text">
+ <value>Max no. of players:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie codes (comma separated):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Name:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Language</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximum number of games per page/folder</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Open FTP client</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Select box art</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Select games</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Open Telnet client</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Original games in root -&gt; Pages, split games equally</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Pages, split games equally</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Page/folder structure</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Presets</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>One player</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Two players, alternating</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Two players, simultaneously</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Reset with a button combination</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Save settings to NES Mini</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Savestate Manager</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Search</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Select all</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Change the reset button combination</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Settings</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet server at telnet://127.0.0.1:1023 (login: root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchronise</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Take screenshot</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Tools</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Uninstall extra modules</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Uninstall</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Deselect all</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>Up + A + B = Start on controller 2</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Use extended font</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Use X/Y on Classic Controller for turbo A/B</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.es-AR.resx b/MainForm.es-AR.resx
new file mode 100644
index 00000000..f51bc321
--- /dev/null
+++ b/MainForm.es-AR.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Servidor FTP en ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Acerca de hakchi2</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Agregar más jue&amp;gos</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Agregar lista personalizada de juegos</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en raíz -&gt; Subcarpetas automáticas</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automático</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Agregar más juegos</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Explorar</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sinc. juegos seleccionados con la NES Classic Edition</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Configuración avanzada del control</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimir juegos que no sean de NES (para un módulo emulador adicional)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipo de consola</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Personalizada (mostrar el Administrador de carpetas cada vez)</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Eliminar juego</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Eliminar lista personalizada de juegos</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Deshabilitar páginas/carpetas</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Descargar arte de caja para todos los juegos</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Volcar kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Usar "Select" + "A"/"B" para habilitar disparo automático en los botones "A"/"B"</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Deshabilitar protección antiepiléptica</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Salir</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>Preguntas frecuentes</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Archivo</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashear el kernel personalizado</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flashear el kernel original</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en raíz -&gt; Carpetas, separar juegos equitativamente</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en raíz -&gt; Carpetas, separar juegos alfabéticamente</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Carpetas, separar alfabéticamente</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Carpetas, separar juegos equitativamente</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Página de GitHub con los lanzamientos actuales</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Argumentos globales de línea de comando (¡sólo para expertos!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Podés ocultar algunos juegos predeterminados</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Configuración del juego</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>A&amp;yuda</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Instalar módulos extras</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Fecha de lanzamiento (AAAA-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editor:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Argumentos de línea de comando (¡sólo para expertos!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Arte de caja:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Seleccionar juegos:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Cantidad máxima de jugadores:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Códigos de Game Genie (separados por comas):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nombre:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Idioma</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Cantidad máxima de juegos por página/carpeta</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Módulos</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Abrir cliente FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Seleccionar arte de caja para el juego</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Seleccionar juegos</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Abrir cliente Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en raíz -&gt; Páginas, separar juegos equitativamente</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Páginas, separar juegos equitativamente</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Estructura de páginas/carpetas</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Seleccionar lista personalizada de juegos</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>1 jugador</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>2 jugadores, por turnos</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>2 jugadores, simultáneamente</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Usar combinación de botones para resetear</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Guardar configuración a la NES Classic Edition ahora</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Administrador de puntos de suspensión</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Buscar</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Seleccionar todo</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Seleccionar combinación de botones para resetear</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Configuración</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Servidor shell en telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sincronizar</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Hacer una captura de pantalla</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>Herramien&amp;tas</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Desinstalar módulos extras</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Desinstalar</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Quitar selección a todo</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Arriba" + "A" + "B" = "Start" en el 2° control</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Usar tipografía extendida</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Usar los botones "X"/"Y" en el Classic Controller como disparo automático de "A"/"B"</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.es-ES.resx b/MainForm.es-ES.resx
new file mode 100644
index 00000000..f240d9dd
--- /dev/null
+++ b/MainForm.es-ES.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Servidor FTP en ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Acerca de...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Añadir más &amp;juegos</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Añadir lista</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en Root -&gt; Automático en subcarpeta</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automático</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Añadir más juegos</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Buscar</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sincronizar los juegos seleccionados con NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Ayuda/atajos para los mandos</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimir juegos que no sean de NES (para emuladores adicionales)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipo de consola</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Personalizado - muestra la gestión de las carpetas todo el tiempo</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Eliminar juego</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Eliminar lista</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Desactivar páginas/carpetas</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Descargar carátulas para todos los juegos</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Volcar kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Pulsa "Select+A/B" para activar Autofire en A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Desactivar protección contra la epilepsia</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Salir</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (Preguntas frecuentes)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Archivo</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashear custom kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flashear kernel original</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en Root -&gt; Carpetas, dividir juegos por igual</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en Root -&gt; Carpetas, dividir por primera letra</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Carpetas, dividir por la primera letra</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Carpetas, dividir juegos por igual</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub: Página con las versiones actuales</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Línea de comando global (Sólo usuarios expertos)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Puedes ocultar algunos juegos predeterminados</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Opciones de juego</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Ayuda</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Instalar módulos extras</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Fecha de lanzamiento (AAAA-MM-DD)</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editor:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Línea de comando (Sólo usuarios avanzados)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Carátula</value>
+ </data>
+ <data name="label5.Text">
+ <value>Seleccionar juegos:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Número de jugadores:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Códigos Game Genie (separados por comas):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nombre:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Idioma</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Número de juegos por página/carpeta</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Módulos</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Abrir cliente FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Selecciona una carátula para el juego</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Selecciona juegos de NES u otro emulador</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Abrir cliente Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Juegos originales en Root -&gt; Páginas, dividir los juegos por igual</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Páginas, dividir juegos por igual</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Páginas/estructura de las carpetas</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Seleccionar lista</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Un jugador</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Dos jugadores, no simultáneos</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dos jugadores, simultáneamente</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Usar combinación de botones para Reset</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Guardar opciones a la NES Mini ahora</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Gestión de los puntos de suspensión</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Buscar</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Seleccionar todo</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Selecciona una combinación de botones para Reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Opciones</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Servidor Telnet en telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sincronizar</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Realizar captura de pantalla</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Herramientas</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Desinstalar módulos extras</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Desinstalar</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Deseleccionar todo</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Arriba+A+B = Start" en el 2º mando</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Usar fuente extendida</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Usa X/Y en el mando Wii Classic Controller como Autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.fi-FI.resx b/MainForm.fi-FI.resx
new file mode 100644
index 00000000..f4ea3447
--- /dev/null
+++ b/MainForm.fi-FI.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP-palvelin osoitteessa ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Tietoa...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Lisää &amp;pelejä</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Lisää valikoima</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Alkuperäiset pelit juuressa -&gt; Automaattinen alikansioissa</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automaattinen</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Lisää pelejä</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Selaa</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synkronoi valitut pelit NES Minin kanssa</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Ohjainhackit</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Pakkaa ei-NES-pelit (emulaattorimoduuleille)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Konsolin tyyppi</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Mukautettu - näytä kansiohallinta joka kerta</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Poista peli</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Poista valikoima</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Poista sivut/kansiot</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Lataa kansitaide kaikille peleille</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Dumppaa ydin</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Käytä "Select+A/B" A/B-automaattitulituksen aktivointiin</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Poista epilepsiasuoja</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Lopeta</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>UKK</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Tiedosto</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashaa mukautettu ydin</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flashaa alkuperäisydin</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Alkuperäiset pelit -&gt; Kansiot, pelit jaettu tasaisesti</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Alkuperäiset pelit juuressa -&gt; Kansiot, jaettu alkukirjaimen mukaan</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Kansiot, jaettu alkukirjaimen mukaan</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Kansiot, pelit jaettu tasaisesti</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub-sivu varsinaisine julkaisuineen</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Yleiset komentoriviparametrit (vain asiantuntijoille!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Voit piilottaa alkuperäispelejä</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Pelivalinnat</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Apua</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Asenna lisämoduuleja</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Ydin</value>
+ </data>
+ <data name="label1.Text">
+ <value>Julkaisupäivämäärä (VVVV-KK-PP):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Julkaisija:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Komentoriviparametrit (vain asiantuntijoille!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Kansitaide:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Valitse pelit:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Pelaajia enintään:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie -koodit (pilkuin eroteltuna):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nimi:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Kieli</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Pelejä korkeintaan per sivu/kansio</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduulit</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Avaa FTP-asiakasohjelma</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Valitse pelin kansitaide</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Valitse pelit</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Avaa Telnet-asiakasohjelma</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Alkuperäiset pelit juuressa -&gt; Sivut, pelit jaettu tasaisesti</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Sivut, pelit jaettu tasaisesti</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Sivut/kansiot -rakenne</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Valikoimat</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Yksi pelaaja</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Kaksi pelaajaa, ei yhtä aikaa</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Kaksi pelaajaa yhtä aikaa</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Käytä näppäinyhdistelmää resetointiin</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Tallenna asetukset NES Miniin nyt</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Tallennusten hallinta</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Etsi</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Valitse kaikki</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Valitse resetointinäppäinyhdistelmä</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Asetukset</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet-palvelin osoitteessa telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synkronoi</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Ota kuvankaappaus</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Työkalut</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Poista lisämoduulit</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Poista asennus</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Poista kaikki valinnat</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Ylös+A+B" = Start 2-ohjaimessa</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Käytä laajennettua fonttia</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Käytä Classic Controllerin X/Y-näppäimiä A/B-automaattitulitukseen</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.fr-FR.resx b/MainForm.fr-FR.resx
new file mode 100644
index 00000000..cb581b47
--- /dev/null
+++ b/MainForm.fr-FR.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Serveur FTP sur ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>À propos...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Ajouter plus de &amp;jeux</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Ajouter Preset</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Jeux Originaux à la racine -&gt; Automatiquement dans sous-dossier</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatique</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Ajouter plus de jeux</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Parcourir</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synchroniser les jeux sélectionnés avec la NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Configuration des manettes</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Compresser les jeux non-NES (pour mod emulateur additionnel)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Type de console</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Custom - Toujours afficher le Gestionnaire de dossiers</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Supprimer jeu</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Supprimer Preset</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Désactiver page/dossiers</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Télécharger les pochettes pour tous les jeux</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Extraire Kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Utiliser "Select+A/B" pour activer l'autofire sur A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Désactiver la protection pour épileptique</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Quitter</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>Questions fréquentes</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Fichier</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flasher Kernel Custom</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flasher le Kernel d'origine</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Jeux Originaux à la racine -&gt; Dossiers, scinder les jeux également</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Jeux Originaux à la racine -&gt; Dossiers, scinder à partir de la première lettre</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Dossiers, Scinder à partir de la première lettre</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Dossiers, scinder les jeux également</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Page GitHub avec les nouvelles publications</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Arguments de ligne de commande globale (Utilisateurs avancés!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Vous pouvez cacher différents jeux par défaut</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Options des jeux</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Aide</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Installer les modules supplémentaires</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Date de sortie (AAAA-MM-JJ):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editeur:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Arguments de ligne de commande (Utilisateurs avancés!)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Pochette:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Sélectionner jeux:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Joueurs Max:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Codes Game Genie (Séparés par une virgule)</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nom:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Language</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Nombre de jeux maximum par page/dossier</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Ouvrir le client FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Sélection de la couverture</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Sélection des jeux</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Ouvrir le client Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Jeux Originaux à la racine -&gt; Pages, scinder les jeux également</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Pages, scinder les jeux également</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Structure Pages/Dossiers</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Sélection Presets</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Un joueur</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Deux joueurs, non simultanés</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Deux joueurs, simultanés</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Utiliser une combinaison de boutons pour retourner au menu</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Sauvegarder les paramètres vers la NES Mini maintenant</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Gestionnaire des sauvegardes</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Rechercher</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Tout sélectionner</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Sélectionner la combinaison du bouton Reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Paramètres</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Serveur Telnet sur telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchroniser</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Prendre une capture d'écran</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>Ou&amp;tils</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Désinstaller les modules supplémentaires</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Désinstaller</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Tout désélectionner</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Haut+A+B=Start" sur seconde manette</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Utiliser la police avancée</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Utiliser X/Y sur le Classic Controller comme autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.id-ID.resx b/MainForm.id-ID.resx
new file mode 100644
index 00000000..05e2cd5c
--- /dev/null
+++ b/MainForm.id-ID.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Server FTP pada ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Tentang...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Tambah game &amp;lagi</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Tambahkan pra-atur</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Game orisinal di root -&gt; Otomatis di dalam sub-folder</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Otomatis</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Tambah game</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Jelajah</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sinkronkan game-game terpilih dengan NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Retasan kontroler</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Kompres game non-NES (untuk mod emulator tambahan)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipe konsol</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Custom - selalu perlihatkan Folders Manager</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Hapus game</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Hapus pra-atur</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Nonaktifkan halaman/folder</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Unduh box art untuk semua game</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Men-dump kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Tekan "Select+A/B" untuk mengaktifkan autofire pada A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Nonaktifkan proteksi epilepsi</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Keluar</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Fail</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flash kernel custom</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flash kernel orisinal</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Game orisinal di root -&gt; Folder, bagi game secara sama</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Game orisinal di root -&gt; Folder, bagi berdasarkan huruf pertama</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Folder, bagi berdasarkan huruf pertama</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Folder, bagi game secara sama</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Halaman GitHub berikut perilisan aktual</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Global command-line arguments (khusus ahli!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Anda dapat menyembunyikan beberapa game bawaan</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Opsi game</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Bantuan</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Instal modul ekstra</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Tanggal rilis (YYYY-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Penerbit:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Command line arguments (khusus ahli!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Box art:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Pilih game:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Player maksimum:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Kode Game Genie (pisahkan dengan koma):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nama:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Bahasa</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Game maksimum per halaman/folder</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Modul</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Buka klien FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Pilih box art untuk game</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Pilih game</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Buka klien Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Game orisinal pada root -&gt; Halaman, bagi game secara sama</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Halaman, bagi game secara sama</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Halaman/Folder Structure</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Pra-atur pilihan</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Satu player</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Dua player, tidak berbarengan</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dua player, berbarengan</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Gunakan kombinasi tombol untuk me-reset</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Simpan penataan ke NES Mini sekarang</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Telusur</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Pilih semua</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Pilih kombinasi tombol reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Penataan</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Server Telnet pada Telnet: //127.0.0.1:1023 (login: root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sinkronkan</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Ambil screenshot</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Tools</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Copot modul ekstra</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Copot</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Tidak pilih semuanya</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Atas+A+B = Start" pada kontroler 2</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Gunakan font yang diperpanjang</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Gunakan X/Y pada Classic Controller sebagai autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.it-IT.resx b/MainForm.it-IT.resx
new file mode 100644
index 00000000..26a2931e
--- /dev/null
+++ b/MainForm.it-IT.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Server FTP all'indirizzo ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Informazioni…</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Aggiungi altri &amp;giochi</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Aggiungi preset</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Giochi originali in root -&gt; Automaticamente in sottocartelle</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatico</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Aggiungi altri giochi</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Sfoglia</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sincronizza i giochi selezionati con il NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Hacks per il controller</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimi i giochi non-NES (per mod emulazione aggiuntiva)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipo di console</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Personalizzato - mostra ogni volta il Manager Cartelle</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Cancella gioco</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Cancella preset</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Disabilita pagina/cartelle</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Scarica la copertina per tutti i giochi</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Estrai e salva il kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Usa "Select+A/B" per abilitare l'autofire su A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Disabilita protezione epilessia</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>$Esci</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (domande frequenti)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;File</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flasha kernel modificato</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flasha kernel originale</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Giochi originali in root -&amp;gr; Cartelle, con giochi divisi in parti uguali</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Giochi originali in root -&gt; Cartelle, divise considerando la prima lettera</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Cartelle, divise considerando la prima lettera</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Cartelle, con giochi divisi in parti uguali</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Pagina GitHub con ultima release disponibile</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Argomenti globali da linea di comando (solo per esperti !)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>E'possibile nascondere alcuni giochi presenti di default</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Opzioni gioco</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Aiuto</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Installa moduli aggiuntivi</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Data di rilascio (AAAA-MM-GG):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editore:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Argomenti da linea di comando (solo per utenti esperti !)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Copertina:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Seleziona giochi:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Numero massimo giocatori:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Codici Game Genie (separati da virgola):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nome:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Lingua</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Numero massimo di giochi per pagina/cartella</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduli</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Apri client FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Seleziona la copertina per il gioco</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Seleziona Giochi</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Apri client Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Giochi originali in root -&gt; giochi divisi in parti uguali</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Pagine, con giochi divisi in parti uguali</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Struttura pagine/cartelle</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Gestisci preset</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Singolo giocatore</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>2 giocatori, alternati</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>2 giocatori, contemporaneamente</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Utilizza combinazione tasti per resettare</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Salva le impostazioni nel NES Mini ora</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Manager dei punti di sospensione</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Cerca</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Seleziona tutto</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Seleziona combinazione tasti per simulare il pulsante reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Impostazioni</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Server Telnet all'indirizzo telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sincronizza</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Fai uno screenshot</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Strumenti</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Disinstalla moduli extra</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Disinstalla</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Deseleziona tutto</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Su+A+B = Start" sul secondo controller</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Utilizza font esteso</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Utilizza X/Y sul Classic Controller come autofire per A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.nl.resx b/MainForm.nl.resx
new file mode 100644
index 00000000..b85c9a62
--- /dev/null
+++ b/MainForm.nl.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP server op ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Over...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Voeg meer toe &amp;spellen</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Voeg een preset toe</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>De originele spellen in de root -&gt; Automatisch in de submap</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatisch</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Voeg meer spellen toe</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Bladeren</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synchroniseer de geselecteerde spellen met de NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Controller hacks</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimeer de niet-NES spellen (als je een extra emulator hebt geïnstalleerd)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Console type</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Aangepast – laat de Mappen Manager elke keer zien</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Verwijder een spel</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Verwijder preset</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Zet de pagina/mappen uit</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Download</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Kernel opslaan</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Gebruik “Select+A/B†om autofire te gebruiken op A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Zet de epilepsie beveiliging uit</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Afsluiten</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (Veel Gestelde Vragen)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Bestand</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flash zelfgemaakte kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flash de originele kernel</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>De originele spellen in de root -&gt; Mappen, gelijkmatig verdeeld</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>De originele spellen in de root -&gt; Mappen, gesplitst vanaf de eerste letter.</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Mappen, verdeeld vanaf de eerste letter</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Mappen, gelijkmatig verdeeld</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub pagina met de hudige versies</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Globale opdracht regel (Alleen voor experts!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Je kunt de standaard spellen verstoppen</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Spel opties</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Help</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Installeer extra modules</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Uitgifte datum (JJJJ-MM-DD)</value>
+ </data>
+ <data name="label2.Text">
+ <value>Uitgever:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Opdracht regel (Alleen voor geavanceerde gebruikers!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Originele verpakking:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Selecteer spellen:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Maximaal aantal spelers:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie codes (komma gescheiden):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Naam:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Taal</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximaal aantal spellen per pagina/map</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Open FTP client</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Selecteer een afbeelding voor een spel</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Geselecteerde spellen:</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Open Telnet client</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originele spellen in de root -&gt; Pagina's, verdeel spellen gelijkmatig</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Pagina's, verdeel de spellen gelijkmatig</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Pagina's/mappen structuur</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Selectie presets</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Één speler</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Twee spelers, niet tegelijkertijd</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Twee spelers, tegelijk</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Gebruik een knop combinatie om te resetten</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Bewaar nu de instelling op de NES Mini</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>onderbrekingspunt Manager</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Zoeken</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Selecteer alles</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Selecteer de reset knop combinatie</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Instellingen</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet server op telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchroniseren</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Momentopname maken</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Gereedschap</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Deïnstalleer extra modules</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Deïnstalleren</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Alles deselecteren</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Omhoog+A+B = Start" op de 2de controller</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Gebruik uitgebreid lettertype</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Gebruik X/Y om autofire te gebruiken voor de A/B knoppen op de klassieke controller</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.pl-PL.resx b/MainForm.pl-PL.resx
index a0cf6e6d..7a97e3ea 100644
--- a/MainForm.pl-PL.resx
+++ b/MainForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1341 +58,238 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="label7.Text" xml:space="preserve">
- <value>Game Genie - kody (oddzielone przecinkiem):</value>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Serwer FTP ftp://root:clover@127.0.0.1:1021</value>
</data>
- <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
- <value>WÅ‚Ä…cz autofire</value>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Informacje o...</value>
</data>
- <data name="groupBoxOptions.Text" xml:space="preserve">
- <value>Opcje gier</value>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Dodaj więcej &amp;gier</value>
</data>
- <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Originalne gry na wierzchu -&gt; Strony, podziel gry po równo</value>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Dodaj preset</value>
</data>
- <data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Struktura stron/folderów</value>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Oryginalne gry na wierzchu -&gt; Automatycznie w podfolderach</value>
</data>
- <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Odznacz wszystko</value>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatycznie</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Dodaj więcej gier</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>PrzeglÄ…daj</value>
</data>
- <data name="openFileDialogNes.Filter" xml:space="preserve">
- <value>Pliki NES|*.nes;*.fds;*.zip;*.7z;*.rar|All files|*.*</value>
+ <data name="buttonStart.Text">
+ <value>Synchronizuj wybrane gry z NES Mini</value>
</data>
- <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Mody kontrolerów</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Kompresuj gry inne niż NES (dla dodatkowych modułów - emu)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Typ konsoli</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Własne - pokazuje Menadżer Profili za każdym razem</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
<value>Usuń grę</value>
</data>
- <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Dodaj preset</value>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Usuń preset</value>
</data>
- <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
- <value>Użyj rozszerzonej czcionki</value>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Wyłącz strony/foldery</value>
</data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
- <value>"Góra+A+B = Start" na 2gim kontrolerze</value>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Pobierz okładki dla wszystkich gier</value>
</data>
- <data name="radioButtonOne.Text" xml:space="preserve">
- <value>Jeden gracz</value>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Zgraj kernel</value>
</data>
- <data name="removeThumbnailsAtTheBottomToolStripMenuItem.Text" xml:space="preserve">
- <value>Usuń miniaturki na dole</value>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>WÅ‚Ä…cz autofire</value>
</data>
- <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Dodaj więcej &amp;gier</value>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Zabezpieczenie przed epilepsjÄ…</value>
</data>
- <data name="exitToolStripMenuItem.Text" xml:space="preserve">
+ <data name="exitToolStripMenuItem.Text">
<value>&amp;Wyjście</value>
</data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Maksimum gier na stronÄ™/folder</value>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
</data>
- <data name="customToolStripMenuItem.Text" xml:space="preserve">
- <value>Własne - pokazuje Menadżer Profili za każdym razem</value>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Plik</value>
</data>
- <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Oryginalne gry na wierzchu -&gt; Automatycznie w podfolderach</value>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Wgraj zmodyfikowany kernel</value>
</data>
- <data name="buttonBrowseImage.Text" xml:space="preserve">
- <value>PrzeglÄ…daj</value>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Wgraj oryginalny kernel</value>
</data>
- <data name="label4.Text" xml:space="preserve">
- <value>Box art:</value>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Oryginalne gry na wierzchu -&gt; Foldery, podziel gry po równo</value>
</data>
- <data name="fileToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Plik</value>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Originalne gry na wierzchu -&gt; Foldery, podziel gry alfabetycznie</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Foldery, podziel gry alfabetycznie</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Foldery, podziel gry po równo</value>
</data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
<value>GitHub z aktualnymi wydaniami</value>
</data>
- <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Usuń preset</value>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Globalne argumenty wiersza poleceń (tylko eksperci!)</value>
</data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
- <value>Foldery, podziel gry alfabetycznie</value>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Można wyłączyć poszczególne oryginalne gry</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="toolStripStatusLabelSelected.Text" xml:space="preserve">
- <value>toolStripStatusLabel1</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>Data wydania (YYYY-MM-DD):</value>
+ <data name="groupBoxOptions.Text">
+ <value>Opcje gier</value>
</data>
- <data name="ToolStripMenuItemArmetLevel0.Text" xml:space="preserve">
- <value>Domyślnie</value>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Pomoc</value>
</data>
- <data name="radioButtonTwoSim.Text" xml:space="preserve">
- <value>Dwóch graczy, równocześnie</value>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Zainstaluj dodatkowe moduły</value>
</data>
- <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
- <value>Wybierz komibnacjÄ™ klawiszy resetu</value>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
</data>
- <data name="labelName.Text" xml:space="preserve">
- <value>Nazwa:</value>
+ <data name="label1.Text">
+ <value>Data wydania (YYYY-MM-DD):</value>
</data>
- <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
- <value>Zabezpieczenie przed epilepsjÄ…</value>
+ <data name="label2.Text">
+ <value>PublikujÄ…cy:</value>
</data>
- <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Wyłącz strony/foldery</value>
+ <data name="label3.Text">
+ <value>Argumenty wiersza poleceń (tylko eksperci!):</value>
</data>
- <data name="label5.Text" xml:space="preserve">
+ <data name="label4.Text">
+ <value>Box art:</value>
+ </data>
+ <data name="label5.Text">
<value>Wybierz gry:</value>
</data>
- <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Zaznacz wszystko</value>
+ <data name="label6.Text">
+ <value>Max graczy:</value>
</data>
- <data name="openFileDialogNes.Title" xml:space="preserve">
- <value>Wybierz plik(i) NES</value>
+ <data name="label7.Text">
+ <value>Game Genie - kody (oddzielone przecinkiem):</value>
</data>
- <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Wgraj oryginalny kernel</value>
+ <data name="labelName.Text">
+ <value>Nazwa:</value>
</data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
- <value>Globalne argumenty wiersza poleceń (tylko eksperci!)</value>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Język</value>
</data>
- <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
- <value>Informacje o...</value>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maksimum gier na stronÄ™/folder</value>
</data>
- <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
- <value>Strony, podziel gry po równo</value>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduły</value>
</data>
- <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Zgraj kernel</value>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Otwórz klienta FTP</value>
</data>
- <data name="groupBoxDefaultGames.Text" xml:space="preserve">
- <value>Można wyłączyć poszczególne oryginalne gry</value>
+ <data name="openFileDialogImage.Title">
+ <value>Wybierz okładkę dla gry</value>
</data>
- <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Ustawienia</value>
+ <data name="openFileDialogNes.Title">
+ <value>Wybierz plik(i) NES</value>
</data>
- <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
- <value>Mody kontrolerów</value>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Otwórz klienta Telnet</value>
</data>
- <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
- <value>Odinstaluj</value>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originalne gry na wierzchu -&gt; Strony, podziel gry po równo</value>
</data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Originalne gry na wierzchu -&gt; Foldery, podziel gry alfabetycznie</value>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Strony, podziel gry po równo</value>
</data>
- <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
- <value>Automatycznie</value>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Struktura stron/folderów</value>
</data>
- <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Wgraj zmodyfikowany kernel</value>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Wybierz preset</value>
</data>
- <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Kernel</value>
+ <data name="radioButtonOne.Text">
+ <value>Jeden gracz</value>
</data>
- <data name="disableMenuMusicToolStripMenuItem.Text" xml:space="preserve">
- <value>Wyłącz muzykę w menu</value>
+ <data name="radioButtonTwo.Text">
+ <value>Dwóch graczy, nierównocześnie</value>
</data>
- <data name="label6.Text" xml:space="preserve">
- <value>Max graczy:</value>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dwóch graczy, równocześnie</value>
</data>
- <data name="label2.Text" xml:space="preserve">
- <value>PublikujÄ…cy:</value>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Użyj kombinacji klawiszy by zresetować</value>
</data>
- <data name="ToolStripMenuItemArmetLevel2.Text" xml:space="preserve">
- <value>Wyłącz dla wszystkich gier</value>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Zapisz ustawienia do NES Mini</value>
</data>
- <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
- <value>Wybierz preset</value>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Menadżer Save'ów</value>
</data>
- <data name="buttonAddGames.Text" xml:space="preserve">
- <value>Dodaj więcej gier</value>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Szukaj</value>
</data>
- <data name="label3.Text" xml:space="preserve">
- <value>Argumenty wiersza poleceń (tylko eksperci!):</value>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Zaznacz wszystko</value>
</data>
- <data name="guiHacksToolStripMenuItem.Text" xml:space="preserve">
- <value>Mody GUI</value>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Wybierz komibnacjÄ™ klawiszy resetu</value>
</data>
- <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Typ konsoli</value>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Ustawienia</value>
</data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
- <value>Użyj kombinacji klawiszy by zresetować</value>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Serwer Telnet telnet://127.0.0.1:1023 (login:root)</value>
</data>
- <data name="helpToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Pomoc</value>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchronizuj</value>
</data>
- <data name="radioButtonTwo.Text" xml:space="preserve">
- <value>Dwóch graczy, nierównocześnie</value>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Zrobić zrzut ekranu</value>
</data>
- <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Foldery, podziel gry po równo</value>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Narzędzia</value>
</data>
- <data name="buttonStart.Text" xml:space="preserve">
- <value>Synchronizuj wybrane gry z NES Mini</value>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Odinstaluj dodatkowe moduły</value>
</data>
- <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Oryginalne gry na wierzchu -&gt; Foldery, podziel gry po równo</value>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Odinstaluj</value>
</data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Pobierz okładki dla wszystkich gier</value>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Odznacz wszystko</value>
</data>
- <data name="openFileDialogImage.Title" xml:space="preserve">
- <value>Wybierz okładkę dla gry</value>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Góra+A+B = Start" na 2gim kontrolerze</value>
</data>
- <data name="ToolStripMenuItemArmetLevel1.Text" xml:space="preserve">
- <value>Wyłącz dla oryginalnych gier</value>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Użyj rozszerzonej czcionki</value>
</data>
- <data name="betterPNGCompressionlowerQualityToolStripMenuItem.Text" xml:space="preserve">
- <value>8bitowa kompresja PNG (mniejszy rozmiar/niska jakość)</value>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
</data>
- <data name="searchToolStripMenuItem.Text" xml:space="preserve">
- <value>Szukaj</value>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Use X/Y on Classic Controller as autofire A/B</value>
</data>
</root> \ No newline at end of file
diff --git a/MainForm.pt-PT.resx b/MainForm.pt-PT.resx
new file mode 100644
index 00000000..e4c8b115
--- /dev/null
+++ b/MainForm.pt-PT.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>Servidor FTP em ftp: // root: clover@127.0.0.1: 1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Sobre...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Adicionar mais &amp; jogos</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Adicionar predefinido</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Jogos originais na raiz -&gt; Automático na subpasta</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automático</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Adicionar mais jogos</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Procurar</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Sincronizar jogos selecionados com NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Controlador hacks</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Comprimir jogos não-NES (para modulação de emulador adicional)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Tipo de console</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Personalizado - mostra o Gerenciador de pastas sempre</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Excluir jogo</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Excluir predefinição</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Desativar página / pastas</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Baixe a caixa de arte para todos os jogos</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Dump kernel (despejo)</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Use "Selecionar + A / B" para ativar o autofire em A / B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Desativar a proteção contra epilepsia</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Saída</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>Perguntas frequentes (FAQ)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Ficheiro</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Escreve o custom Kernal</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flash(escreve) original kernel</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Jogos originais na raiz -&gt; Pastas, dividir jogos igualmente</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Jogos originais na raiz -&gt; Pastas, divididas pela primeira letra</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Pastas, divididas pela primeira letra</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Pastas, dividir jogos igualmente</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Página GitHub com lançamentos reais</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Argumentos de linha de comando globais (somente especialistas!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Você pode ocultar alguns jogos</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Opções de jogo</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Ajuda</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Instalar módulos extras</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernal</value>
+ </data>
+ <data name="label1.Text">
+ <value>Data de lançamento (AAAA-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Editor:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Argumentos da linha de comando (somente para usuários avançados):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Arte da caixa:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Selecione jogos:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Máximo de jogadores:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Códigos Game Genie (separados por vírgula):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Nome:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Língua</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Máximo de jogos por página / pasta</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Módulos</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Abrir cliente de FTP</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Selecionar a arte da caixa do jogo</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Selecionar jogos</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Abrir cliente Telnet</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Jogos originais na raiz -&gt; Páginas, dividir jogos igualmente</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Páginas, dividir jogos igualmente</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Estrutura de páginas / pastas</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Predefinições de seleção</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Um jogador</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Dois jogadores, não simultaneamente</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dois jogadores, simultaneamente</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Use a combinação de botões para</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Salvar configurações no NES Mini agora</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Gerente de Save-State</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Pesquisa</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Selecionar tudo</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Selecionar combinação de botão de reset</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Configurações</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Servidor Telnet no telnet: //127.0.0.1: 1023 (login: root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Sincronizar</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Tirar captura de tela</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Ferramentas</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Desinstalar módulos extras</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Desinstalar</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Desmarque todos</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>Up + A + B = Start no 2º controlador</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Usar fonte estendida</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Use X / Y no Controlador Clássico como autofire A / B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.resx b/MainForm.resx
index 28df2d8d..1c657dce 100644
--- a/MainForm.resx
+++ b/MainForm.resx
@@ -117,626 +117,1399 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>315, 17</value>
+ </metadata>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 0</value>
</data>
- <data name="&gt;&gt;statusStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>609, 24</value>
+ </data>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="menuStrip.Text" xml:space="preserve">
+ <value>menuStrip</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
+ <value>menuStrip</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>37, 20</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;File</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterScreen</value>
+ <data name="addMoreGamesToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>Ctrl+O</value>
</data>
- <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
</data>
- <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
- <value>10</value>
+ <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add more &amp;games</value>
</data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="radioButtonTwo.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
+ <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="groupBoxOptions.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 27</value>
+ <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
+ <value>Selection presets</value>
</data>
- <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
- <value>5</value>
+ <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>139, 6</value>
</data>
- <data name="radioButtonTwoSim.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
+ <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>142, 22</value>
</data>
- <data name="label7.Text" xml:space="preserve">
- <value>Game Genie codes (comma separated):</value>
+ <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Add preset</value>
</data>
- <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
- <value>4</value>
+ <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>142, 22</value>
</data>
- <data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete preset</value>
</data>
- <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
- <value>Use "Select+A/B" to enable autofire on A/B </value>
+ <data name="synchronizeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>F5</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Synchronize</value>
+ </data>
+ <data name="searchToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+ <value>Ctrl+F</value>
+ </data>
+ <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text" xml:space="preserve">
+ <value>Search</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Download box art for all games</value>
+ </data>
+ <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>235, 6</value>
+ </data>
+ <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>238, 22</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Exit</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>52, 20</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Dump kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Flash original kernel</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Flash custom kernel</value>
+ </data>
+ <data name="toolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing">
+ <value>267, 6</value>
+ </data>
+ <data name="membootOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="membootOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Boot original kernel from RAM</value>
+ </data>
+ <data name="membootPatchedKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="membootPatchedKernelToolStripMenuItem.Text" xml:space="preserve">
+ <value>Boot patched kernel from RAM</value>
+ </data>
+ <data name="toolStripMenuItem10.Size" type="System.Drawing.Size, System.Drawing">
+ <value>267, 6</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text" xml:space="preserve">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="toolFlashTheWholeNANDStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="toolFlashTheWholeNANDStripMenuItem.Text" xml:space="preserve">
+ <value>Flash the whole NAND (experts only!)</value>
+ </data>
+ <data name="toolFlashTheWholeNANDStripMenuItem.Visible" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text" xml:space="preserve">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="toolStripMenuItem9.Size" type="System.Drawing.Size, System.Drawing">
+ <value>267, 6</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>270, 22</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
+ <value>Uninstall</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 20</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Modules</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>197, 22</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Install extra modules</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>197, 22</value>
</data>
<data name="uninstallModulesToolStripMenuItem.Text" xml:space="preserve">
<value>Uninstall extra modules</value>
</data>
- <data name="buttonBrowseImage.Text" xml:space="preserve">
- <value>Browse</value>
+ <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 20</value>
</data>
- <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Name" xml:space="preserve">
- <value>gitHubPageWithActualReleasesToolStripMenuItem</value>
+ <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Settings</value>
</data>
- <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve">
- <value>textBoxArguments</value>
+ <data name="languageToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAA0BJREFUOE91
+ k31Qy3Ecx39TuqPrPPVHqW1cHmZrq8zKsqxpKzYPc+hhbpU8DUMllkxW2M3VnKeIphBOpTuVY51E3HAe
+ SpEreUy1TlQ4lKO3X/O7czivu/d9/nm/Pvf9/PEl/maGTE5LP2BxKbU1zLQ974qva+tNrGl8HWrMyXem
+ Kv9ne36xa3VL185H7T1dj9t7UPumG7Wt79Hc+QGNHb3vbC/f6qnqv2zIq3BVW82X1jYsh/VZB441lSGt
+ xQ5LSztM9+xYfb4FmpNXoLmadjYwVvXna3jhy2izc7NLZ93iI+GBAuWthXjysRKFPZ1YY/+KhJsdiMtr
+ QMyeKujuajHfuOsQpf7CT2FaxLVOHYio94e+WYWHvVbU9nWhrL8fiZ19iKtpQ+zxBij1NiSVmCGJNw34
+ KrVBlE4QvhG7rzHKvcC6yEJs41IYu7tR0Pcd5k/fsOr5B0RWvkJ0bh3m6W5iwbZCHG6KRExx1AmH7M4M
+ d/EJTuv3yVSAv6MEEZevY1H9OywjRXVTD1S3O6AoaoYy6x7CtdegyjYhszYU6qqFrY4Fo7xm0encFEzQ
+ xIC7/gSCcm5AWPQU4osvEVr+AuIzzZDuf4gInQ0zoisRvTcN2utCBJ/i/3AsGOkpcR/LShpg8lPBWWkC
+ b10NhDurMW3PA0zPqkNI5n1INpGyugrc0Avgr0gH+ygDE3VzvjgWDMLg6toYbAPY0kOYsiEJvtuTIdSd
+ wvQV1QiOq4JgodUhTxGeBVtkAUepB0e+4w6lE8SkQIN5PC8Dk4P3w22LJ9wyxsAzzxssQyS4YUXgzCwG
+ R3wavhILuNLD8JPvA0dqTKR0ghBJN3sIZ+/tFskPwCdVANd1YzAseRRGGDzATJWBlZKAgKgcCJbkQ6Qu
+ QJim8MVEsXY4pf9CqsyWixTmfpFaD7ZRCLqBBY/dPvA+yAPvSCRkm0swN70Cyoyyz/QAmWTocDcapf6G
+ MUEiF4RtfSvemIyQgigEnpNBcnwjFmSfgSr3BjlL34wez9aQVX8yIx3SXzjRhjgHuDPZB8fJBPVB8Rp7
+ iDrTLohOqacLwiw0J+fFZCeQjDcZl0Hhfwx+lhFkxpJhUnM0mcG7nchQEMRPy1alIv5O+PUAAAAASUVO
+ RK5CYII=
+</value>
</data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>609, 637</value>
+ <data name="languageToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="label3.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
+ <data name="languageToolStripMenuItem.Text" xml:space="preserve">
+ <value>Language</value>
</data>
- <data name="&gt;&gt;kernelToolStripMenuItem.Name" xml:space="preserve">
- <value>kernelToolStripMenuItem</value>
+ <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="&gt;&gt;uninstallToolStripMenuItem.Name" xml:space="preserve">
- <value>uninstallToolStripMenuItem</value>
+ <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
+ <value>Console type</value>
</data>
- <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="nESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 22</value>
</data>
- <data name="&gt;&gt;buttonAddGames.Name" xml:space="preserve">
- <value>buttonAddGames</value>
+ <data name="nESMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>NES Mini</value>
</data>
- <data name="&gt;&gt;max50toolStripMenuItem.Name" xml:space="preserve">
- <value>max50toolStripMenuItem</value>
+ <data name="famicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 22</value>
</data>
- <data name="maskedTextBoxReleaseDate.Size" type="System.Drawing.Size, System.Drawing">
- <value>65, 20</value>
+ <data name="famicomMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>Famicom Mini</value>
</data>
- <data name="textBoxPublisher.TabIndex" type="System.Int32, mscorlib">
- <value>8</value>
+ <data name="sNESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 22</value>
</data>
- <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
- <value>194, 13</value>
+ <data name="sNESMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>SNES Mini</value>
</data>
- <data name="&gt;&gt;max70toolStripMenuItem.Name" xml:space="preserve">
- <value>max70toolStripMenuItem</value>
+ <data name="superFamicomMiniToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
</data>
- <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="superFamicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>184, 22</value>
</data>
- <data name="buttonAddGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 38</value>
+ <data name="superFamicomMiniToolStripMenuItem.Text" xml:space="preserve">
+ <value>Super Famicom Mini</value>
</data>
- <data name="groupBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 27</value>
+ <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="&gt;&gt;openFileDialogImage.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
+ <value>Controller hacks</value>
</data>
- <data name="&gt;&gt;groupBoxOptions.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
</data>
- <data name="groupBoxOptions.Text" xml:space="preserve">
- <value>Game options</value>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use button combination to reset</value>
</data>
- <data name="&gt;&gt;toolStripStatusLabelSelected.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
</data>
- <data name="max100toolStripMenuItem.Text" xml:space="preserve">
- <value>100</value>
+ <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
+ <value>Select reset button combination</value>
</data>
- <data name="&gt;&gt;addPresetToolStripMenuItem.Name" xml:space="preserve">
- <value>addPresetToolStripMenuItem</value>
+ <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
</data>
- <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Pages, split games equally</value>
+ <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use "Select+A/B" to enable autofire on A/B </value>
</data>
- <data name="&gt;&gt;label4.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
</data>
- <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
- <value>235, 6</value>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use X/Y on Classic Controller as autofire A/B</value>
</data>
- <data name="buttonShowGameGenieDatabase.Size" type="System.Drawing.Size, System.Drawing">
- <value>25, 20</value>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>308, 22</value>
</data>
- <data name="buttonStart.Location" type="System.Drawing.Point, System.Drawing">
- <value>306, 568</value>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
+ <value>"Up+A+B = Start" on 2nd controller</value>
</data>
- <data name="&gt;&gt;max60toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
+ <value>Use extended font</value>
</data>
- <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve">
- <value>7</value>
+ <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="&gt;&gt;max20toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
+ <value>Disable epilepsy protection</value>
</data>
- <data name="buttonBrowseImage.TabIndex" type="System.Int32, mscorlib">
- <value>13</value>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve">
+ <value>Compress non-NES games (for additional emulator mod)</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
<data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve">
<value>Pages/folders structure</value>
</data>
- <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Unselect all</value>
+ <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
+ <value>Disable page/folders</value>
+ </data>
+ <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>353, 6</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
+ <value>Automatic</value>
</data>
<data name="automaticOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>356, 22</value>
</data>
- <data name="&gt;&gt;toolStripMenuItem4.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Automatic in subfolder</value>
</data>
- <data name="&gt;&gt;label5.Name" xml:space="preserve">
- <value>label5</value>
+ <data name="pagesToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
+ <value>None</value>
</data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
+ <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
</data>
- <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>197, 22</value>
+ <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
+ <value>Pages, split games equally</value>
</data>
- <data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="pagesOriginalToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
+ <value>None</value>
</data>
- <data name="&gt;&gt;famicomMiniToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
</data>
- <data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
+ <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Pages, split games equally</value>
</data>
- <data name="max90toolStripMenuItem.Text" xml:space="preserve">
- <value>90</value>
+ <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
</data>
- <data name="&gt;&gt;labelName.Name" xml:space="preserve">
- <value>labelName</value>
+ <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
+ <value>Folders, split games equally</value>
</data>
- <data name="&gt;&gt;max80toolStripMenuItem.Name" xml:space="preserve">
- <value>max80toolStripMenuItem</value>
+ <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
</data>
- <data name="labelName.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 49</value>
+ <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Folders, split games equally</value>
</data>
- <data name="buttonGoogle.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 23</value>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
+ <value>Folders, split by first letter</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <value>Original games in root -&gt; Folders, split by first letter</value>
</data>
<data name="maximumGamesPerFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>356, 22</value>
</data>
- <data name="&gt;&gt;labelName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
+ <value>Maximum games per page/folder</value>
</data>
- <data name="labelName.Size" type="System.Drawing.Size, System.Drawing">
- <value>38, 13</value>
+ <data name="max20toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;openFileDialogImage.Name" xml:space="preserve">
- <value>openFileDialogImage</value>
+ <data name="max20toolStripMenuItem.Text" xml:space="preserve">
+ <value>20</value>
</data>
- <data name="&gt;&gt;label4.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="max25toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="checkedListBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 454</value>
+ <data name="max25toolStripMenuItem.Text" xml:space="preserve">
+ <value>25</value>
</data>
- <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>142, 22</value>
+ <data name="max30toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;pagesToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesToolStripMenuItem</value>
+ <data name="max30toolStripMenuItem.Text" xml:space="preserve">
+ <value>30</value>
</data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>7</value>
+ <data name="max35toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="max35toolStripMenuItem.Text" xml:space="preserve">
+ <value>35</value>
</data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
+ <data name="max40toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;toolStripProgressBar.Name" xml:space="preserve">
- <value>toolStripProgressBar</value>
+ <data name="max40toolStripMenuItem.Text" xml:space="preserve">
+ <value>40</value>
</data>
- <data name="max20toolStripMenuItem.Text" xml:space="preserve">
- <value>20</value>
+ <data name="max45toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;openFileDialogNes.Name" xml:space="preserve">
- <value>openFileDialogNes</value>
+ <data name="max45toolStripMenuItem.Text" xml:space="preserve">
+ <value>45</value>
</data>
- <data name="label2.Text" xml:space="preserve">
- <value>Publisher:</value>
+ <data name="max50toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="max50toolStripMenuItem.Text" xml:space="preserve">
+ <value>50</value>
</data>
- <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
- <value>Delete game</value>
+ <data name="max60toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="textBoxName.Size" type="System.Drawing.Size, System.Drawing">
- <value>216, 20</value>
+ <data name="max60toolStripMenuItem.Text" xml:space="preserve">
+ <value>60</value>
</data>
- <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Add preset</value>
+ <data name="max70toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;pagesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="max70toolStripMenuItem.Text" xml:space="preserve">
+ <value>70</value>
</data>
- <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
- <value>Use extended font</value>
+ <data name="max80toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 615</value>
+ <data name="max80toolStripMenuItem.Text" xml:space="preserve">
+ <value>80</value>
</data>
- <data name="groupBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
+ <data name="max90toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;synchronizeToolStripMenuItem.Name" xml:space="preserve">
- <value>synchronizeToolStripMenuItem</value>
+ <data name="max90toolStripMenuItem.Text" xml:space="preserve">
+ <value>90</value>
</data>
- <data name="&gt;&gt;timerCalculateGames.Name" xml:space="preserve">
- <value>timerCalculateGames</value>
+ <data name="max100toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>92, 22</value>
</data>
- <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve">
- <value>18</value>
+ <data name="max100toolStripMenuItem.Text" xml:space="preserve">
+ <value>100</value>
</data>
- <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
+ <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>353, 6</value>
</data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve">
- <value>0</value>
+ <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>356, 22</value>
</data>
- <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve">
- <value>radioButtonTwo</value>
+ <data name="customToolStripMenuItem.Text" xml:space="preserve">
+ <value>Custom - show Folders Manager every time</value>
</data>
- <data name="&gt;&gt;foldersToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
</data>
- <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
+ <value>Global command-line arguments (experts only!)</value>
</data>
- <data name="groupBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 529</value>
+ <data name="toolStripMenuItem5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>373, 6</value>
</data>
- <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Segoe UI, 9pt, style=Bold</value>
</data>
- <data name="&gt;&gt;buttonAddGames.ZOrder" xml:space="preserve">
- <value>3</value>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>376, 22</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text" xml:space="preserve">
+ <value>Save settings to NES/SNES Mini now</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>47, 20</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Tools</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text" xml:space="preserve">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="toolStripMenuItem6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="FTPToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="FTPToolStripMenuItem.Text" xml:space="preserve">
+ <value>FTP server on ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text" xml:space="preserve">
+ <value>Open FTP client</value>
+ </data>
+ <data name="toolStripMenuItem7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="shellToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text" xml:space="preserve">
+ <value>Shell server on telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text" xml:space="preserve">
+ <value>Open Telnet client</value>
+ </data>
+ <data name="toolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing">
+ <value>328, 6</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>331, 22</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text" xml:space="preserve">
+ <value>Take screenshot</value>
+ </data>
+ <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>44, 20</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text" xml:space="preserve">
+ <value>&amp;Help</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
+ <value>GitHub page with actual releases</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text" xml:space="preserve">
+ <value>FAQ</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>246, 22</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
+ <value>About...</value>
+ </data>
+ <data name="checkedListBoxGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="checkedListBoxGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 57</value>
+ </data>
+ <data name="checkedListBoxGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 499</value>
+ </data>
+ <data name="checkedListBoxGames.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
</data>
<data name="&gt;&gt;checkedListBoxGames.Name" xml:space="preserve">
<value>checkedListBoxGames</value>
</data>
- <data name="&gt;&gt;deletePresetToolStripMenuItem.Name" xml:space="preserve">
- <value>deletePresetToolStripMenuItem</value>
+ <data name="&gt;&gt;checkedListBoxGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label7.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;checkedListBoxGames.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
+ <data name="&gt;&gt;checkedListBoxGames.ZOrder" xml:space="preserve">
+ <value>5</value>
</data>
- <data name="groupBoxOptions.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
+ <data name="groupBoxOptions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
</data>
- <data name="addMoreGamesToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+O</value>
+ <data name="buttonShowGameGenieDatabase.Location" type="System.Drawing.Point, System.Drawing">
+ <value>252, 286</value>
</data>
- <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
+ <data name="buttonShowGameGenieDatabase.Size" type="System.Drawing.Size, System.Drawing">
+ <value>25, 20</value>
</data>
- <data name="&gt;&gt;label7.Parent" xml:space="preserve">
+ <data name="buttonShowGameGenieDatabase.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name="buttonShowGameGenieDatabase.Text" xml:space="preserve">
+ <value>+</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve">
+ <value>buttonShowGameGenieDatabase</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve">
<value>groupBoxOptions</value>
</data>
- <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve">
- <value>17</value>
+ <data name="&gt;&gt;buttonShowGameGenieDatabase.ZOrder" xml:space="preserve">
+ <value>0</value>
</data>
- <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="maskedTextBoxReleaseDate.Location" type="System.Drawing.Point, System.Drawing">
+ <value>210, 154</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.Mask" xml:space="preserve">
+ <value>0000-00-00</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.Size" type="System.Drawing.Size, System.Drawing">
+ <value>65, 20</value>
+ </data>
+ <data name="maskedTextBoxReleaseDate.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve">
+ <value>maskedTextBoxReleaseDate</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve">
+ <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve">
+ <value>1</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
- <data name="&gt;&gt;selectAllToolStripMenuItem.Name" xml:space="preserve">
- <value>selectAllToolStripMenuItem</value>
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 157</value>
</data>
- <data name="&gt;&gt;textBoxName.Type" xml:space="preserve">
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>150, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Release date (YYYY-MM-DD):</value>
+ </data>
+ <data name="&gt;&gt;label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name="&gt;&gt;label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="textBoxGameGenie.Location" type="System.Drawing.Point, System.Drawing">
+ <value>19, 286</value>
+ </data>
+ <data name="textBoxGameGenie.Size" type="System.Drawing.Size, System.Drawing">
+ <value>227, 20</value>
+ </data>
+ <data name="textBoxGameGenie.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve">
+ <value>textBoxGameGenie</value>
+ </data>
+ <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve">
+ <value>3</value>
</data>
- <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve">
- <value>buttonBrowseImage</value>
+ <data name="label7.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
- <value>"Up+A+B = Start" on 2nd controller</value>
+ <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
</data>
- <data name="&gt;&gt;unselectAllToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 269</value>
</data>
- <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
+ <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
+ <value>194, 13</value>
</data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>53, 13</value>
+ <data name="label7.TabIndex" type="System.Int32, mscorlib">
+ <value>17</value>
</data>
- <data name="&gt;&gt;modulesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="label7.Text" xml:space="preserve">
+ <value>Game Genie codes (comma separated):</value>
</data>
- <data name="menuStrip.Text" xml:space="preserve">
- <value>menuStrip</value>
+ <data name="&gt;&gt;label7.Name" xml:space="preserve">
+ <value>label7</value>
</data>
- <data name="&gt;&gt;groupBoxOptions.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;label7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max90toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;label7.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
+ <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
+ <value>4</value>
</data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>14</value>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 76</value>
</data>
- <data name="checkedListBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>5, 49</value>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>82, 63</value>
</data>
- <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>16</value>
</data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>2</value>
+ <data name="label6.Text" xml:space="preserve">
+ <value>Max players:</value>
+ </data>
+ <data name="label6.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleLeft</value>
</data>
<data name="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
+ <data name="&gt;&gt;label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;label6.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
+ <value>5</value>
</data>
- <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 20</value>
+ <data name="radioButtonTwoSim.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="&gt;&gt;presetsToolStripMenuItem.Name" xml:space="preserve">
- <value>presetsToolStripMenuItem</value>
+ <data name="radioButtonTwoSim.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
</data>
- <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve">
+ <data name="radioButtonTwoSim.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 122</value>
+ </data>
+ <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing">
+ <value>156, 17</value>
+ </data>
+ <data name="radioButtonTwoSim.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="radioButtonTwoSim.Text" xml:space="preserve">
+ <value>Two players, simultaneously</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve">
+ <value>radioButtonTwoSim</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve">
<value>groupBoxOptions</value>
</data>
- <data name="radioButtonOne.Text" xml:space="preserve">
- <value>One player</value>
+ <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve">
+ <value>6</value>
</data>
- <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing">
- <value>76, 17</value>
+ <data name="buttonGoogle.Location" type="System.Drawing.Point, System.Drawing">
+ <value>219, 427</value>
</data>
- <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
+ <data name="buttonGoogle.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 23</value>
</data>
- <data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="buttonGoogle.TabIndex" type="System.Int32, mscorlib">
+ <value>15</value>
</data>
- <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Name" xml:space="preserve">
- <value>uninstallModulesToolStripMenuItem</value>
+ <data name="buttonGoogle.Text" xml:space="preserve">
+ <value>Google</value>
</data>
- <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Name" xml:space="preserve">
- <value>flashCustomKernelToolStripMenuItem</value>
+ <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve">
+ <value>buttonGoogle</value>
</data>
- <data name="&gt;&gt;max70toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>609, 22</value>
+ <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Add more &amp;games</value>
+ <data name="&gt;&gt;buttonGoogle.ZOrder" xml:space="preserve">
+ <value>7</value>
</data>
- <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
+ <data name="buttonBrowseImage.Location" type="System.Drawing.Point, System.Drawing">
+ <value>219, 384</value>
</data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 189</value>
+ <data name="buttonBrowseImage.Size" type="System.Drawing.Size, System.Drawing">
+ <value>61, 23</value>
</data>
- <data name="&gt;&gt;deleteGameToolStripMenuItem.Name" xml:space="preserve">
- <value>deleteGameToolStripMenuItem</value>
+ <data name="buttonBrowseImage.TabIndex" type="System.Int32, mscorlib">
+ <value>13</value>
</data>
- <data name="&gt;&gt;modulesToolStripMenuItem.Name" xml:space="preserve">
- <value>modulesToolStripMenuItem</value>
+ <data name="buttonBrowseImage.Text" xml:space="preserve">
+ <value>Browse</value>
</data>
- <data name="&gt;&gt;groupBoxDefaultGames.ZOrder" xml:space="preserve">
+ <data name="&gt;&gt;buttonBrowseImage.Name" xml:space="preserve">
+ <value>buttonBrowseImage</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve">
<value>8</value>
</data>
+ <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
+ <value>71, 316</value>
+ </data>
+ <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 204</value>
+ </data>
+ <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
+ <value>Zoom</value>
+ </data>
+ <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
+ <value>12</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
+ <value>pictureBoxArt</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
+ <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
+ <value>9</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 316</value>
+ </data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>43, 13</value>
+ <value>53, 204</value>
</data>
- <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Name" xml:space="preserve">
- <value>downloadCoversForAllGamesToolStripMenuItem</value>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>11</value>
</data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="label4.Text" xml:space="preserve">
+ <value>Box art:</value>
</data>
- <data name="openFileDialogImage.Filter" xml:space="preserve">
- <value>Images (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|All files|*.*</value>
+ <data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
</data>
- <data name="&gt;&gt;settingsToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;label4.Name" xml:space="preserve">
+ <value>label4</value>
</data>
- <data name="&gt;&gt;buttonStart.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="exitToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Exit</value>
+ <data name="&gt;&gt;label4.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="max20toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
+ <value>10</value>
</data>
- <data name="max70toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="textBoxArguments.Location" type="System.Drawing.Point, System.Drawing">
+ <value>18, 237</value>
</data>
- <data name="checkedListBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
+ <data name="textBoxArguments.Size" type="System.Drawing.Size, System.Drawing">
+ <value>257, 20</value>
</data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>141, 70</value>
+ <data name="textBoxArguments.TabIndex" type="System.Int32, mscorlib">
+ <value>10</value>
</data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Maximum games per page/folder</value>
+ <data name="&gt;&gt;textBoxArguments.Name" xml:space="preserve">
+ <value>textBoxArguments</value>
</data>
- <data name="buttonShowGameGenieDatabase.TabIndex" type="System.Int32, mscorlib">
+ <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve">
+ <value>11</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 220</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>253, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>9</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>Command line arguments (for advanced users only!):</value>
+ </data>
+ <data name="&gt;&gt;label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name="&gt;&gt;label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label3.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>12</value>
</data>
- <data name="customToolStripMenuItem.Text" xml:space="preserve">
- <value>Custom - show Folders Manager every time</value>
+ <data name="textBoxPublisher.Location" type="System.Drawing.Point, System.Drawing">
+ <value>71, 186</value>
</data>
- <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Automatic in subfolder</value>
+ <data name="textBoxPublisher.Size" type="System.Drawing.Size, System.Drawing">
+ <value>204, 20</value>
</data>
- <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="textBoxPublisher.TabIndex" type="System.Int32, mscorlib">
+ <value>8</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve">
+ <value>textBoxPublisher</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve">
+ <value>13</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 189</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>53, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>7</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Publisher:</value>
+ </data>
+ <data name="&gt;&gt;label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name="&gt;&gt;label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label2.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
+ <value>14</value>
+ </data>
+ <data name="radioButtonTwo.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="radioButtonTwo.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 99</value>
+ </data>
+ <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing">
+ <value>174, 17</value>
+ </data>
+ <data name="radioButtonTwo.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="radioButtonTwo.Text" xml:space="preserve">
+ <value>Two players, not simultaneously</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Name" xml:space="preserve">
+ <value>radioButtonTwo</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonTwo.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
<data name="&gt;&gt;radioButtonTwo.ZOrder" xml:space="preserve">
<value>15</value>
</data>
- <data name="&gt;&gt;buttonStart.Name" xml:space="preserve">
- <value>buttonStart</value>
+ <data name="radioButtonOne.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="&gt;&gt;famicomMiniToolStripMenuItem.Name" xml:space="preserve">
- <value>famicomMiniToolStripMenuItem</value>
+ <data name="radioButtonOne.Location" type="System.Drawing.Point, System.Drawing">
+ <value>103, 76</value>
</data>
- <data name="famicomMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>151, 22</value>
+ <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing">
+ <value>76, 17</value>
</data>
- <data name="&gt;&gt;max40toolStripMenuItem.Name" xml:space="preserve">
- <value>max40toolStripMenuItem</value>
+ <data name="radioButtonOne.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="radioButtonOne.Text" xml:space="preserve">
+ <value>One player</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve">
+ <value>radioButtonOne</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Type" xml:space="preserve">
+ <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve">
+ <value>16</value>
+ </data>
+ <data name="textBoxName.Location" type="System.Drawing.Point, System.Drawing">
+ <value>59, 46</value>
+ </data>
+ <data name="textBoxName.Size" type="System.Drawing.Size, System.Drawing">
+ <value>216, 20</value>
</data>
<data name="textBoxName.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
- <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Folders, split games equally</value>
+ <data name="&gt;&gt;textBoxName.Name" xml:space="preserve">
+ <value>textBoxName</value>
</data>
- <data name="buttonShowGameGenieDatabase.Location" type="System.Drawing.Point, System.Drawing">
- <value>252, 286</value>
+ <data name="&gt;&gt;textBoxName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 22</value>
+ <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="&gt;&gt;deleteGameToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;textBoxName.ZOrder" xml:space="preserve">
+ <value>17</value>
</data>
- <data name="&gt;&gt;nESMiniToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="labelName.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
- <data name="label4.Text" xml:space="preserve">
- <value>Box art:</value>
+ <data name="labelName.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 49</value>
</data>
- <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
+ <data name="labelName.Size" type="System.Drawing.Size, System.Drawing">
+ <value>38, 13</value>
</data>
- <data name="fileToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;File</value>
+ <data name="labelName.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
</data>
- <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
+ <data name="labelName.Text" xml:space="preserve">
+ <value>Name:</value>
</data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve">
- <value>Compress games, if possible</value>
+ <data name="&gt;&gt;labelName.Name" xml:space="preserve">
+ <value>labelName</value>
</data>
- <data name="&gt;&gt;consoleTypeToolStripMenuItem.Name" xml:space="preserve">
- <value>consoleTypeToolStripMenuItem</value>
+ <data name="&gt;&gt;labelName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonBrowseImage.Location" type="System.Drawing.Point, System.Drawing">
- <value>219, 384</value>
+ <data name="&gt;&gt;labelName.Parent" xml:space="preserve">
+ <value>groupBoxOptions</value>
</data>
- <data name="&gt;&gt;enableAutofireToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;labelName.ZOrder" xml:space="preserve">
+ <value>18</value>
</data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <data name="labelID.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="labelID.Location" type="System.Drawing.Point, System.Drawing">
+ <value>15, 21</value>
+ </data>
+ <data name="labelID.Size" type="System.Drawing.Size, System.Drawing">
+ <value>21, 13</value>
+ </data>
+ <data name="labelID.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="labelID.Text" xml:space="preserve">
+ <value>ID:</value>
+ </data>
+ <data name="&gt;&gt;labelID.Name" xml:space="preserve">
+ <value>labelID</value>
+ </data>
+ <data name="&gt;&gt;labelID.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;labelID.Parent" xml:space="preserve">
<value>groupBoxOptions</value>
</data>
- <data name="&gt;&gt;synchronizeToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve">
+ <value>19</value>
</data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
- <value>GitHub page with actual releases</value>
+ <data name="groupBoxOptions.Location" type="System.Drawing.Point, System.Drawing">
+ <value>306, 27</value>
</data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
+ <data name="groupBoxOptions.Size" type="System.Drawing.Size, System.Drawing">
+ <value>293, 529</value>
</data>
- <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
- <value>625, 675</value>
+ <data name="groupBoxOptions.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
</data>
- <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Name" xml:space="preserve">
- <value>addMoreGamesToolStripMenuItem</value>
+ <data name="groupBoxOptions.Text" xml:space="preserve">
+ <value>Game options</value>
</data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>150, 13</value>
+ <data name="&gt;&gt;groupBoxOptions.Name" xml:space="preserve">
+ <value>groupBoxOptions</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;groupBoxOptions.ZOrder" xml:space="preserve">
+ <value>7</value>
+ </data>
+ <data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 33</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>74, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>Select games:</value>
+ </data>
+ <data name="&gt;&gt;label5.Name" xml:space="preserve">
+ <value>label5</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonOne.TabIndex" type="System.Int32, mscorlib">
+ <data name="&gt;&gt;label5.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="buttonAddGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="buttonAddGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 568</value>
+ </data>
+ <data name="buttonAddGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 38</value>
+ </data>
+ <data name="buttonAddGames.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="buttonAddGames.Text" xml:space="preserve">
+ <value>Add more games</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Name" xml:space="preserve">
+ <value>buttonAddGames</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonAddGames.ZOrder" xml:space="preserve">
<value>3</value>
</data>
- <data name="nESMiniToolStripMenuItem.Text" xml:space="preserve">
- <value>NES Mini</value>
+ <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>407, 17</value>
+ </metadata>
+ <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 614</value>
+ </data>
+ <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>609, 22</value>
+ </data>
+ <data name="statusStrip.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="statusStrip.Text" xml:space="preserve">
+ <value>statusStrip1</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Name" xml:space="preserve">
+ <value>statusStrip</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="toolStripStatusConnectionIcon.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusConnectionIcon.Size" type="System.Drawing.Size, System.Drawing">
+ <value>16, 17</value>
+ </data>
+ <data name="toolStripStatusLabelSelected.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusLabelSelected.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 17</value>
+ </data>
+ <data name="toolStripStatusLabelSize.AutoSize" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 17</value>
+ </data>
+ <data name="toolStripProgressBar.Size" type="System.Drawing.Size, System.Drawing">
+ <value>195, 16</value>
+ </data>
+ <metadata name="openFileDialogNes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>500, 17</value>
+ </metadata>
+ <data name="openFileDialogNes.Title" xml:space="preserve">
+ <value>Select NES file(s)</value>
+ </data>
+ <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>638, 17</value>
+ </metadata>
+ <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>141, 70</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
+ <value>contextMenuStrip</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
+ <value>Select all</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
+ <value>Unselect all</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>140, 22</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete game</value>
+ </data>
+ <metadata name="openFileDialogImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 98</value>
+ </metadata>
+ <data name="openFileDialogImage.Filter" xml:space="preserve">
+ <value>Images (*.bmp;*.png;*.jpg;*.jpeg;*.gif)|*.bmp;*.png;*.jpg;*.jpeg;*.gif|All files|*.*</value>
+ </data>
+ <data name="openFileDialogImage.Title" xml:space="preserve">
+ <value>Select cover for game</value>
+ </data>
+ <data name="buttonStart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="buttonStart.Location" type="System.Drawing.Point, System.Drawing">
+ <value>306, 568</value>
+ </data>
+ <data name="buttonStart.Size" type="System.Drawing.Size, System.Drawing">
+ <value>293, 38</value>
+ </data>
+ <data name="buttonStart.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="buttonStart.Text" xml:space="preserve">
+ <value>Synchronize selected games with NES/SNES Mini</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Name" xml:space="preserve">
+ <value>buttonStart</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonStart.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="groupBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>None</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve">
+ <value>checkedListBoxDefaultGames</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve">
+ <value>groupBoxDefaultGames</value>
+ </data>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <data name="groupBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>306, 27</value>
+ </data>
+ <data name="groupBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>293, 529</value>
</data>
<data name="groupBoxDefaultGames.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
- <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="groupBoxDefaultGames.Text" xml:space="preserve">
+ <value>You can hide some default games</value>
</data>
- <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Delete preset</value>
+ <data name="groupBoxDefaultGames.Visible" type="System.Boolean, mscorlib">
+ <value>False</value>
</data>
- <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
- <value>Zoom</value>
+ <data name="&gt;&gt;groupBoxDefaultGames.Name" xml:space="preserve">
+ <value>groupBoxDefaultGames</value>
</data>
- <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve">
- <value>toolStripStatusLabelSize</value>
+ <data name="&gt;&gt;groupBoxDefaultGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersSplitByFirstLetterToolStripMenuItem</value>
+ <data name="&gt;&gt;groupBoxDefaultGames.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve">
- <value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value>
+ <data name="&gt;&gt;groupBoxDefaultGames.ZOrder" xml:space="preserve">
+ <value>8</value>
</data>
- <data name="max45toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="checkedListBoxDefaultGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
</data>
- <data name="modulesToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Modules</value>
+ <data name="checkedListBoxDefaultGames.Location" type="System.Drawing.Point, System.Drawing">
+ <value>5, 49</value>
</data>
- <data name="&gt;&gt;max60toolStripMenuItem.Name" xml:space="preserve">
- <value>max60toolStripMenuItem</value>
+ <data name="checkedListBoxDefaultGames.Size" type="System.Drawing.Size, System.Drawing">
+ <value>282, 454</value>
</data>
- <data name="&gt;&gt;textBoxArguments.ZOrder" xml:space="preserve">
- <value>11</value>
+ <data name="checkedListBoxDefaultGames.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
</data>
- <data name="radioButtonTwoSim.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 122</value>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve">
+ <value>checkedListBoxDefaultGames</value>
</data>
- <data name="buttonBrowseImage.Size" type="System.Drawing.Size, System.Drawing">
- <value>61, 23</value>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="helpToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Help</value>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve">
+ <value>groupBoxDefaultGames</value>
</data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
- <value>Folders, split by first letter</value>
+ <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="timerCalculateGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>771, 17</value>
+ </metadata>
+ <metadata name="timerConnectionCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>168, 98</value>
+ </metadata>
+ <metadata name="saveDumpFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="saveDumpFileDialog.Title" xml:space="preserve">
+ <value>Select dump filename</value>
+ </data>
+ <metadata name="openDumpFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>164, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>86</value>
+ </metadata>
+ <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>609, 636</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1870,1042 +2643,616 @@
//////////////////////////////////8=
</value>
</data>
- <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>37, 20</value>
- </data>
- <data name="&gt;&gt;label3.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="textBoxArguments.Location" type="System.Drawing.Point, System.Drawing">
- <value>18, 237</value>
+ <data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing">
+ <value>625, 675</value>
</data>
- <data name="label7.TabIndex" type="System.Int32, mscorlib">
- <value>17</value>
+ <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
+ <value>625, 675</value>
</data>
- <data name="&gt;&gt;statusStrip.Name" xml:space="preserve">
- <value>statusStrip</value>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterScreen</value>
</data>
- <data name="&gt;&gt;label7.Name" xml:space="preserve">
- <value>label7</value>
+ <data name="$this.Text" xml:space="preserve">
+ <value>hakchi2</value>
</data>
<data name="&gt;&gt;fileToolStripMenuItem.Name" xml:space="preserve">
<value>fileToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
- </data>
- <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Name" xml:space="preserve">
- <value>maximumGamesPerFolderToolStripMenuItem</value>
- </data>
- <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
- <value>Controller hacks</value>
- </data>
- <data name="labelName.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;automaticToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label4.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label1.Text" xml:space="preserve">
- <value>Release date (YYYY-MM-DD):</value>
- </data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>automaticOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;unselectAllToolStripMenuItem.Name" xml:space="preserve">
- <value>unselectAllToolStripMenuItem</value>
- </data>
- <data name="radioButtonTwoSim.Text" xml:space="preserve">
- <value>Two players, simultaneously</value>
- </data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>66, 13</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="labelName.Text" xml:space="preserve">
- <value>Name:</value>
- </data>
- <data name="&gt;&gt;label6.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;max30toolStripMenuItem.Name" xml:space="preserve">
- <value>max30toolStripMenuItem</value>
+ <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Name" xml:space="preserve">
+ <value>addMoreGamesToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;kernelToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;addMoreGamesToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;checkedListBoxGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;timerCalculateGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
- <value>Disable epilepsy protection</value>
- </data>
- <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
- <value>353, 6</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>179, 22</value>
- </data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Parent" xml:space="preserve">
- <value>groupBoxDefaultGames</value>
- </data>
- <data name="label7.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Disable page/folders</value>
- </data>
- <data name="checkedListBoxGames.Size" type="System.Drawing.Size, System.Drawing">
- <value>282, 499</value>
- </data>
- <data name="labelID.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 21</value>
+ <data name="&gt;&gt;presetsToolStripMenuItem.Name" xml:space="preserve">
+ <value>presetsToolStripMenuItem</value>
</data>
- <data name="label5.Text" xml:space="preserve">
- <value>Select games:</value>
+ <data name="&gt;&gt;presetsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonAddGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
+ <data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
+ <value>toolStripMenuItem2</value>
</data>
- <data name="fAQToolStripMenuItem.Text" xml:space="preserve">
- <value>FAQ</value>
+ <data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max45toolStripMenuItem.Name" xml:space="preserve">
- <value>max45toolStripMenuItem</value>
+ <data name="&gt;&gt;addPresetToolStripMenuItem.Name" xml:space="preserve">
+ <value>addPresetToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;consoleTypeToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;addPresetToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
+ <data name="&gt;&gt;deletePresetToolStripMenuItem.Name" xml:space="preserve">
+ <value>deletePresetToolStripMenuItem</value>
</data>
<data name="&gt;&gt;deletePresetToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Name" xml:space="preserve">
- <value>disablePagefoldersToolStripMenuItem</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>253, 13</value>
- </data>
- <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="label4.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="textBoxPublisher.Location" type="System.Drawing.Point, System.Drawing">
- <value>77, 186</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="pagesOriginalToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;helpToolStripMenuItem.Name" xml:space="preserve">
- <value>helpToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;groupBoxOptions.Name" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="label5.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="textBoxGameGenie.Size" type="System.Drawing.Size, System.Drawing">
- <value>227, 20</value>
- </data>
- <data name="buttonGoogle.TabIndex" type="System.Int32, mscorlib">
- <value>15</value>
- </data>
- <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 101</value>
- </data>
- <data name="&gt;&gt;enableAutofireToolStripMenuItem.Name" xml:space="preserve">
- <value>enableAutofireToolStripMenuItem</value>
- </data>
- <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>52, 20</value>
+ <data name="&gt;&gt;synchronizeToolStripMenuItem.Name" xml:space="preserve">
+ <value>synchronizeToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;radioButtonTwoSim.ZOrder" xml:space="preserve">
- <value>6</value>
+ <data name="&gt;&gt;synchronizeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;searchToolStripMenuItem.Name" xml:space="preserve">
<value>searchToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;groupBoxOptions.ZOrder" xml:space="preserve">
- <value>7</value>
- </data>
- <data name="toolStripStatusLabelSelected.AutoSize" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
- </data>
- <data name="&gt;&gt;dumpKernelToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;selectAllToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;searchToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;automaticToolStripMenuItem.Name" xml:space="preserve">
- <value>automaticToolStripMenuItem</value>
+ <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Name" xml:space="preserve">
+ <value>downloadCoversForAllGamesToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Name" xml:space="preserve">
- <value>maskedTextBoxReleaseDate</value>
- </data>
- <data name="&gt;&gt;buttonStart.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve">
+ <value>toolStripMenuItem1</value>
</data>
- <data name="&gt;&gt;customToolStripMenuItem.Name" xml:space="preserve">
- <value>customToolStripMenuItem</value>
+ <data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
- <value>menuStrip</value>
+ <data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve">
+ <value>exitToolStripMenuItem</value>
</data>
- <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Flash original kernel</value>
+ <data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonTwoSim.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
+ <data name="&gt;&gt;kernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>kernelToolStripMenuItem</value>
</data>
- <data name="groupBoxDefaultGames.Text" xml:space="preserve">
- <value>You can hide some default games</value>
+ <data name="&gt;&gt;kernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;dumpKernelToolStripMenuItem.Name" xml:space="preserve">
<value>dumpKernelToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name" xml:space="preserve">
- <value>useXYOnClassicControllerAsAutofireABToolStripMenuItem</value>
+ <data name="&gt;&gt;dumpKernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Name" xml:space="preserve">
<value>flashOriginalKernelToolStripMenuItem</value>
</data>
- <data name="max50toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="&gt;&gt;max80toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;flashOriginalKernelToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
- <value>Global command-line arguments (experts only!)</value>
- </data>
- <data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve">
- <value>exitToolStripMenuItem</value>
- </data>
- <data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>609, 24</value>
- </data>
- <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Select all</value>
+ <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>flashCustomKernelToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;flashCustomKernelToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max40toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;toolStripMenuItem11.Name" xml:space="preserve">
+ <value>toolStripMenuItem11</value>
</data>
- <data name="max30toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;toolStripMenuItem11.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;openFileDialogNes.Type" xml:space="preserve">
- <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;membootOriginalKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>membootOriginalKernelToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;membootOriginalKernelToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max20toolStripMenuItem.Name" xml:space="preserve">
- <value>max20toolStripMenuItem</value>
- </data>
- <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
- <value>About...</value>
- </data>
- <data name="&gt;&gt;maskedTextBoxReleaseDate.Type" xml:space="preserve">
- <value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="max90toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;membootPatchedKernelToolStripMenuItem.Name" xml:space="preserve">
+ <value>membootPatchedKernelToolStripMenuItem</value>
</data>
- <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing">
- <value>174, 17</value>
- </data>
- <data name="maskedTextBoxReleaseDate.Mask" xml:space="preserve">
- <value>0000-00-00</value>
+ <data name="&gt;&gt;membootPatchedKernelToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="&gt;&gt;toolStripMenuItem10.Name" xml:space="preserve">
+ <value>toolStripMenuItem10</value>
</data>
- <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 204</value>
+ <data name="&gt;&gt;toolStripMenuItem10.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing">
- <value>156, 17</value>
+ <data name="&gt;&gt;dumpTheWholeNANDToolStripMenuItem.Name" xml:space="preserve">
+ <value>dumpTheWholeNANDToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;max50toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;dumpTheWholeNANDToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
+ <data name="&gt;&gt;toolFlashTheWholeNANDStripMenuItem.Name" xml:space="preserve">
+ <value>toolFlashTheWholeNANDStripMenuItem</value>
</data>
- <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesOriginalToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;radioButtonOne.ZOrder" xml:space="preserve">
- <value>16</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolFlashTheWholeNANDStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
- <value>Pages, split games equally</value>
+ <data name="&gt;&gt;dumpNANDBToolStripMenuItem.Name" xml:space="preserve">
+ <value>dumpNANDBToolStripMenuItem</value>
</data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>74, 13</value>
+ <data name="&gt;&gt;dumpNANDBToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max70toolStripMenuItem.Text" xml:space="preserve">
- <value>70</value>
+ <data name="&gt;&gt;toolStripMenuItem9.Name" xml:space="preserve">
+ <value>toolStripMenuItem9</value>
</data>
- <data name="&gt;&gt;buttonBrowseImage.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolStripMenuItem9.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>44, 20</value>
+ <data name="&gt;&gt;uninstallToolStripMenuItem.Name" xml:space="preserve">
+ <value>uninstallToolStripMenuItem</value>
</data>
- <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
- <value>Automatic</value>
+ <data name="&gt;&gt;uninstallToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="textBoxPublisher.Size" type="System.Drawing.Size, System.Drawing">
- <value>198, 20</value>
+ <data name="&gt;&gt;modulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>modulesToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;toolStripProgressBar.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;modulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
- <value>contextMenuStrip</value>
+ <data name="&gt;&gt;installModulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>installModulesToolStripMenuItem</value>
</data>
- <data name="labelID.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
+ <data name="&gt;&gt;installModulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Name" xml:space="preserve">
- <value>upABStartOnSecondControllerToolStripMenuItem</value>
+ <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Name" xml:space="preserve">
+ <value>uninstallModulesToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;textBoxPublisher.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 157</value>
+ <data name="&gt;&gt;settingsToolStripMenuItem.Name" xml:space="preserve">
+ <value>settingsToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve">
- <value>pagesfoldersTypeToolStripMenuItem</value>
+ <data name="&gt;&gt;settingsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;groupBoxDefaultGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;languageToolStripMenuItem.Name" xml:space="preserve">
+ <value>languageToolStripMenuItem</value>
</data>
- <data name="statusStrip.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
+ <data name="&gt;&gt;languageToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonStart.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
+ <data name="&gt;&gt;consoleTypeToolStripMenuItem.Name" xml:space="preserve">
+ <value>consoleTypeToolStripMenuItem</value>
</data>
- <data name="groupBoxDefaultGames.Visible" type="System.Boolean, mscorlib">
- <value>False</value>
+ <data name="&gt;&gt;consoleTypeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;nESMiniToolStripMenuItem.Name" xml:space="preserve">
<value>nESMiniToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Name" xml:space="preserve">
- <value>buttonShowGameGenieDatabase</value>
- </data>
- <data name="&gt;&gt;label4.Name" xml:space="preserve">
- <value>label4</value>
- </data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
- <value>Use button combination to reset</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem4.Name" xml:space="preserve">
- <value>toolStripMenuItem4</value>
- </data>
- <data name="&gt;&gt;downloadCoversForAllGamesToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;nESMiniToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 220</value>
- </data>
- <data name="&gt;&gt;foldersToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersToolStripMenuItem</value>
- </data>
- <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Settings</value>
- </data>
- <data name="&gt;&gt;buttonAddGames.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>65, 20</value>
+ <data name="&gt;&gt;famicomMiniToolStripMenuItem.Name" xml:space="preserve">
+ <value>famicomMiniToolStripMenuItem</value>
</data>
- <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>71, 316</value>
+ <data name="&gt;&gt;famicomMiniToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;sNESMiniToolStripMenuItem.Name" xml:space="preserve">
+ <value>sNESMiniToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;textBoxGameGenie.ZOrder" xml:space="preserve">
- <value>3</value>
+ <data name="&gt;&gt;sNESMiniToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max100toolStripMenuItem.Name" xml:space="preserve">
- <value>max100toolStripMenuItem</value>
+ <data name="&gt;&gt;superFamicomMiniToolStripMenuItem.Name" xml:space="preserve">
+ <value>superFamicomMiniToolStripMenuItem</value>
</data>
- <data name="label3.Text" xml:space="preserve">
- <value>Command line arguments (for advanced users only!):</value>
+ <data name="&gt;&gt;superFamicomMiniToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve">
- <value>Use X/Y on Classic Controller as autofire A/B</value>
+ <data name="&gt;&gt;cloverconHackToolStripMenuItem.Name" xml:space="preserve">
+ <value>cloverconHackToolStripMenuItem</value>
</data>
- <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
- <value>Select reset button combination</value>
+ <data name="&gt;&gt;cloverconHackToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max35toolStripMenuItem.Name" xml:space="preserve">
- <value>max35toolStripMenuItem</value>
+ <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Name" xml:space="preserve">
+ <value>resetUsingCombinationOfButtonsToolStripMenuItem</value>
</data>
- <data name="max35toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
- <value>6</value>
+ <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Name" xml:space="preserve">
+ <value>selectButtonCombinationToolStripMenuItem</value>
</data>
- <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Dump kernel</value>
+ <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonTwoSim.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
+ <data name="&gt;&gt;enableAutofireToolStripMenuItem.Name" xml:space="preserve">
+ <value>enableAutofireToolStripMenuItem</value>
</data>
- <data name="labelID.Size" type="System.Drawing.Size, System.Drawing">
- <value>21, 13</value>
+ <data name="&gt;&gt;enableAutofireToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;max25toolStripMenuItem.Name" xml:space="preserve">
- <value>max25toolStripMenuItem</value>
+ <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Name" xml:space="preserve">
+ <value>useXYOnClassicControllerAsAutofireABToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;presetsToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label3.TabIndex" type="System.Int32, mscorlib">
- <value>9</value>
+ <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Name" xml:space="preserve">
+ <value>upABStartOnSecondControllerToolStripMenuItem</value>
</data>
- <data name="max25toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;useExtendedFontToolStripMenuItem.Name" xml:space="preserve">
<value>useExtendedFontToolStripMenuItem</value>
</data>
- <data name="label5.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
- <value>Uninstall</value>
- </data>
- <data name="&gt;&gt;max90toolStripMenuItem.Name" xml:space="preserve">
- <value>max90toolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;settingsToolStripMenuItem.Name" xml:space="preserve">
- <value>settingsToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersSplitByFirstLetterOriginalToolStripMenuItem</value>
- </data>
- <data name="textBoxArguments.TabIndex" type="System.Int32, mscorlib">
- <value>10</value>
- </data>
- <data name="label5.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
- <value>15, 409</value>
- </data>
- <data name="max50toolStripMenuItem.Text" xml:space="preserve">
- <value>50</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.ZOrder" xml:space="preserve">
- <value>13</value>
- </data>
- <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Name" xml:space="preserve">
- <value>compressGamesIfPossibleToolStripMenuItem</value>
- </data>
- <data name="openFileDialogNes.Title" xml:space="preserve">
- <value>Select NES file(s)</value>
- </data>
- <data name="max100toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
- </data>
- <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve">
- <value>Synchronize</value>
- </data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Original games in root -&gt; Folders, split by first letter</value>
- </data>
- <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing">
- <value>150, 17</value>
- </data>
- <data name="&gt;&gt;buttonGoogle.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
- </data>
- <data name="label6.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="checkedListBoxGames.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>142, 22</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Flash custom kernel</value>
+ <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Name" xml:space="preserve">
<value>epilepsyProtectionToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;max30toolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;epilepsyProtectionToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Kernel</value>
- </data>
- <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="&gt;&gt;aboutToolStripMenuItem.Name" xml:space="preserve">
- <value>aboutToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Name" xml:space="preserve">
+ <value>compressGamesIfPossibleToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.Name" xml:space="preserve">
- <value>checkedListBoxDefaultGames</value>
- </data>
- <data name="&gt;&gt;textBoxName.Name" xml:space="preserve">
- <value>textBoxName</value>
- </data>
- <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
- </data>
- <data name="label6.Text" xml:space="preserve">
- <value>Max players:</value>
- </data>
- <data name="textBoxGameGenie.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;radioButtonTwo.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="famicomMiniToolStripMenuItem.Text" xml:space="preserve">
- <value>Famicom Mini</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>MainForm</value>
+ <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesfoldersTypeToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;pagesfoldersTypeToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
- <value>4</value>
+ <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Name" xml:space="preserve">
+ <value>disablePagefoldersToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;labelID.ZOrder" xml:space="preserve">
- <value>19</value>
+ <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
- <value>Selection presets</value>
+ <data name="&gt;&gt;toolStripMenuItem3.Name" xml:space="preserve">
+ <value>toolStripMenuItem3</value>
</data>
- <data name="&gt;&gt;labelID.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;toolStripMenuItem3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;radioButtonOne.Name" xml:space="preserve">
- <value>radioButtonOne</value>
+ <data name="&gt;&gt;automaticToolStripMenuItem.Name" xml:space="preserve">
+ <value>automaticToolStripMenuItem</value>
</data>
- <data name="textBoxArguments.Size" type="System.Drawing.Size, System.Drawing">
- <value>257, 20</value>
+ <data name="&gt;&gt;automaticToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
- <value>139, 6</value>
+ <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>automaticOriginalToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;uninstallModulesToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;automaticOriginalToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max45toolStripMenuItem.Text" xml:space="preserve">
- <value>45</value>
+ <data name="&gt;&gt;pagesToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;radioButtonTwoSim.Type" xml:space="preserve">
- <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;pagesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>pagesOriginalToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;searchToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;pagesOriginalToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="&gt;&gt;foldersToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersToolStripMenuItem</value>
</data>
- <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="&gt;&gt;foldersToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;checkedListBoxGames.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersOriginalToolStripMenuItem</value>
</data>
- <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
+ <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
+ <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersSplitByFirstLetterToolStripMenuItem</value>
</data>
- <data name="label7.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
+ <data name="&gt;&gt;foldersSplitByFirstLetterToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonAddGames.Text" xml:space="preserve">
- <value>Add more games</value>
+ <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Name" xml:space="preserve">
+ <value>foldersSplitByFirstLetterOriginalToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;max100toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;foldersSplitByFirstLetterOriginalToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;aboutToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Name" xml:space="preserve">
+ <value>maximumGamesPerFolderToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;maximumGamesPerFolderToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;max20toolStripMenuItem.Name" xml:space="preserve">
+ <value>max20toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;buttonGoogle.Name" xml:space="preserve">
- <value>buttonGoogle</value>
+ <data name="&gt;&gt;max20toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonBrowseImage.ZOrder" xml:space="preserve">
- <value>8</value>
+ <data name="&gt;&gt;max25toolStripMenuItem.Name" xml:space="preserve">
+ <value>max25toolStripMenuItem</value>
</data>
- <data name="nESMiniToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>151, 22</value>
+ <data name="&gt;&gt;max25toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
+ <data name="&gt;&gt;max30toolStripMenuItem.Name" xml:space="preserve">
+ <value>max30toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
- <value>toolStripMenuItem2</value>
+ <data name="&gt;&gt;max30toolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Console type</value>
+ <data name="&gt;&gt;max35toolStripMenuItem.Name" xml:space="preserve">
+ <value>max35toolStripMenuItem</value>
</data>
<data name="&gt;&gt;max35toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonOne.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="maskedTextBoxReleaseDate.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="checkedListBoxDefaultGames.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
+ <data name="&gt;&gt;max40toolStripMenuItem.Name" xml:space="preserve">
+ <value>max40toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;addPresetToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max40toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="labelID.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="toolStripStatusLabelSelected.Size" type="System.Drawing.Size, System.Drawing">
- <value>150, 17</value>
- </data>
- <data name="labelName.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="&gt;&gt;toolStripStatusLabelSelected.Name" xml:space="preserve">
- <value>toolStripStatusLabelSelected</value>
- </data>
- <data name="max35toolStripMenuItem.Text" xml:space="preserve">
- <value>35</value>
- </data>
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="&gt;&gt;labelID.Name" xml:space="preserve">
- <value>labelID</value>
+ <data name="&gt;&gt;max45toolStripMenuItem.Name" xml:space="preserve">
+ <value>max45toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;disablePagefoldersToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max45toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label6.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelID.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;max50toolStripMenuItem.Name" xml:space="preserve">
+ <value>max50toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;upABStartOnSecondControllerToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max50toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonStart.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 33</value>
- </data>
- <data name="maskedTextBoxReleaseDate.Location" type="System.Drawing.Point, System.Drawing">
- <value>168, 154</value>
- </data>
- <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
- <value>353, 6</value>
+ <data name="&gt;&gt;max60toolStripMenuItem.Name" xml:space="preserve">
+ <value>max60toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;compressGamesIfPossibleToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max60toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="checkedListBoxGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 57</value>
- </data>
- <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Name" xml:space="preserve">
- <value>resetUsingCombinationOfButtonsToolStripMenuItem</value>
- </data>
- <data name="toolStripStatusLabelSize.AutoSize" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="radioButtonTwo.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="labelID.Text" xml:space="preserve">
- <value>ID:</value>
+ <data name="&gt;&gt;max70toolStripMenuItem.Name" xml:space="preserve">
+ <value>max70toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max70toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonTwo.Text" xml:space="preserve">
- <value>Two players, not simultaneously</value>
- </data>
- <data name="textBoxGameGenie.Location" type="System.Drawing.Point, System.Drawing">
- <value>19, 286</value>
- </data>
- <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Folders, split games equally</value>
- </data>
- <data name="max80toolStripMenuItem.Text" xml:space="preserve">
- <value>80</value>
+ <data name="&gt;&gt;max80toolStripMenuItem.Name" xml:space="preserve">
+ <value>max80toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;installModulesToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max80toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonAddGames.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
+ <data name="&gt;&gt;max90toolStripMenuItem.Name" xml:space="preserve">
+ <value>max90toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;cloverconHackToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max90toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;labelName.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
- </data>
- <data name="textBoxName.Location" type="System.Drawing.Point, System.Drawing">
- <value>59, 46</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>9</value>
+ <data name="&gt;&gt;max100toolStripMenuItem.Name" xml:space="preserve">
+ <value>max100toolStripMenuItem</value>
</data>
- <data name="&gt;&gt;max40toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;max100toolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolStripMenuItem4.Name" xml:space="preserve">
+ <value>toolStripMenuItem4</value>
</data>
- <data name="buttonStart.Text" xml:space="preserve">
- <value>Synchronize selected games with NES Mini</value>
+ <data name="&gt;&gt;toolStripMenuItem4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max80toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;customToolStripMenuItem.Name" xml:space="preserve">
+ <value>customToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;useExtendedFontToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;customToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
- </data>
- <data name="&gt;&gt;radioButtonTwoSim.Name" xml:space="preserve">
- <value>radioButtonTwoSim</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem3.Name" xml:space="preserve">
- <value>toolStripMenuItem3</value>
- </data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>356, 22</value>
+ <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Name" xml:space="preserve">
+ <value>globalCommandLineArgumentsexpertsOnluToolStripMenuItem</value>
</data>
- <data name="synchronizeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>F5</value>
+ <data name="&gt;&gt;globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="statusStrip.Text" xml:space="preserve">
- <value>statusStrip1</value>
+ <data name="&gt;&gt;toolStripMenuItem5.Name" xml:space="preserve">
+ <value>toolStripMenuItem5</value>
</data>
- <data name="&gt;&gt;foldersOriginalToolStripMenuItem.Name" xml:space="preserve">
- <value>foldersOriginalToolStripMenuItem</value>
+ <data name="&gt;&gt;toolStripMenuItem5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="$this.Text" xml:space="preserve">
- <value>hakchi2</value>
+ <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Name" xml:space="preserve">
+ <value>saveSettingsToNESMiniNowToolStripMenuItem</value>
</data>
- <data name="groupBoxOptions.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 529</value>
- </data>
- <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve">
- <value>2</value>
+ <data name="&gt;&gt;saveSettingsToNESMiniNowToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max60toolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>92, 22</value>
+ <data name="&gt;&gt;toolsToolStripMenuItem.Name" xml:space="preserve">
+ <value>toolsToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;buttonShowGameGenieDatabase.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolsToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="searchToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+F</value>
+ <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Name" xml:space="preserve">
+ <value>saveStateManagerToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;selectButtonCombinationToolStripMenuItem.Name" xml:space="preserve">
- <value>selectButtonCombinationToolStripMenuItem</value>
+ <data name="&gt;&gt;saveStateManagerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonAddGames.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolStripMenuItem6.Name" xml:space="preserve">
+ <value>toolStripMenuItem6</value>
</data>
- <data name="$this.MaximumSize" type="System.Drawing.Size, System.Drawing">
- <value>625, 675</value>
+ <data name="&gt;&gt;toolStripMenuItem6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label5.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;FTPToolStripMenuItem.Name" xml:space="preserve">
+ <value>FTPToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;textBoxGameGenie.Name" xml:space="preserve">
- <value>textBoxGameGenie</value>
+ <data name="&gt;&gt;FTPToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonStart.Size" type="System.Drawing.Size, System.Drawing">
- <value>293, 38</value>
+ <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Name" xml:space="preserve">
+ <value>openFTPInExplorerToolStripMenuItem</value>
</data>
- <data name="toolStripProgressBar.Size" type="System.Drawing.Size, System.Drawing">
- <value>300, 16</value>
+ <data name="&gt;&gt;openFTPInExplorerToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
+ <data name="&gt;&gt;toolStripMenuItem7.Name" xml:space="preserve">
+ <value>toolStripMenuItem7</value>
</data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Download box art for all games</value>
+ <data name="&gt;&gt;toolStripMenuItem7.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label3.Name" xml:space="preserve">
- <value>label3</value>
+ <data name="&gt;&gt;shellToolStripMenuItem.Name" xml:space="preserve">
+ <value>shellToolStripMenuItem</value>
</data>
- <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>246, 22</value>
- </data>
- <data name="&gt;&gt;resetUsingCombinationOfButtonsToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;shellToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;groupBoxDefaultGames.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;openTelnetToolStripMenuItem.Name" xml:space="preserve">
+ <value>openTelnetToolStripMenuItem</value>
</data>
- <data name="buttonShowGameGenieDatabase.Text" xml:space="preserve">
- <value>+</value>
- </data>
- <data name="&gt;&gt;textBoxPublisher.Name" xml:space="preserve">
- <value>textBoxPublisher</value>
+ <data name="&gt;&gt;openTelnetToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="radioButtonOne.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 76</value>
+ <data name="&gt;&gt;toolStripMenuItem8.Name" xml:space="preserve">
+ <value>toolStripMenuItem8</value>
</data>
- <data name="pagesToolStripMenuItem.ImageScaling" type="System.Windows.Forms.ToolStripItemImageScaling, System.Windows.Forms">
- <value>None</value>
+ <data name="&gt;&gt;toolStripMenuItem8.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max60toolStripMenuItem.Text" xml:space="preserve">
- <value>60</value>
+ <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Name" xml:space="preserve">
+ <value>takeScreenshotToolStripMenuItem</value>
</data>
- <data name="buttonGoogle.Location" type="System.Drawing.Point, System.Drawing">
- <value>219, 427</value>
+ <data name="&gt;&gt;takeScreenshotToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;groupBoxDefaultGames.Name" xml:space="preserve">
- <value>groupBoxDefaultGames</value>
+ <data name="&gt;&gt;helpToolStripMenuItem.Name" xml:space="preserve">
+ <value>helpToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;uninstallToolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;helpToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="openFileDialogImage.Title" xml:space="preserve">
- <value>Select cover for game</value>
- </data>
- <data name="&gt;&gt;textBoxGameGenie.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Name" xml:space="preserve">
+ <value>gitHubPageWithActualReleasesToolStripMenuItem</value>
</data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>327, 22</value>
+ <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;fAQToolStripMenuItem.Name" xml:space="preserve">
<value>fAQToolStripMenuItem</value>
</data>
- <data name="max40toolStripMenuItem.Text" xml:space="preserve">
- <value>40</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve">
- <value>toolStripMenuItem1</value>
- </data>
- <data name="checkedListBoxGames.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
- </data>
- <data name="&gt;&gt;max25toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;fAQToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="installModulesToolStripMenuItem.Text" xml:space="preserve">
- <value>Install extra modules</value>
- </data>
- <data name="&gt;&gt;label3.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;aboutToolStripMenuItem.Name" xml:space="preserve">
+ <value>aboutToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;max45toolStripMenuItem.Type" xml:space="preserve">
+ <data name="&gt;&gt;aboutToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max25toolStripMenuItem.Text" xml:space="preserve">
- <value>25</value>
+ <data name="&gt;&gt;toolStripStatusConnectionIcon.Name" xml:space="preserve">
+ <value>toolStripStatusConnectionIcon</value>
</data>
- <data name="&gt;&gt;useXYOnClassicControllerAsAutofireABToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolStripStatusConnectionIcon.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;fAQToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;toolStripStatusLabelSelected.Name" xml:space="preserve">
+ <value>toolStripStatusLabelSelected</value>
</data>
- <data name="&gt;&gt;cloverconHackToolStripMenuItem.Name" xml:space="preserve">
- <value>cloverconHackToolStripMenuItem</value>
+ <data name="&gt;&gt;toolStripStatusLabelSelected.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label7.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 269</value>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve">
+ <value>toolStripStatusLabelSize</value>
</data>
- <data name="buttonStart.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="searchToolStripMenuItem.Text" xml:space="preserve">
- <value>Search</value>
+ <data name="&gt;&gt;toolStripProgressBar.Name" xml:space="preserve">
+ <value>toolStripProgressBar</value>
</data>
- <data name="radioButtonTwo.Location" type="System.Drawing.Point, System.Drawing">
- <value>103, 99</value>
+ <data name="&gt;&gt;toolStripProgressBar.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripProgressBar, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;checkedListBoxGames.ZOrder" xml:space="preserve">
- <value>5</value>
+ <data name="&gt;&gt;openFileDialogNes.Name" xml:space="preserve">
+ <value>openFileDialogNes</value>
</data>
- <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 22</value>
+ <data name="&gt;&gt;openFileDialogNes.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;textBoxArguments.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;selectAllToolStripMenuItem.Name" xml:space="preserve">
+ <value>selectAllToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
- <value>12</value>
+ <data name="&gt;&gt;selectAllToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;buttonGoogle.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;unselectAllToolStripMenuItem.Name" xml:space="preserve">
+ <value>unselectAllToolStripMenuItem</value>
</data>
- <data name="&gt;&gt;textBoxArguments.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;unselectAllToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>308, 22</value>
+ <data name="&gt;&gt;deleteGameToolStripMenuItem.Name" xml:space="preserve">
+ <value>deleteGameToolStripMenuItem</value>
</data>
- <data name="groupBoxOptions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>None</value>
+ <data name="&gt;&gt;deleteGameToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonGoogle.Text" xml:space="preserve">
- <value>Google</value>
+ <data name="&gt;&gt;openFileDialogImage.Name" xml:space="preserve">
+ <value>openFileDialogImage</value>
</data>
- <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>12</value>
+ <data name="&gt;&gt;openFileDialogImage.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>197, 22</value>
+ <data name="&gt;&gt;timerCalculateGames.Name" xml:space="preserve">
+ <value>timerCalculateGames</value>
</data>
- <data name="&gt;&gt;checkedListBoxDefaultGames.ZOrder" xml:space="preserve">
- <value>0</value>
+ <data name="&gt;&gt;timerCalculateGames.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label6.TabIndex" type="System.Int32, mscorlib">
- <value>16</value>
+ <data name="&gt;&gt;timerConnectionCheck.Name" xml:space="preserve">
+ <value>timerConnectionCheck</value>
</data>
- <data name="&gt;&gt;installModulesToolStripMenuItem.Name" xml:space="preserve">
- <value>installModulesToolStripMenuItem</value>
+ <data name="&gt;&gt;timerConnectionCheck.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="max30toolStripMenuItem.Text" xml:space="preserve">
- <value>30</value>
+ <data name="&gt;&gt;saveDumpFileDialog.Name" xml:space="preserve">
+ <value>saveDumpFileDialog</value>
</data>
- <data name="&gt;&gt;gitHubPageWithActualReleasesToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;saveDumpFileDialog.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;fileToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="&gt;&gt;openDumpFileDialog.Name" xml:space="preserve">
+ <value>openDumpFileDialog</value>
</data>
- <data name="&gt;&gt;textBoxName.Parent" xml:space="preserve">
- <value>groupBoxOptions</value>
+ <data name="&gt;&gt;openDumpFileDialog.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="buttonAddGames.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 568</value>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>MainForm</value>
+ </data>
+ <data name="&gt;&gt;$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <metadata name="openFileDialogImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>624, 17</value>
- </metadata>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="timerCalculateGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>473, 17</value>
- </metadata>
- <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
- <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>109, 17</value>
- </metadata>
- <metadata name="openFileDialogNes.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>202, 17</value>
- </metadata>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>340, 17</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/MainForm.ru-RU.resx b/MainForm.ru-RU.resx
index 822a2e38..4bec1961 100644
--- a/MainForm.ru-RU.resx
+++ b/MainForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1521 +58,238 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="addMoreGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP Ñервер на ftp://root:clover@127.0.0.1:1021</value>
</data>
- <data name="addMoreGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Добавить &amp;игр</value>
- </data>
- <data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
- <value>163, 6</value>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>&amp;О программе...</value>
</data>
- <data name="addPresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>166, 22</value>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Добавить &amp;игр</value>
</data>
- <data name="addPresetToolStripMenuItem.Text" xml:space="preserve">
+ <data name="addPresetToolStripMenuItem.Text">
<value>Добавить преÑет</value>
</data>
- <data name="deletePresetToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>166, 22</value>
- </data>
- <data name="deletePresetToolStripMenuItem.Text" xml:space="preserve">
- <value>Удалить преÑет</value>
- </data>
- <data name="presetsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
- </data>
- <data name="presetsToolStripMenuItem.Text" xml:space="preserve">
- <value>ПреÑеты</value>
- </data>
- <data name="synchronizeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
- </data>
- <data name="synchronizeToolStripMenuItem.Text" xml:space="preserve">
- <value>СинхронизациÑ</value>
- </data>
- <data name="searchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
- </data>
- <data name="searchToolStripMenuItem.Text" xml:space="preserve">
- <value>ПоиÑк</value>
- </data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
- </data>
- <data name="downloadCoversForAllGamesToolStripMenuItem.Text" xml:space="preserve">
- <value>Скачать обложки Ð´Ð»Ñ Ð²Ñех игр</value>
- </data>
- <data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
- <value>238, 6</value>
- </data>
- <data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>241, 22</value>
- </data>
- <data name="exitToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Выйти</value>
- </data>
- <data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>48, 20</value>
- </data>
- <data name="fileToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Файл</value>
- </data>
- <data name="dumpKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>270, 22</value>
- </data>
- <data name="dumpKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Сдампить Ñдро</value>
- </data>
- <data name="flashOriginalKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>270, 22</value>
- </data>
- <data name="flashOriginalKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Прошить оригинальное Ñдро</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>270, 22</value>
- </data>
- <data name="flashCustomKernelToolStripMenuItem.Text" xml:space="preserve">
- <value>Прошить модифицированное Ñдро</value>
- </data>
- <data name="uninstallToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>270, 22</value>
- </data>
- <data name="uninstallToolStripMenuItem.Text" xml:space="preserve">
- <value>ПолноÑтью удалитьÑÑ Ñ NES Mini</value>
- </data>
- <data name="kernelToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>46, 20</value>
- </data>
- <data name="kernelToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Ядро</value>
- </data>
- <data name="installModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>181, 22</value>
- </data>
- <data name="installModulesToolStripMenuItem.Text" xml:space="preserve">
- <value>УÑтановить модули</value>
- </data>
- <data name="uninstallModulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>181, 22</value>
- </data>
- <data name="uninstallModulesToolStripMenuItem.Text" xml:space="preserve">
- <value>Удалить модули</value>
- </data>
- <data name="modulesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>63, 20</value>
- </data>
- <data name="modulesToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Модули</value>
- </data>
- <data name="consoleTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
- </data>
- <data name="consoleTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Тип конÑоли</value>
- </data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>378, 22</value>
- </data>
- <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text" xml:space="preserve">
- <value>ИÑпользовать комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
- </data>
- <data name="selectButtonCombinationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>378, 22</value>
- </data>
- <data name="selectButtonCombinationToolStripMenuItem.Text" xml:space="preserve">
- <value>Выбрать комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
- </data>
- <data name="enableAutofireToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>378, 22</value>
- </data>
- <data name="enableAutofireToolStripMenuItem.Text" xml:space="preserve">
- <value>Включить турбо кнопки</value>
- </data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>378, 22</value>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Оригинальные игры в корне -&gt; ÐвтоматичеÑки в подпапке</value>
</data>
- <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text" xml:space="preserve">
- <value>ИÑпользовать X/Y на Classic Controller как турбо A/B</value>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>ÐвтоматичеÑки</value>
</data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>378, 22</value>
+ <data name="buttonAddGames.Text">
+ <value>Добавить игр</value>
</data>
- <data name="upABStartOnSecondControllerToolStripMenuItem.Text" xml:space="preserve">
- <value>"Up+A+B = Start" на втором контроллере</value>
+ <data name="buttonBrowseImage.Text">
+ <value>Выбрать</value>
</data>
- <data name="cloverconHackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
+ <data name="buttonStart.Text">
+ <value>Синхронизировать ÑпиÑок игр Ñ NES Mini</value>
</data>
- <data name="cloverconHackToolStripMenuItem.Text" xml:space="preserve">
+ <data name="cloverconHackToolStripMenuItem.Text">
<value>Хаки контроллера</value>
</data>
- <data name="useExtendedFontToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Сжимать не-NES игры (Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð³Ð¾ ÑмулÑтора)</value>
</data>
- <data name="useExtendedFontToolStripMenuItem.Text" xml:space="preserve">
- <value>ИÑпользовать раÑширенный шрифт</value>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Тип конÑоли</value>
</data>
- <data name="epilepsyProtectionToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
+ <data name="customToolStripMenuItem.Text">
+ <value>ÐаÑтроить вручную - показывать менеджер папок перед загрузкой</value>
</data>
- <data name="epilepsyProtectionToolStripMenuItem.Text" xml:space="preserve">
- <value>Выключить защиту от приÑтупов ÑпилепÑии</value>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Удалить игру</value>
</data>
- <data name="disablePagefoldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Удалить преÑет</value>
</data>
- <data name="disablePagefoldersToolStripMenuItem.Text" xml:space="preserve">
+ <data name="disablePagefoldersToolStripMenuItem.Text">
<value>Без папок</value>
</data>
- <data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
- <value>442, 6</value>
- </data>
- <data name="automaticToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Скачать обложки Ð´Ð»Ñ Ð²Ñех игр</value>
</data>
- <data name="automaticToolStripMenuItem.Text" xml:space="preserve">
- <value>ÐвтоматичеÑки</value>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Сдампить Ñдро</value>
</data>
- <data name="automaticOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Прочитать раÑшифрованный NAND-B раздел</value>
</data>
- <data name="automaticOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Оригинальные игры в корне -&gt; ÐвтоматичеÑки в подпапке</value>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Прочитать вÑÑŽ NAND памÑÑ‚ÑŒ</value>
</data>
- <data name="pagesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>ИÑпользовать "Select+A/B" Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ‚ÑƒÑ€Ð±Ð¾ кнопок</value>
</data>
- <data name="pagesToolStripMenuItem.Text" xml:space="preserve">
- <value>Страницы, разделить игры поровну</value>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Выключить защиту от приÑтупов ÑпилепÑии</value>
</data>
- <data name="pagesOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Выйти</value>
</data>
- <data name="pagesOriginalToolStripMenuItem.Text" xml:space="preserve">
- <value>Оригинальные в корне -&gt; Страницы, разделить поровну</value>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (ВопроÑÑ‹ и ответы)</value>
</data>
- <data name="foldersToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Файл</value>
</data>
- <data name="foldersToolStripMenuItem.Text" xml:space="preserve">
- <value>Папки, разделить поровну</value>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Прошить модифицированное Ñдро</value>
</data>
- <data name="foldersOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Прошить оригинальное Ñдро</value>
</data>
- <data name="foldersOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <data name="foldersOriginalToolStripMenuItem.Text">
<value>Оригинальные в корне -&gt; Папки, разделить поровну</value>
</data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
- </data>
- <data name="foldersSplitByFirstLetterToolStripMenuItem.Text" xml:space="preserve">
- <value>Папки, по буквам</value>
- </data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
- </data>
- <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text" xml:space="preserve">
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
<value>Оригинальные в корне -&gt; Папки, по буквам</value>
</data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
- </data>
- <data name="maximumGamesPerFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>МакÑимум игр на Ñтраницу</value>
- </data>
- <data name="toolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
- <value>442, 6</value>
- </data>
- <data name="customToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>445, 22</value>
- </data>
- <data name="customToolStripMenuItem.Text" xml:space="preserve">
- <value>ÐаÑтроить вручную - показывать менеджер папок перед загрузкой</value>
- </data>
- <data name="pagesfoldersTypeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
- </data>
- <data name="pagesfoldersTypeToolStripMenuItem.Text" xml:space="preserve">
- <value>Структура папок</value>
- </data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Папки, по буквам</value>
</data>
- <data name="compressGamesIfPossibleToolStripMenuItem.Text" xml:space="preserve">
- <value>Сжимать игры, еÑли возможно</value>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Папки, разделить поровну</value>
</data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>320, 22</value>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Страница GitHub и Ñвежие верÑии</value>
</data>
- <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text" xml:space="preserve">
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
<value>Глобальные параметры командной Ñтроки</value>
</data>
- <data name="settingsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>79, 20</value>
- </data>
- <data name="settingsToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;ÐаÑтройки</value>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Тут можно Ñкрыть некоторые вÑтроенные игры</value>
</data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>263, 22</value>
+ <data name="groupBoxOptions.Text">
+ <value>Параметры игры</value>
</data>
- <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text" xml:space="preserve">
- <value>Страница GitHub и Ñвежие верÑии</value>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Помощь</value>
</data>
- <data name="fAQToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>263, 22</value>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>УÑтановить модули</value>
</data>
- <data name="aboutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>263, 22</value>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Ядро</value>
</data>
- <data name="aboutToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;О программе...</value>
+ <data name="label1.Text">
+ <value>Дата выхода (YYYY-MM-DD):</value>
</data>
- <data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>68, 20</value>
+ <data name="label2.Text">
+ <value>Издатель:</value>
</data>
- <data name="helpToolStripMenuItem.Text" xml:space="preserve">
- <value>&amp;Помощь</value>
+ <data name="label3.Text">
+ <value>Параметры командной Ñтроки (Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚Ñ‹Ñ…!):</value>
</data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>153, 13</value>
+ <data name="label4.Text">
+ <value>Обложка:</value>
</data>
- <data name="label1.Text" xml:space="preserve">
- <value>Дата выхода (YYYY-MM-DD):</value>
+ <data name="label5.Text">
+ <value>Выберите игры:</value>
</data>
- <data name="label7.Size" type="System.Drawing.Size, System.Drawing">
- <value>181, 13</value>
+ <data name="label6.Text">
+ <value>Кол-во игроков:</value>
</data>
- <data name="label7.Text" xml:space="preserve">
+ <data name="label7.Text">
<value>Game Genie коды (через запÑтую):</value>
</data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>88, 13</value>
+ <data name="labelName.Text">
+ <value>Ðазвание:</value>
</data>
- <data name="label6.Text" xml:space="preserve">
- <value>Кол-во игроков:</value>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Язык</value>
</data>
- <data name="radioButtonTwoSim.Size" type="System.Drawing.Size, System.Drawing">
- <value>164, 17</value>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>МакÑимум игр на Ñтраницу</value>
</data>
- <data name="radioButtonTwoSim.Text" xml:space="preserve">
- <value>Два игрока, одновременно</value>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Модули</value>
</data>
- <data name="buttonBrowseImage.Text" xml:space="preserve">
- <value>Выбрать</value>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Открыть FTP клиент</value>
</data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>56, 13</value>
+ <data name="openFileDialogImage.Title">
+ <value>Выберите обложку Ð´Ð»Ñ Ð¸Ð³Ñ€Ñ‹</value>
</data>
- <data name="label4.Text" xml:space="preserve">
- <value>Обложка:</value>
+ <data name="openFileDialogNes.Title">
+ <value>Выберите игры</value>
</data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>264, 13</value>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Открыть Telnet клиент</value>
</data>
- <data name="label3.Text" xml:space="preserve">
- <value>Параметры командной Ñтроки (Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð½ÑƒÑ‚Ñ‹Ñ…!):</value>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Оригинальные в корне -&gt; Страницы, разделить поровну</value>
</data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>59, 13</value>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Страницы, разделить игры поровну</value>
</data>
- <data name="label2.Text" xml:space="preserve">
- <value>Издатель:</value>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Структура папок</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>ПреÑеты</value>
</data>
- <data name="radioButtonTwo.Size" type="System.Drawing.Size, System.Drawing">
- <value>146, 17</value>
+ <data name="radioButtonOne.Text">
+ <value>Один игрок</value>
</data>
- <data name="radioButtonTwo.Text" xml:space="preserve">
+ <data name="radioButtonTwo.Text">
<value>Два игрока, по очереди</value>
</data>
- <data name="radioButtonOne.Size" type="System.Drawing.Size, System.Drawing">
- <value>83, 17</value>
+ <data name="radioButtonTwoSim.Text">
+ <value>Два игрока, одновременно</value>
</data>
- <data name="radioButtonOne.Text" xml:space="preserve">
- <value>Один игрок</value>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>ИÑпользовать комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
</data>
- <data name="labelName.Size" type="System.Drawing.Size, System.Drawing">
- <value>60, 13</value>
+ <data name="saveDumpFileDialog.Title">
+ <value>Выберите, куда Ñохранить образ</value>
</data>
- <data name="labelName.Text" xml:space="preserve">
- <value>Ðазвание:</value>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Сохранить наÑтройки в NES Mini ÑейчаÑ</value>
</data>
- <data name="groupBoxOptions.Text" xml:space="preserve">
- <value>Параметры игры</value>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Менеджер Ñохранений</value>
</data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>88, 13</value>
+ <data name="searchToolStripMenuItem.Text">
+ <value>ПоиÑк</value>
</data>
- <data name="label5.Text" xml:space="preserve">
- <value>Выберите игры:</value>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Отметить вÑе</value>
</data>
- <data name="buttonAddGames.Text" xml:space="preserve">
- <value>Добавить игр</value>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Выбрать комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
</data>
- <data name="openFileDialogNes.Title" xml:space="preserve">
- <value>Выберите NES файл(ы)</value>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;ÐаÑтройки</value>
</data>
- <data name="selectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 22</value>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet Ñервер на telnet://127.0.0.1:1023 (login:root)</value>
</data>
- <data name="selectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>Отметить вÑе</value>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>СинхронизациÑ</value>
</data>
- <data name="unselectAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 22</value>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Сделать Ñкриншот</value>
</data>
- <data name="unselectAllToolStripMenuItem.Text" xml:space="preserve">
- <value>СнÑÑ‚ÑŒ отметку Ñо вÑех</value>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;ИнÑтрументы</value>
</data>
- <data name="deleteGameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>195, 22</value>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Удалить модули</value>
</data>
- <data name="deleteGameToolStripMenuItem.Text" xml:space="preserve">
- <value>Удалить игру</value>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>ПолноÑтью удалитьÑÑ Ñ NES Mini</value>
</data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>196, 70</value>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>СнÑÑ‚ÑŒ отметку Ñо вÑех</value>
</data>
- <data name="buttonStart.Text" xml:space="preserve">
- <value>Синхронизировать ÑпиÑок игр Ñ NES Mini</value>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Up+A+B = Start" на втором контроллере</value>
</data>
- <data name="groupBoxDefaultGames.Text" xml:space="preserve">
- <value>Тут можно Ñкрыть некоторые вÑтроенные игры</value>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>ИÑпользовать раÑширенный шрифт</value>
</data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>ИÑпользовать X/Y на Classic Controller как турбо A/B</value>
</data>
</root> \ No newline at end of file
diff --git a/MainForm.sk-SK.resx b/MainForm.sk-SK.resx
new file mode 100644
index 00000000..8067d52e
--- /dev/null
+++ b/MainForm.sk-SK.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP server na ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Informácie</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Pridať viac &amp;hier</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Pridať predvoľbu</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Originálne hry v koreňovom adresári -&gt; Automaticky v podprieÄinkoch</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automaticky</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Pridať viac hier</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Prehliadať</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synchronizovať vybrané hry s NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Hack ovládaÄa</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Použiť kompresiu pre hry mimo NES (pre prídavný mód emulátora)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Typ konzoly</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Vlastné - ukázaÅ¥ Správcu prieÄinkov vždy</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Odstrániť hru</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Odstrániť prednastavenie</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Zrušiť stránku/zložky</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Stiahnuť obal pre všetky hry</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Zálohovať kernel</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Použiť "Select+A/B" pre povolenie autofire na A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Zakázať ochranu proti epilepsii</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;UkonÄiÅ¥</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Súbor</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flashnúť vlastný kernel</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flashnúť originálny kernel</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Originálne hry v koreňovom adresári -&gt; PrieÄinky, rozdeliÅ¥ hry rovnomerne</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Pôvodné hry v koreňovom adresári -&gt; Zložky, rozdeliť podľa prvého písmena</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Zložky, rozdeliť podľa prvého písmena</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>PrieÄinky, rozdeliÅ¥ hry rovnomerne</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Stránka na GitHube s aktuálnymi verziami</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Globálne argumenty príkazového riadku (iba pre odborníkov!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Môžete skryť niektoré predvolené hry</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Nastavenia hry</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Pomoc</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Nainštalovať extra moduly</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kernel</value>
+ </data>
+ <data name="label1.Text">
+ <value>Dátum vydania (RRRR-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Vydávateľ:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Argumenty príkazového riadku (iba pre pokroÄilých používateľov!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Obal:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Vyberte hry:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Maximálny poÄet hráÄov</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie kódy (oddelené Äiarkou):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Názov:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Jazyk</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximálny poÄet hier na stránku/prieÄinok</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduly</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Spustiť FTP klient</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Vyberte obal hry</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Vybrať hry</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Spustiť Telnet klient</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originálne hry v koreňovom adresári -&gt; rozdeliť hry rovnomerne</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Stránky, rozdeliť hry rovnomerne</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Å truktúra stránok/prieÄinkov</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Predvoľba pre výber</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Jeden hráÄ</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Dvaja hráÄi, nesúÄasne</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Dvaja hráÄi, súÄasne</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Použiť kombináciu kláves pre resetovanie</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Uložiť nastavenia do NES Mini</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Správca uložených pozícií v hrách</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Hľadať</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Vybrať všetko</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Vyberte kombináciu kláves pre resetovanie</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Nastavenia</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet server na telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synchronizovať</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Urobiť fotku obrazovky</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Nástroje</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Odinštalovať prídavné moduly</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Odinštalovať prídavné moduly</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>OdznaÄiÅ¥ vÅ¡etky</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Hore+A+B = Start" na 2. ovládaÄi</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Použiť rozšírené fonty písma</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>PoužiÅ¥ X/Y na klasickom ovládaÄi ako autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.sv-SE.resx b/MainForm.sv-SE.resx
new file mode 100644
index 00000000..06ddd5e3
--- /dev/null
+++ b/MainForm.sv-SE.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP server på ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>Om…</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Lägg till fler &amp;spel</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Lägg till förinställning</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Originalspel i roten -&gt; Automatisk i undermappar</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Automatiskt</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Lägg till fler spel</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Bläddra</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Synkronisera vöada spel med NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Handkontroll hack</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>Komprimera icke-NES spel (för ytterligare emulatormod)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Konsoll typ</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Anpassad - visa mapphanteraren varje gång</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Ta bort spel</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Ta bort förinställning</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Inaktivera sidor/mappar</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Ladda ner omslagsbild för alla spel</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Dumpa kärnan</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>Använd "Select+A/B" för att aktivera autofire på A/B</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Inaktivera epilepsiskydd</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>Avsluta</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Arkiv</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Flasha anpassad kärna</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Flasha originalkärna</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Originalspel i roten -&gt; Mappar, fördela spelen jämnt</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Originalspel i roten -&gt; Mappar, fördelat efter första bokstaven</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Mappar, fördelat efter första bokstaven</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Mappar, fördela spelen jämnt</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>GitHub sida med aktuella utgåvor</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Globala kommandoradsargument (endast experter!)</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Du kan dölja vissa standardspel</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Spelalternativ</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Hjälp</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Installera extra moduler</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Kärna</value>
+ </data>
+ <data name="label1.Text">
+ <value>Utgivningsdatum (Ã…Ã…Ã…Ã…-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Utgivare:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Kommandoradsargument (endast experter!)</value>
+ </data>
+ <data name="label4.Text">
+ <value>Omslagsbild:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Välj spel:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Max spelare:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Lägg till Game Genie koder (kommaseparerade)</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Namn:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Språk</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>Maximalt antal spel per sida/mapp</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Moduler</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Öppna FTP klienten</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Välj omslagsbild för spel</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Välj spel</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Öppna Telnet klienten</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Originalspel i roten -&gt; Sidor, fördela spelen jämnt</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Sidor, fördela spelen jämnt</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Sidor/Mapp struktur</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>Valinställningar</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>En spelare</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Två spelare, inte samtidigt</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Två spelare, samtidigt</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>Använd knappkombinationen för reset</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Spara inställningarna till NES Mini nu</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Save-State hanterare</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Sök</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Välj alla</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Välj reset knappkombination</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;Inställningar</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet server på telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>Synkronisera</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Ta skärmdump</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;Verktyg</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Avinstallera extra moduler</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>Avinstallera</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>Avmarkera alla</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Upp+A+B = Start" på 2:a handkontrollen</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>Använd utökad typsnitt</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>Använd X/Y på Classic Controller som autofire A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.uk-UA.resx b/MainForm.uk-UA.resx
new file mode 100644
index 00000000..6878b056
--- /dev/null
+++ b/MainForm.uk-UA.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP Ñервер на ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>&amp;Про програму...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>Дадати &amp;ігри</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>Додати преÑет</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>Оригінальні ігри в корені -&gt; Ðвтоматично в папці</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>Ðвтоматично</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>Додати ігри</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>Вибрати</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>Скачать обложки Ð´Ð»Ñ Ð²Ñех игр NES Mini</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>Хаки контролера</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>СтиÑкати не-NES ігри (Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ емулÑтора)</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>Тип конÑолі</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>Ðалаштувати вручну - показувати менеджер папок перед завантаженнÑм</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>Видалити гру</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>Видалити преÑет</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>Без папок</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>Завантажити обкладинки Ð´Ð»Ñ Ð²ÑÑ–Ñ… ігор</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>Здампити Ñдро</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>ВикориÑтовувати "Select + A/B" Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñ‚ÑƒÑ€Ð±Ð¾ кнопок</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>Вимкнути захиÑÑ‚ від нападів епілепÑÑ–Ñ—</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;Вийти</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>FAQ (ÐŸÐ¸Ñ‚Ð°Ð½Ð½Ñ Ñ– відповіді)</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;Файл</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>Прошити модифіковане Ñдро</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>Прошити оригінальне Ñдро</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>Оригінальні ігри в корені -&gt; Папки, розділити порівну</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>Оригінальні в корені -&gt; Папки, по буквах</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>Папки, по буквах</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>Папки, розділити порівну</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>Сторінка GitHub та Ñвіжі верÑÑ–Ñ—</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>Глобальні параметри командного Ñ€Ñдка</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>Тут можна приховати деÑкі вбудовані ігри</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>Параметри гри</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;Допомога</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>Ð’Ñтановити модулі</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;Ядро</value>
+ </data>
+ <data name="label1.Text">
+ <value>Дата виходу (YYYY-MM-DD):</value>
+ </data>
+ <data name="label2.Text">
+ <value>Видавець:</value>
+ </data>
+ <data name="label3.Text">
+ <value>Параметри командного Ñ€Ñдка (Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñунутих кориÑтувачів!):</value>
+ </data>
+ <data name="label4.Text">
+ <value>Обкладинка:</value>
+ </data>
+ <data name="label5.Text">
+ <value>Виберіть ігри:</value>
+ </data>
+ <data name="label6.Text">
+ <value>Кіл-ÑÑ‚ÑŒ гравців:</value>
+ </data>
+ <data name="label7.Text">
+ <value>Game Genie коди (через кому):</value>
+ </data>
+ <data name="labelName.Text">
+ <value>Ðазва:</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>Мова</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>МакÑимум ігор на Ñторінці</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;Модулі</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>Відкрити FTP клієнт</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>Виберіть обкладинку Ð´Ð»Ñ Ð³Ñ€Ð¸</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>Виберіть ігри</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>Відкрити Telnet клієнт</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>Оригінальні в корені -&gt; Сторінки, розділити порівну</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>Сторінки, розділити ігри порівну</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>Структура папок</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>ПреÑети</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>Один гравець</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>Два гравці, по черзі</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>Два гравці, одночаÑно</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>ВикориÑтовувати комбінацію кнопок Ð´Ð»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñƒ в меню</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>Зберегти Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ NES Mini зараз</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>Менеджер збережень</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>Пошук</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>Відзначити вÑÑ–</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>Вибрати комбінацію кнопок Ð´Ð»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñƒ у меню</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;ÐалаштуваннÑ</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet Ñервер на telnet://127.0.0.1:1023 (login:root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>СинхронізаціÑ</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>Зробити Ñкріншот</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;ІнÑтрументи</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>Видалити модулі</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>ПовніÑÑ‚ÑŽ видалитиÑÑ Ð· NES Mini</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>ЗнÑти відмітку з уÑÑ–Ñ…</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>"Up+A+B = Start" на другому контролері</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>ВикориÑтовувати розширений шрифт</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>ВикориÑтовувати X/Y на Classic Controller Ñк турбо A/B</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.zh-CHS.resx b/MainForm.zh-CHS.resx
new file mode 100644
index 00000000..7b4a529c
--- /dev/null
+++ b/MainForm.zh-CHS.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP æœåŠ¡å™¨åœ¨ ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>关于...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>新增更多游æˆ</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>新增默认组åˆ</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>原厂游æˆåœ¨æ ¹ç›®å½• -&gt; 自动放至å­æ–‡ä»¶å¤¹</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>全自动</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>新增更多游æˆ</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>æµè§ˆ</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>开始åŒæ­¥å¤„ç†æ‰€é€‰æ¸¸æˆè‡³è¿·ä½ çº¢ç™½æœº</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>强化手把控制器</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>压缩éžçº¢ç™½æœºæ¸¸æˆ ( å¦‚å…¶ä»–ä»¿çœŸå™¨çš„æ‰©å……æ¨¡å— )</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>欧日机ç§ç±»åž‹</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>自定义 - æ¯æ¬¡éƒ½æ˜¾ç¤ºæ–‡ä»¶å¤¹ç®¡ç†ç•Œé¢</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>删除游æˆ</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>删除默认组åˆ</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>åœç”¨é¡µé¢ / 文件夹</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>下载所有游æˆçš„å°é¢å›¾ç‰‡</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>倾å°æ ¸å¿ƒ</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>使用「SELECTé”® + Aé”® 或 Bé”® ã€ä»¥å¯ç”¨è‡ªåŠ¨è¿žå‘于 Aé”® 或 Bé”®</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>åœç”¨ epilepsy 防护</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;离开</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>常è§é—®ç­”集</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;档案</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>覆写自定义核心</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>é‡æ–°è¦†å†™åŽŸåŽ‚核心档案</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>原厂游æˆåœ¨æ ¹ç›®å½• -&gt; 游æˆå¹³å‡åˆ†å‰²è‡³æ–‡ä»¶å¤¹</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>原厂游æˆåœ¨æ ¹ç›®å½• -&gt; 以首ä½å­—æ¯åˆ†å‰²æ–‡ä»¶å¤¹</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²æ–‡ä»¶å¤¹</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>游æˆå¹³å‡åˆ†å‰²è‡³æ–‡ä»¶å¤¹</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>版本历程与GitHub网页</value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>全局通用命令行å‚æ•° ( é™ä¸“业玩家使用 ! )</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>您å¯ä»¥éšè—预设的原厂游æˆ</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>游æˆé€‰é¡¹</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;说明</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>安装扩充模å—</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;核心</value>
+ </data>
+ <data name="label1.Text">
+ <value>å‘布日期 (YYYY-MM-DD) :</value>
+ </data>
+ <data name="label2.Text">
+ <value>å‘布商 :</value>
+ </data>
+ <data name="label3.Text">
+ <value>命令行执行å‚æ•° ( 适用于进阶使用者使用 ! ) :</value>
+ </data>
+ <data name="label4.Text">
+ <value>å°é¢å›¾ç‰‡ :</value>
+ </data>
+ <data name="label5.Text">
+ <value>é€‰æ‹©æ¸¸æˆ :</value>
+ </data>
+ <data name="label6.Text">
+ <value>游玩人数 :</value>
+ </data>
+ <data name="label7.Text">
+ <value>游æˆä½œå¼Šä»£ç  ( 逗å·åˆ†éš” ) :</value>
+ </data>
+ <data name="labelName.Text">
+ <value>游æˆå称 :</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>语系</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>å•ä¸€é¡µé¢ / 文件夹è¦æ˜¾ç¤ºå¤šå°‘游æˆ</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;扩充模å—</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>å¼€å¯ FTP 客户端</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>选择游æˆå°é¢å›¾ç‰‡</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>选择游æˆ</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>å¼€å¯ Telnet 客户端</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>原厂游æˆåœ¨æ ¹ç›®å½• -&gt; 游æˆå¹³å‡åˆ†å‰²åŠé¡µé¢</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>游æˆå¹³å‡åˆ†å‰²åœ¨é¡µé¢</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>é¡µé¢ / 文件夹结构</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>选择默认组åˆ</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>å•äººæ¸¸æˆ</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>åŒäººå„别游æˆ</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>åŒäººåŒæ—¶æ¸¸æˆ</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>使用按键组åˆæ¥é‡å¯</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>储存目å‰è®¾å®šè‡³è¿·ä½ çº¢ç™½æœº</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>快速存档管ç†å·¥å…·</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>æœå¯»</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>选择所有</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>选择é‡å¯æŒ‰é’®ç»„åˆ</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;设定</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet æœåŠ¡å™¨åœ¨ Telnet://127.0.0.1:1023 (登入 : root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>开始åŒæ­¥å¤„ç†</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>æ’·å–å±å¹•æˆªå›¾</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;工具</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>å¸è½½æ‰©å……模å—</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>å¸è½½</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>å–消所有选å–</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>「上键 + Aé”® + Bé”®ã€= 2P控制器的Start</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>使用扩充字型</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>使用 Xé”® 或 Yé”® 当作传统控制器的 è‡ªåŠ¨è¿žå‘ Aé”® 或 Bé”®</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.zh-CHT.resx b/MainForm.zh-CHT.resx
new file mode 100644
index 00000000..278956e7
--- /dev/null
+++ b/MainForm.zh-CHT.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP 伺æœå™¨åœ¨ ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>關於...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>新增更多éŠæˆ²</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>新增é è¨­çµ„åˆ</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; 自動放至å­è³‡æ–™å¤¾</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>全自動</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>新增更多éŠæˆ²</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>ç€è¦½</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>開始åŒæ­¥è™•ç†æ‰€é¸éŠæˆ²è‡³è¿·ä½ ç´…白機</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>強化手把控制器</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>壓縮éžç´…白機éŠæˆ² ( 如其他模擬器的擴充模組 )</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>æ­æ—¥æ©Ÿç¨®é¡žåž‹</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>自訂 - æ¯æ¬¡éƒ½é¡¯ç¤ºè³‡æ–™å¤¾ç®¡ç†ç•Œé¢</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>刪除éŠæˆ²</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>刪除é è¨­çµ„åˆ</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>åœç”¨é é¢ / 資料夾</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>下載所有éŠæˆ²çš„å°é¢åœ–片</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>傾å°æ ¸å¿ƒ</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>使用「SELECTéµ + Aéµ æˆ– Béµ ã€ä»¥å•Ÿç”¨è‡ªå‹•é€£ç™¼æ–¼ Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>åœç”¨ epilepsy 防護</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;離開</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>常見å•ç­”集</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;檔案</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>覆寫自訂核心</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>é‡æ–°è¦†å¯«åŽŸå» æ ¸å¿ƒæª”案</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; éŠæˆ²å¹³å‡åˆ†å‰²è‡³è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; 以首ä½å­—æ¯åˆ†å‰²è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>éŠæˆ²å¹³å‡åˆ†å‰²è‡³è³‡æ–™å¤¾</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>版本歷程與GitHub網é </value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>全域通用命令列åƒæ•¸ ( é™å°ˆæ¥­çŽ©å®¶ä½¿ç”¨ ! )</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>您å¯ä»¥éš±è—é è¨­çš„原廠éŠæˆ²</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>éŠæˆ²é¸é …</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;說明</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>安è£æ“´å……模組</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;核心</value>
+ </data>
+ <data name="label1.Text">
+ <value>發佈日期 (YYYY-MM-DD) :</value>
+ </data>
+ <data name="label2.Text">
+ <value>發佈商 :</value>
+ </data>
+ <data name="label3.Text">
+ <value>命令列執行åƒæ•¸ ( é©ç”¨æ–¼é€²éšŽä½¿ç”¨è€…使用 ! ) :</value>
+ </data>
+ <data name="label4.Text">
+ <value>å°é¢åœ–片 :</value>
+ </data>
+ <data name="label5.Text">
+ <value>é¸æ“‡éŠæˆ² :</value>
+ </data>
+ <data name="label6.Text">
+ <value>éŠçŽ©äººæ•¸ :</value>
+ </data>
+ <data name="label7.Text">
+ <value>éŠæˆ²ä½œå¼Šä»£ç¢¼ ( 逗號分隔 ) :</value>
+ </data>
+ <data name="labelName.Text">
+ <value>éŠæˆ²å稱 :</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>語系</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>單一é é¢ / 資料夾è¦é¡¯ç¤ºå¤šå°‘éŠæˆ²</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;擴充模組</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>開啟 FTP 用戶端</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>é¸æ“‡éŠæˆ²å°é¢åœ–片</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>é¸æ“‡éŠæˆ²</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>開啟 Telnet 用戶端</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; éŠæˆ²å¹³å‡åˆ†å‰²åŠé é¢</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>éŠæˆ²å¹³å‡åˆ†å‰²åœ¨é é¢</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>é é¢ / 資料夾çµæ§‹</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>é¸æ“‡é è¨­çµ„åˆ</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>單人éŠæˆ²</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>雙人å„別éŠæˆ²</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>雙人åŒæ™‚éŠæˆ²</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>使用按éµçµ„åˆä¾†é‡å•Ÿ</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>儲存目å‰è¨­å®šè‡³è¿·ä½ ç´…白機</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>快速存檔管ç†å·¥å…·</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>æœå°‹</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>é¸æ“‡æ‰€æœ‰</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>é¸æ“‡é‡å•ŸæŒ‰éˆ•çµ„åˆ</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;設定</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet 伺æœå™¨åœ¨ Telnet://127.0.0.1:1023 (登入 : root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>開始åŒæ­¥è™•ç†</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>æ“·å–螢幕截圖</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;工具</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>解除安è£æ“´å……模組</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>解除安è£</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>å–消所有é¸å–</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>ã€Œä¸Šéµ + Aéµ + Béµã€= 2P控制器的Start</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>使用擴充字型</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>使用 Xéµ æˆ– Yéµ ç•¶ä½œå‚³çµ±æŽ§åˆ¶å™¨çš„ 自動連發 Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/MainForm.zh-TW.resx b/MainForm.zh-TW.resx
new file mode 100644
index 00000000..278956e7
--- /dev/null
+++ b/MainForm.zh-TW.resx
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="FTPToolStripMenuItem.Text">
+ <value>FTP 伺æœå™¨åœ¨ ftp://root:clover@127.0.0.1:1021</value>
+ </data>
+ <data name="aboutToolStripMenuItem.Text">
+ <value>關於...</value>
+ </data>
+ <data name="addMoreGamesToolStripMenuItem.Text">
+ <value>新增更多éŠæˆ²</value>
+ </data>
+ <data name="addPresetToolStripMenuItem.Text">
+ <value>新增é è¨­çµ„åˆ</value>
+ </data>
+ <data name="automaticOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; 自動放至å­è³‡æ–™å¤¾</value>
+ </data>
+ <data name="automaticToolStripMenuItem.Text">
+ <value>全自動</value>
+ </data>
+ <data name="buttonAddGames.Text">
+ <value>新增更多éŠæˆ²</value>
+ </data>
+ <data name="buttonBrowseImage.Text">
+ <value>ç€è¦½</value>
+ </data>
+ <data name="buttonStart.Text">
+ <value>開始åŒæ­¥è™•ç†æ‰€é¸éŠæˆ²è‡³è¿·ä½ ç´…白機</value>
+ </data>
+ <data name="cloverconHackToolStripMenuItem.Text">
+ <value>強化手把控制器</value>
+ </data>
+ <data name="compressGamesIfPossibleToolStripMenuItem.Text">
+ <value>壓縮éžç´…白機éŠæˆ² ( 如其他模擬器的擴充模組 )</value>
+ </data>
+ <data name="consoleTypeToolStripMenuItem.Text">
+ <value>æ­æ—¥æ©Ÿç¨®é¡žåž‹</value>
+ </data>
+ <data name="customToolStripMenuItem.Text">
+ <value>自訂 - æ¯æ¬¡éƒ½é¡¯ç¤ºè³‡æ–™å¤¾ç®¡ç†ç•Œé¢</value>
+ </data>
+ <data name="deleteGameToolStripMenuItem.Text">
+ <value>刪除éŠæˆ²</value>
+ </data>
+ <data name="deletePresetToolStripMenuItem.Text">
+ <value>刪除é è¨­çµ„åˆ</value>
+ </data>
+ <data name="disablePagefoldersToolStripMenuItem.Text">
+ <value>åœç”¨é é¢ / 資料夾</value>
+ </data>
+ <data name="downloadCoversForAllGamesToolStripMenuItem.Text">
+ <value>下載所有éŠæˆ²çš„å°é¢åœ–片</value>
+ </data>
+ <data name="dumpKernelToolStripMenuItem.Text">
+ <value>傾å°æ ¸å¿ƒ</value>
+ </data>
+ <data name="enableAutofireToolStripMenuItem.Text">
+ <value>使用「SELECTéµ + Aéµ æˆ– Béµ ã€ä»¥å•Ÿç”¨è‡ªå‹•é€£ç™¼æ–¼ Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="epilepsyProtectionToolStripMenuItem.Text">
+ <value>åœç”¨ epilepsy 防護</value>
+ </data>
+ <data name="exitToolStripMenuItem.Text">
+ <value>&amp;離開</value>
+ </data>
+ <data name="fAQToolStripMenuItem.Text">
+ <value>常見å•ç­”集</value>
+ </data>
+ <data name="fileToolStripMenuItem.Text">
+ <value>&amp;檔案</value>
+ </data>
+ <data name="flashCustomKernelToolStripMenuItem.Text">
+ <value>覆寫自訂核心</value>
+ </data>
+ <data name="flashOriginalKernelToolStripMenuItem.Text">
+ <value>é‡æ–°è¦†å¯«åŽŸå» æ ¸å¿ƒæª”案</value>
+ </data>
+ <data name="foldersOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; éŠæˆ²å¹³å‡åˆ†å‰²è‡³è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersSplitByFirstLetterOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; 以首ä½å­—æ¯åˆ†å‰²è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersSplitByFirstLetterToolStripMenuItem.Text">
+ <value>以首ä½å­—æ¯åˆ†å‰²è³‡æ–™å¤¾</value>
+ </data>
+ <data name="foldersToolStripMenuItem.Text">
+ <value>éŠæˆ²å¹³å‡åˆ†å‰²è‡³è³‡æ–™å¤¾</value>
+ </data>
+ <data name="gitHubPageWithActualReleasesToolStripMenuItem.Text">
+ <value>版本歷程與GitHub網é </value>
+ </data>
+ <data name="globalCommandLineArgumentsexpertsOnluToolStripMenuItem.Text">
+ <value>全域通用命令列åƒæ•¸ ( é™å°ˆæ¥­çŽ©å®¶ä½¿ç”¨ ! )</value>
+ </data>
+ <data name="groupBoxDefaultGames.Text">
+ <value>您å¯ä»¥éš±è—é è¨­çš„原廠éŠæˆ²</value>
+ </data>
+ <data name="groupBoxOptions.Text">
+ <value>éŠæˆ²é¸é …</value>
+ </data>
+ <data name="helpToolStripMenuItem.Text">
+ <value>&amp;說明</value>
+ </data>
+ <data name="installModulesToolStripMenuItem.Text">
+ <value>安è£æ“´å……模組</value>
+ </data>
+ <data name="kernelToolStripMenuItem.Text">
+ <value>&amp;核心</value>
+ </data>
+ <data name="label1.Text">
+ <value>發佈日期 (YYYY-MM-DD) :</value>
+ </data>
+ <data name="label2.Text">
+ <value>發佈商 :</value>
+ </data>
+ <data name="label3.Text">
+ <value>命令列執行åƒæ•¸ ( é©ç”¨æ–¼é€²éšŽä½¿ç”¨è€…使用 ! ) :</value>
+ </data>
+ <data name="label4.Text">
+ <value>å°é¢åœ–片 :</value>
+ </data>
+ <data name="label5.Text">
+ <value>é¸æ“‡éŠæˆ² :</value>
+ </data>
+ <data name="label6.Text">
+ <value>éŠçŽ©äººæ•¸ :</value>
+ </data>
+ <data name="label7.Text">
+ <value>éŠæˆ²ä½œå¼Šä»£ç¢¼ ( 逗號分隔 ) :</value>
+ </data>
+ <data name="labelName.Text">
+ <value>éŠæˆ²å稱 :</value>
+ </data>
+ <data name="languageToolStripMenuItem.Text">
+ <value>語系</value>
+ </data>
+ <data name="maximumGamesPerFolderToolStripMenuItem.Text">
+ <value>單一é é¢ / 資料夾è¦é¡¯ç¤ºå¤šå°‘éŠæˆ²</value>
+ </data>
+ <data name="modulesToolStripMenuItem.Text">
+ <value>&amp;擴充模組</value>
+ </data>
+ <data name="openFTPInExplorerToolStripMenuItem.Text">
+ <value>開啟 FTP 用戶端</value>
+ </data>
+ <data name="openFileDialogImage.Title">
+ <value>é¸æ“‡éŠæˆ²å°é¢åœ–片</value>
+ </data>
+ <data name="openFileDialogNes.Title">
+ <value>é¸æ“‡éŠæˆ²</value>
+ </data>
+ <data name="openTelnetToolStripMenuItem.Text">
+ <value>開啟 Telnet 用戶端</value>
+ </data>
+ <data name="pagesOriginalToolStripMenuItem.Text">
+ <value>原廠éŠæˆ²åœ¨æ ¹ç›®éŒ„ -&gt; éŠæˆ²å¹³å‡åˆ†å‰²åŠé é¢</value>
+ </data>
+ <data name="pagesToolStripMenuItem.Text">
+ <value>éŠæˆ²å¹³å‡åˆ†å‰²åœ¨é é¢</value>
+ </data>
+ <data name="pagesfoldersTypeToolStripMenuItem.Text">
+ <value>é é¢ / 資料夾çµæ§‹</value>
+ </data>
+ <data name="presetsToolStripMenuItem.Text">
+ <value>é¸æ“‡é è¨­çµ„åˆ</value>
+ </data>
+ <data name="radioButtonOne.Text">
+ <value>單人éŠæˆ²</value>
+ </data>
+ <data name="radioButtonTwo.Text">
+ <value>雙人å„別éŠæˆ²</value>
+ </data>
+ <data name="radioButtonTwoSim.Text">
+ <value>雙人åŒæ™‚éŠæˆ²</value>
+ </data>
+ <data name="resetUsingCombinationOfButtonsToolStripMenuItem.Text">
+ <value>使用按éµçµ„åˆä¾†é‡å•Ÿ</value>
+ </data>
+ <data name="saveSettingsToNESMiniNowToolStripMenuItem.Text">
+ <value>儲存目å‰è¨­å®šè‡³è¿·ä½ ç´…白機</value>
+ </data>
+ <data name="saveStateManagerToolStripMenuItem.Text">
+ <value>快速存檔管ç†å·¥å…·</value>
+ </data>
+ <data name="searchToolStripMenuItem.Text">
+ <value>æœå°‹</value>
+ </data>
+ <data name="selectAllToolStripMenuItem.Text">
+ <value>é¸æ“‡æ‰€æœ‰</value>
+ </data>
+ <data name="selectButtonCombinationToolStripMenuItem.Text">
+ <value>é¸æ“‡é‡å•ŸæŒ‰éˆ•çµ„åˆ</value>
+ </data>
+ <data name="settingsToolStripMenuItem.Text">
+ <value>&amp;設定</value>
+ </data>
+ <data name="shellToolStripMenuItem.Text">
+ <value>Telnet 伺æœå™¨åœ¨ Telnet://127.0.0.1:1023 (登入 : root)</value>
+ </data>
+ <data name="synchronizeToolStripMenuItem.Text">
+ <value>開始åŒæ­¥è™•ç†</value>
+ </data>
+ <data name="takeScreenshotToolStripMenuItem.Text">
+ <value>æ“·å–螢幕截圖</value>
+ </data>
+ <data name="toolsToolStripMenuItem.Text">
+ <value>&amp;工具</value>
+ </data>
+ <data name="uninstallModulesToolStripMenuItem.Text">
+ <value>解除安è£æ“´å……模組</value>
+ </data>
+ <data name="uninstallToolStripMenuItem.Text">
+ <value>解除安è£</value>
+ </data>
+ <data name="unselectAllToolStripMenuItem.Text">
+ <value>å–消所有é¸å–</value>
+ </data>
+ <data name="upABStartOnSecondControllerToolStripMenuItem.Text">
+ <value>ã€Œä¸Šéµ + Aéµ + Béµã€= 2P控制器的Start</value>
+ </data>
+ <data name="useExtendedFontToolStripMenuItem.Text">
+ <value>使用擴充字型</value>
+ </data>
+ <data name="useXYOnClassicControllerAsAutofireABToolStripMenuItem.Text">
+ <value>使用 Xéµ æˆ– Yéµ ç•¶ä½œå‚³çµ±æŽ§åˆ¶å™¨çš„ 自動連發 Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="dumpNANDBToolStripMenuItem.Text">
+ <value>Dump decrypted NAND-B partition</value>
+ </data>
+ <data name="dumpTheWholeNANDToolStripMenuItem.Text">
+ <value>Dump the whole NAND flash</value>
+ </data>
+ <data name="saveDumpFileDialog.Title">
+ <value>Select dump filename</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/NesDefaultGame.cs b/NesDefaultGame.cs
index 6d4fae29..b3ee8c04 100644
--- a/NesDefaultGame.cs
+++ b/NesDefaultGame.cs
@@ -22,5 +22,13 @@ namespace com.clusterrr.hakchi_gui
{
return Name;
}
+
+ private int size;
+
+ public int Size
+ {
+ get { return size; }
+ set { size = value; }
+ }
}
}
diff --git a/NesMenuCollection.cs b/NesMenuCollection.cs
index 0127d2c9..a82a9c57 100644
--- a/NesMenuCollection.cs
+++ b/NesMenuCollection.cs
@@ -39,7 +39,8 @@ namespace com.clusterrr.hakchi_gui
case SplitStyle.Original_FoldersEqual:
case SplitStyle.Original_PagesEqual:
style--;
- originalToRoot = true;
+ if (this.Where(o => o is NesDefaultGame).Count() > 0)
+ originalToRoot = true;
break;
}
if (style == SplitStyle.NoSplit && !originalToRoot) return;
@@ -57,6 +58,8 @@ namespace com.clusterrr.hakchi_gui
{
root = new NesMenuCollection();
root.AddRange(this.Where(o => !(o is NesDefaultGame)));
+ if (root.Count == 0)
+ return;
this.RemoveAll(o => !(o is NesDefaultGame));
this.Add(new NesMenuFolder()
{
diff --git a/NesMenuFolder.cs b/NesMenuFolder.cs
index 657ff3c7..494ef501 100644
--- a/NesMenuFolder.cs
+++ b/NesMenuFolder.cs
@@ -12,7 +12,7 @@ namespace com.clusterrr.hakchi_gui
{
static Random rnd = new Random();
static ResourceManager rm = Resources.ResourceManager;
- public static readonly string FolderImagesDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "folder_images");
+ public static readonly string FolderImagesDirectory = Path.Combine(Program.BaseDirectoryExternal, "folder_images");
private int childIndex = 0;
@@ -195,7 +195,7 @@ namespace com.clusterrr.hakchi_gui
get { return imageId; }
set
{
- var folderImagesDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "folder_images");
+ var folderImagesDirectory = Path.Combine(Program.BaseDirectoryExternal, "folder_images");
var filePath = Path.Combine(folderImagesDirectory, value + ".png");
if (File.Exists(filePath))
image = NesMiniApplication.LoadBitmap(filePath);
@@ -205,7 +205,7 @@ namespace com.clusterrr.hakchi_gui
}
}
- public void Save(string path)
+ public long Save(string path)
{
Directory.CreateDirectory(path);
var ConfigPath = Path.Combine(path, Code + ".desktop");
@@ -237,7 +237,7 @@ namespace com.clusterrr.hakchi_gui
"Exec=/bin/chmenu {1:D3} {8}\n" +
"Path=/var/lib/clover/profiles/0/FOLDER\n" +
"Name={2}\n" +
- "Icon=/usr/share/games/nes/kachikachi/{0}/{0}.png\n\n" +
+ "Icon={9}/{0}/{0}.png\n\n" +
"[X-CLOVER Game]\n" +
"Code={0}\n" +
"TestID=777\n" +
@@ -251,10 +251,11 @@ namespace com.clusterrr.hakchi_gui
"Copyright=hakchi2 ©2017 Alexey 'Cluster' Avdyukhin\n",
Code, ChildIndex, Name ?? Code, Players, ReleaseDate,
prefix + (Name ?? Code).ToLower(), (Publisher ?? "").ToUpper(),
- Simultaneous, Initial)
+ Simultaneous, Initial, NesMiniApplication.GamesCloverPath)
);
Image.Save(IconPath, ImageFormat.Png);
ImageThumbnail.Save(ThumnnailIconPath, ImageFormat.Png);
+ return new FileInfo(ConfigPath).Length + new FileInfo(IconPath).Length + new FileInfo(ThumnnailIconPath).Length;
}
public override string ToString()
diff --git a/Program.cs b/Program.cs
index d39f96b4..8ae34e00 100644
--- a/Program.cs
+++ b/Program.cs
@@ -1,9 +1,18 @@
-using System;
+#pragma warning disable 0618
+using com.clusterrr.hakchi_gui.Properties;
+using Microsoft.Win32.SafeHandles;
+using System;
+using System.Deployment.Application;
using System.Diagnostics;
+using System.Globalization;
using System.IO;
+using System.Reflection;
using System.Runtime.InteropServices;
+using System.Security.Principal;
+using System.Text;
using System.Threading;
using System.Windows.Forms;
+using System.Xml;
namespace com.clusterrr.hakchi_gui
{
@@ -12,10 +21,24 @@ namespace com.clusterrr.hakchi_gui
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetForegroundWindow(IntPtr hWnd);
+
+ [DllImport("user32.dll")]
+ [return: MarshalAs(UnmanagedType.Bool)]
+ static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
+
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
+ [DllImport("kernel32.dll", SetLastError = true)]
+ private static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess, uint dwShareMode, uint lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, uint hTemplateFile);
+
+ private const int MY_CODE_PAGE = 437;
+ private const uint GENERIC_WRITE = 0x40000000;
+ private const uint FILE_SHARE_WRITE = 0x2;
+ private const uint OPEN_EXISTING = 0x3;
+ public static string BaseDirectoryInternal, BaseDirectoryExternal;
+
/// <summary>
/// The main entry point for the application.
/// </summary>
@@ -23,36 +46,192 @@ namespace com.clusterrr.hakchi_gui
static void Main()
{
#if DEBUG
- AllocConsole();
- Stream logFile = File.Create("debuglog.txt");
- Debug.Listeners.Add(new TextWriterTraceListener(logFile));
- Debug.Listeners.Add(new TextWriterTraceListener(System.Console.Out));
+ try
+ {
+ AllocConsole();
+ IntPtr stdHandle = CreateFile("CONOUT$", GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
+ SafeFileHandle safeFileHandle = new SafeFileHandle(stdHandle, true);
+ FileStream fileStream = new FileStream(safeFileHandle, FileAccess.Write);
+ Encoding encoding = System.Text.Encoding.GetEncoding(MY_CODE_PAGE);
+ StreamWriter standardOutput = new StreamWriter(fileStream, encoding);
+ standardOutput.AutoFlush = true;
+ Console.SetOut(standardOutput);
+ Debug.Listeners.Add(new TextWriterTraceListener(System.Console.Out));
+ }
+ catch { }
+ try
+ {
+ Stream logFile = File.Create("debuglog.txt");
+ Debug.Listeners.Add(new TextWriterTraceListener(logFile));
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ }
Debug.AutoFlush = true;
#endif
- bool createdNew = true;
- using (Mutex mutex = new Mutex(true, "hakchi2", out createdNew))
+ try
{
- if (createdNew)
- {
- Debug.WriteLine("Starting...");
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new MainForm());
- Debug.WriteLine("Done.");
- }
- else
+ bool createdNew = true;
+ using (Mutex mutex = new Mutex(true, "hakchi2", out createdNew))
{
- Process current = Process.GetCurrentProcess();
- foreach (Process process in Process.GetProcessesByName(current.ProcessName))
+ if (createdNew)
+ {
+ BaseDirectoryInternal = Path.GetDirectoryName(Application.ExecutablePath);
+ if (ApplicationDeployment.IsNetworkDeployed)
+ {
+ // This is not correct way for Windows 7+...
+ BaseDirectoryExternal = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "hakchi2");
+ // So if it's not exists, lets try to get documents library path (Win7+)
+ try
+ {
+ if (!Directory.Exists(BaseDirectoryExternal))
+ BaseDirectoryExternal = Path.Combine(GetDocumentsLibraryPath(), "hakchi2");
+ }
+ catch (Exception ex)
+ {
+ // TODO: Test it on Windows XP
+ Debug.WriteLine(ex.Message);
+ }
+ }
+ else
+ BaseDirectoryExternal = BaseDirectoryInternal;
+ Debug.WriteLine("Base directory: " + BaseDirectoryExternal);
+ ConfigIni.Load();
+ try
+ {
+ if (!string.IsNullOrEmpty(ConfigIni.Language))
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo(ConfigIni.Language);
+ }
+ catch { }
+
+ // There are some folders which should be accessed by user
+ // Moving them to "My documents"
+ if (ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun)
+ {
+ var externalDirs = new string[]
+ {
+ "art", "folder_images", "patches", "user_mods"
+ };
+ foreach (var dir in externalDirs)
+ DirectoryCopy(Path.Combine(BaseDirectoryInternal, dir), Path.Combine(BaseDirectoryExternal, dir), true);
+ }
+
+ string languagesDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "languages");
+ const string langFileNames = "hakchi.resources.dll";
+ AppDomain.CurrentDomain.AppendPrivatePath(languagesDirectory);
+ // For updates
+ var oldFiles = Directory.GetFiles(Path.GetDirectoryName(Application.ExecutablePath), langFileNames, SearchOption.AllDirectories);
+ foreach (var d in oldFiles)
+ if (!d.Contains(@"\languages\"))
+ {
+ var dir = Path.GetDirectoryName(d);
+ Debug.WriteLine("Removing old directory: " + dir);
+ if (ApplicationDeployment.IsNetworkDeployed)
+ {
+ var targetDir = Path.Combine(languagesDirectory, Path.GetFileName(dir));
+ Directory.CreateDirectory(targetDir);
+ var targetFile = Path.Combine(targetDir, langFileNames);
+ if (File.Exists(targetFile))
+ File.Delete(targetFile);
+ File.Move(Path.Combine(dir, langFileNames), targetFile);
+ }
+ else
+ Directory.Delete(dir, true);
+ }
+
+ Debug.WriteLine("Starting, version: " + Assembly.GetExecutingAssembly().GetName().Version);
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new MainForm());
+ Debug.WriteLine("Done.");
+ }
+ else
{
- if (process.Id != current.Id)
+ Process current = Process.GetCurrentProcess();
+ foreach (Process process in Process.GetProcessesByName("hakchi"))
{
- SetForegroundWindow(process.MainWindowHandle);
- break;
+ if (process.Id != current.Id)
+ {
+ ShowWindow(process.MainWindowHandle, 9); // Restore
+ SetForegroundWindow(process.MainWindowHandle); // Foreground
+ break;
+ }
}
}
}
}
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(ex.Message + ex.StackTrace, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
+ {
+ // Get the subdirectories for the specified directory.
+ DirectoryInfo dir = new DirectoryInfo(sourceDirName);
+
+ if (!dir.Exists)
+ {
+ throw new DirectoryNotFoundException(
+ "Source directory does not exist or could not be found: "
+ + sourceDirName);
+ }
+
+ DirectoryInfo[] dirs = dir.GetDirectories();
+ // If the destination directory doesn't exist, create it.
+ if (!Directory.Exists(destDirName))
+ {
+ Directory.CreateDirectory(destDirName);
+ }
+
+ // Get the files in the directory and copy them to the new location.
+ FileInfo[] files = dir.GetFiles();
+ foreach (FileInfo file in files)
+ {
+ string temppath = Path.Combine(destDirName, file.Name);
+ file.CopyTo(temppath, true);
+ }
+
+ // If copying subdirectories, copy them and their contents to new location.
+ if (copySubDirs)
+ {
+ foreach (DirectoryInfo subdir in dirs)
+ {
+ string temppath = Path.Combine(destDirName, subdir.Name);
+ DirectoryCopy(subdir.FullName, temppath, copySubDirs);
+ }
+ }
+ }
+
+ [DllImport("Shell32.dll")]
+ private static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)]Guid rfid, uint dwFlags,
+ IntPtr hToken, out IntPtr ppszPath);
+ private static string GetDocumentsLibraryPath()
+ {
+ IntPtr outPath;
+ var documentsLibraryGuid = new Guid("7B0DB17D-9CD2-4A93-9733-46CC89022E7C");
+ int result = SHGetKnownFolderPath(documentsLibraryGuid, 0, WindowsIdentity.GetCurrent().Token, out outPath);
+ if (result >= 0)
+ {
+ var libConfigPath = Marshal.PtrToStringUni(outPath);
+ var libConfig = new XmlDocument();
+ libConfig.LoadXml(File.ReadAllText(libConfigPath));
+ var nsmgr = new XmlNamespaceManager(libConfig.NameTable);
+ nsmgr.AddNamespace("ns", libConfig.LastChild.NamespaceURI);
+ var docs = libConfig.SelectSingleNode("//ns:searchConnectorDescription[ns:isDefaultSaveLocation='true']/ns:simpleLocation/ns:url/text()", nsmgr);
+ if (Directory.Exists(docs.Value))
+ return docs.Value;
+ else
+ throw new Exception("Invalid Documents directory: " + docs.Value);
+ }
+ else
+ {
+ throw new ExternalException("Cannot get the known folder path. It may not be available on this system.",
+ result);
+ }
}
}
}
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
index 08824646..3ef96b86 100644
--- a/Properties/AssemblyInfo.cs
+++ b/Properties/AssemblyInfo.cs
@@ -1,12 +1,13 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
+using System.Resources;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("hakchi2")]
-[assembly: AssemblyDescription("Based on hakchi by madmonkey.\r\n\r\nSpecial thanks:\r\nxsnake for Japanese font.\r\nPete Batard/Akeo for Zadig.\r\npbatard for libwdi.\r\nThomas Bleeker for WinUSBNet lib.\r\nbootgod for cartridge database.\r\nMarkovtsev Vadim for SevenZipSharp lib.\r\nNeoRame for Graphics.\r\nNhakin for Game Genie database.\r\nNintendo for my childhood.\r\n\r\nMy site: http://clusterrr.com\r\nEmail: clusterrr@clusterrr.com\r\nPayPal for donations: clusterrr@clusterrr.com")]
+[assembly: AssemblyDescription("Based on hakchi by madmonkey.\r\n\r\nTranslators:\r\nBritish English: Jhynjhiruu Rekrap\r\nFrench: Ac_K\r\nSpanish of Spain: Naiki (https://twitter.com/___naiki___)\r\nSpanish of Argentina: KNTRO (kntro@msn.com)\r\nGerman: Peamur\r\nItalian: student\r\nCatalan: Truchen (tarduschl@hotmail.com)\r\nDutch: Mark Dekker - Mad Mega\r\nSlovak: Patrik Žec aka PATWIST\r\nGerman: Peamur\r\nGreek: MiLToS_666 (miltos.arpazopoulos@gmail.com)\r\nFinnish: Luoti-Lasse\r\nBulgarian: Jelmer de Groot\r\nChinese: ä¹äº”二七 <3q.9527.tw>\r\nUkrainian: ПеÑтренко ОлекÑа <general1308@gmail.com>\r\n\r\nSpecial thanks:\r\nxsnake for Japanese font.\r\nPete Batard/Akeo for Zadig.\r\npbatard for libwdi.\r\nThomas Bleeker for WinUSBNet lib.\r\nbootgod for cartridge database.\r\nMarkovtsev Vadim for SevenZipSharp lib.\r\nNeoRame for Graphics.\r\nNhakin for Game Genie database.\r\nmooware for mooftpserv.\r\nNintendo for my childhood.\r\n\r\nMy site: http://clusterrr.com\r\nEmail: clusterrr@clusterrr.com\r\nPayPal for donations: clusterrr@clusterrr.com")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Alexey 'Cluster' Avdyukhin")]
[assembly: AssemblyProduct("hakchi2")]
@@ -32,5 +33,6 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.0.13.14")]
-[assembly: AssemblyFileVersion("2.0.13.14")]
+[assembly: AssemblyVersion("2.0.18.11")]
+[assembly: AssemblyFileVersion("2.0.18.11")]
+[assembly: NeutralResourcesLanguageAttribute("en-US")]
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
index 478062b8..3afb4a5d 100644
--- a/Properties/Resources.Designer.cs
+++ b/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18444
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -31,7 +31,7 @@ namespace com.clusterrr.hakchi_gui.Properties {
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
-
+
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
@@ -70,6 +70,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to All files.
+ /// </summary>
+ internal static string AllFiles {
+ get {
+ return ResourceManager.GetString("AllFiles", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Are you sure?.
/// </summary>
internal static string AreYouSure {
@@ -99,6 +108,26 @@ namespace com.clusterrr.hakchi_gui.Properties {
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
+ internal static System.Drawing.Bitmap blank_2600 {
+ get {
+ object obj = ResourceManager.GetObject("blank_2600", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
+ internal static System.Drawing.Bitmap blank_32x {
+ get {
+ object obj = ResourceManager.GetObject("blank_32x", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
internal static System.Drawing.Bitmap blank_app {
get {
object obj = ResourceManager.GetObject("blank_app", resourceCulture);
@@ -109,6 +138,16 @@ namespace com.clusterrr.hakchi_gui.Properties {
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
+ internal static System.Drawing.Bitmap blank_arcade {
+ get {
+ object obj = ResourceManager.GetObject("blank_arcade", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
internal static System.Drawing.Bitmap blank_fds {
get {
object obj = ResourceManager.GetObject("blank_fds", resourceCulture);
@@ -159,6 +198,16 @@ namespace com.clusterrr.hakchi_gui.Properties {
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
+ internal static System.Drawing.Bitmap blank_gg {
+ get {
+ object obj = ResourceManager.GetObject("blank_gg", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
internal static System.Drawing.Bitmap blank_jp {
get {
object obj = ResourceManager.GetObject("blank_jp", resourceCulture);
@@ -179,6 +228,16 @@ namespace com.clusterrr.hakchi_gui.Properties {
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
+ internal static System.Drawing.Bitmap blank_neogeo {
+ get {
+ object obj = ResourceManager.GetObject("blank_neogeo", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
internal static System.Drawing.Bitmap blank_nes {
get {
object obj = ResourceManager.GetObject("blank_nes", resourceCulture);
@@ -316,6 +375,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Do you really want to delete those save-states?.
+ /// </summary>
+ internal static string DeleteSavesQ {
+ get {
+ return ResourceManager.GetString("DeleteSavesQ", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to P.S. If you like it, you can donate to me. You can find my PayPal in the &quot;About&quot; box..
/// </summary>
internal static string Donate {
@@ -386,7 +454,18 @@ namespace com.clusterrr.hakchi_gui.Properties {
return ResourceManager.GetString("DumpingKernel", resourceCulture);
}
}
-
+
+ /// <summary>
+ /// Looks up a localized string similar to Dumping kernel....
+ /// </summary>
+ internal static string DumpingNand
+ {
+ get
+ {
+ return ResourceManager.GetString("DumpingNand", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to Do you want to dump the kernel?.
/// </summary>
@@ -395,7 +474,18 @@ namespace com.clusterrr.hakchi_gui.Properties {
return ResourceManager.GetString("DumpKernelQ", resourceCulture);
}
}
-
+
+ /// <summary>
+ /// Looks up a localized string similar to Do you want to dump the kernel?.
+ /// </summary>
+ internal static string DumpNandQ
+ {
+ get
+ {
+ return ResourceManager.GetString("DumpNandQ", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to Error.
/// </summary>
@@ -820,7 +910,18 @@ namespace com.clusterrr.hakchi_gui.Properties {
return ResourceManager.GetString("FolderNameUnsorted", resourceCulture);
}
}
-
+
+ /// <summary>
+ /// Looks up a localized string similar to Membooting.
+ /// </summary>
+ internal static string Membooting
+ {
+ get
+ {
+ return ResourceManager.GetString("Membooting", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to Do you want to save this folder structure?.
/// </summary>
@@ -877,6 +978,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Games and apps.
+ /// </summary>
+ internal static string GamesAndApps {
+ get {
+ return ResourceManager.GetString("GamesAndApps", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to games(s) selected.
/// </summary>
internal static string GamesSelected {
@@ -940,6 +1050,16 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
+ internal static System.Drawing.Bitmap green {
+ get {
+ object obj = ResourceManager.GetObject("green", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Hello.
/// </summary>
internal static string Hello {
@@ -949,6 +1069,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Images.
+ /// </summary>
+ internal static string Images {
+ get {
+ return ResourceManager.GetString("Images", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Please input a preset name for the current games selection..
/// </summary>
internal static string InputPreset {
@@ -992,7 +1121,18 @@ namespace com.clusterrr.hakchi_gui.Properties {
return ResourceManager.GetString("KernelDumped", resourceCulture);
}
}
-
+
+ /// <summary>
+ /// Looks up a localized string similar to Your original kernel is saved in the &quot;dump&quot; folder. Do not lose it. .
+ /// </summary>
+ internal static string NandDumped
+ {
+ get
+ {
+ return ResourceManager.GetString("NandDumped", resourceCulture);
+ }
+ }
+
/// <summary>
/// Looks up a localized string similar to Loading games....
/// </summary>
@@ -1048,6 +1188,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Total writable memory size: {0:F1}MBytes|Available memory for games: {1:F1}MBytes|Used by saves: {2:F1}MBytes|Used by other files: {3:F1}MBytes.
+ /// </summary>
+ internal static string MemoryStats {
+ get {
+ return ResourceManager.GetString("MemoryStats", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to New games are moved to the &quot;Unsorted&quot; folder..
/// </summary>
internal static string NewGamesUnsorted {
@@ -1111,6 +1260,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Can&apos;t start Telnet client, seems like it&apos;s disabled. You need to enable it first, you can do it in “Control Panel“ -&gt; “Programs“ -&gt; &quot;Turn Windows features on or off&quot;..
+ /// </summary>
+ internal static string NoTelnet {
+ get {
+ return ResourceManager.GetString("NoTelnet", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Not found:.
/// </summary>
internal static string NotFound {
@@ -1174,6 +1332,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Please wait....
+ /// </summary>
+ internal static string PleaseWait {
+ get {
+ return ResourceManager.GetString("PleaseWait", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Press OK to continue..
/// </summary>
internal static string PressOkToContinue {
@@ -1183,6 +1350,16 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ /// </summary>
+ internal static System.Drawing.Bitmap red {
+ get {
+ object obj = ResourceManager.GetObject("red", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to You already have the kernel dump. If you REALLY want to replace the backup of your kernel and you REALLY understand what you are doing, delete the &quot;dump&quot; folder manually..
/// </summary>
internal static string ReplaceKernelQ {
@@ -1192,6 +1369,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to NES Mini save-state backups.
+ /// </summary>
+ internal static string SavesFlterName {
+ get {
+ return ResourceManager.GetString("SavesFlterName", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Select at least one game..
/// </summary>
internal static string SelectAtLeast {
@@ -1228,6 +1414,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Size of selected save-states: {0}KB.
+ /// </summary>
+ internal static string SizeOfSaves {
+ get {
+ return ResourceManager.GetString("SizeOfSaves", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Don&apos;t forget to perform a factory reset if you want to delete all Suspend Points..
/// </summary>
internal static string UninstallFactoryNote {
@@ -1273,6 +1468,24 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Unknown game.
+ /// </summary>
+ internal static string UnknownGame {
+ get {
+ return ResourceManager.GetString("UnknownGame", resourceCulture);
+ }
+ }
+
+ /// <summary>
+ /// Looks up a localized string similar to Uploading new config....
+ /// </summary>
+ internal static string UploadingConfig {
+ get {
+ return ResourceManager.GetString("UploadingConfig", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Uploading and running FES-1....
/// </summary>
internal static string UploadingFes1 {
@@ -1300,6 +1513,15 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
+ /// Looks up a localized string similar to Processing original games....
+ /// </summary>
+ internal static string UploadingOriginalGames {
+ get {
+ return ResourceManager.GetString("UploadingOriginalGames", resourceCulture);
+ }
+ }
+
+ /// <summary>
/// Looks up a localized string similar to Verify failed :O This is not good..
/// </summary>
internal static string VerifyFailed {
@@ -1345,15 +1567,6 @@ namespace com.clusterrr.hakchi_gui.Properties {
}
/// <summary>
- /// Looks up a localized string similar to Please use the Zadig utility to install the driver on Windows XP/2000..
- /// </summary>
- internal static string XpZadig {
- get {
- return ResourceManager.GetString("XpZadig", resourceCulture);
- }
- }
-
- /// <summary>
/// Looks up a localized string similar to Yes.
/// </summary>
internal static string Yes {
diff --git a/Properties/Resources.bg-BG.resx b/Properties/Resources.bg-BG.resx
new file mode 100644
index 00000000..24b7c667
--- /dev/null
+++ b/Properties/Resources.bg-BG.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Обработка на играта, Ð¼Ð¾Ð»Ñ Ð¸Ð·Ñ‡Ð°ÐºÐ°Ð¹Ñ‚Ðµ...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Ð’Ñички файлове</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Сигурни ли Ñте?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Данните Ñа попълнени автоматично за {0} игра (и).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Задръжте Изберете + A / B за Ñекунда, за да включите / изключите autofire A / B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Изграждане на потребителÑкото изображение на Ñдрото.</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Изграждане Ñтруктура на папката</value>
+ </data>
+ <data name="Congratulations">
+ <value>ПоздравлениÑ!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>ПерÑонализирано Ñдро</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>ИÑкате ли потребителÑкото Ñдро да мига?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Сега Ñ‚Ñ€Ñбва да перÑонализираш Ñдрото на Ð²Ð°ÑˆÐ¸Ñ NES Mini да мига. Това Ñе изиÑква Ñамо веднъж. ИÑкаш ли да продължиш?</value>
+ </data>
+ <data name="Default30games">
+ <value>Оригинални 30 игри</value>
+ </data>
+ <data name="DeleteElement">
+ <value>ÐаиÑтина ли иÑкаш да изтриеш – 0?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>ИÑкате ли да изтриете §0§ елементи?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>ИÑкаш ли наиÑтина да изтриеш "{0}" игра?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>ÐаиÑтина ли иÑкате да изтриете предварително зададеното "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>ÐаиÑтина ли иÑкате да изтриете тези запазени ÑÑŠÑтоÑниÑ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>ИÑкаш ли да анулираш текущата операциÑ?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>ИÑкаш ли да продължиш?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Ðко ви хареÑва, можете да ми дадете дарение. Можете да намерите Ð¼Ð¾Ñ PayPal в полето "About".</value>
+ </data>
+ <data name="Done">
+ <value>Готово!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Готово! Сега можеш да качиш игрите на твоето NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>ИзтеглÑне на box art за вÑички игри (ЧувÑтвам Ñе къÑметлиÑ!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>ИÑкаш ли да разтовариш Ñдрото?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Разтоварване на Ñдрото...</value>
+ </data>
+ <data name="Error">
+ <value>Грешка</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>ИзпълнÑване на команда:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Можете да добавите глобални аргументи от ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´, които ще бъдат добавени към вÑички игри, включително оригинала 30. Това е Ñамо за екÑперти!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Допълнителни аргументи на ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ´</value>
+ </data>
+ <data name="FirstRun">
+ <value>Здравей! Много Ñе радвам, че използвате hakchi2. Това е много проÑто за използване. ПроÑто кликнете върху "ДобавÑне на още игри", изберете нÑкои ROM, натиÑнете "Синхронизиране" и Ñледвайте инÑтрукциите. КъÑмет!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Примигване на перÑонализираното Ñдро...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Примигване на оригиналното Ñдро...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Изтритото Ñъдържание ще бъде премеÑтено в кошчето. Можете да изтриете тази папка поÑтоÑнно или да премеÑтите игри в други папки.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Обратно</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Още игри...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Ðова папка</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Оригинални 30 игри</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Кошче</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>ÐеÑортирани</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Папка "{0}" cъдържа {1} eлементи.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>ИÑкате ли да запазите Ñтруктурата на папката?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>За Ñъжаление, {0} използва режим на четири екрана (Ñ‚.е. играта има допълнителна VRAM памет в каÑетата) и тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ Ñе поддържа от NES Mini. Играта вероÑтно нÑма да започне. Ðо това Ñ‚Ñ€Ñбва да работи, ако модулът на Ð´Ñ€ÑƒÐ³Ð¸Ñ ÐµÐ¼ÑƒÐ»Ð°Ñ‚Ð¾Ñ€ е инÑталиран. ИÑкате ли да добавите тази игра така или иначе?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>ИÑкате ли да изтриете "{0}" кода?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>ТрÑбва да въведеш кода!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Този код вече ÑъщеÑтвува. ИÑкаш ли да го корегираш?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>ТрÑбва да въведеш опиÑание!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Ðевалиден код за Genie на играта "{0}" за игра "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Ðе може да Ñе приложи кодът на играта "Genie" {0} "в игра" {1} "- ÑтойноÑтта не е намерена. Може би този код е за друга игра?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Игри и приложениÑ</value>
+ </data>
+ <data name="GamesSelected">
+ <value>игра(и) избрани</value>
+ </data>
+ <data name="GooglingFor">
+ <value>ТърÑене в Google на</value>
+ </data>
+ <data name="Hello">
+ <value>Здравей</value>
+ </data>
+ <data name="Images">
+ <value>ИзображениÑ</value>
+ </data>
+ <data name="InputPreset">
+ <value>МолÑ, въведете предварително зададено име за Ñ‚ÐµÐºÑƒÑ‰Ð¸Ñ Ð¸Ð·Ð±Ð¾Ñ€ на игри.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>ИнÑталиране на модификации</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ðевалидно заглавие на Ñдрото</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ðевалиден размер на Ñдрото:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Оригиналното ви Ñдро Ñе запазва в папката "hakchi2\dump". Ðе го губете.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Игрите Ñе зареждат...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Ядрото е изхвърлено, но контролната Ñума на MD5 е неизвеÑтна:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Ядрото вече е закопчано или това е неизвеÑтна верÑиÑ. МолÑ, изпратете ми това Ñъобщение (натиÑнете Ctrl + C). Продължете на Ñвой ÑобÑтвен риÑк.</value>
+ </data>
+ <data name="MainMenu">
+ <value>HOME Меню</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>За Ñъжаление, {0} използва режим на четири екрана (Ñ‚.е. играта има допълнителна VRAM памет в каÑетата) и тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ Ñе поддържа от NES Mini. Играта вероÑтно нÑма да започне. Ðо това Ñ‚Ñ€Ñбва да работи, ако модулът на Ð´Ñ€ÑƒÐ³Ð¸Ñ ÐµÐ¼ÑƒÐ»Ð°Ñ‚Ð¾Ñ€ е инÑталиран. ИÑкате ли да добавите тази игра така или иначе?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>СъжалÑваме, има {0} MBytes на тези игри, това е прекалено много.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Общ размер на запиÑваемата памет: {0: F1} MBytes | Ðалична памет за игри: {1: F1} MBytes | Използван от запазва: {2: F1} MBytes | Използвана от други файлове: {3: F1} MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Ðовите игри Ñе премеÑтват в папката "ÐеÑортирани".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Предварително зададена нова ÑелекциÑ</value>
+ </data>
+ <data name="No">
+ <value>Ðе</value>
+ </data>
+ <data name="NoForAll">
+ <value>Ðе за вÑички</value>
+ </data>
+ <data name="NoKernel">
+ <value>Ðе бе открито Ñдрото.</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Ðе бе открито Ñдрото на Ñдрото. Ðай-напред Ñ‚Ñ€Ñбва да изхвърлите Ñдрото.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Ðе може да Ñе Ñтартира Telnet клиент, изглежда ÑÑкаш е деактивиран. ТрÑбва първо да го активирате, можете да го направите в "Контролен панел" - &amp; gt; "Програми" - &amp; gt; Msgstr "Включване или изключване на функциите на Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Ðе е намерено:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>ИÑкате ли да мига оригиналното Ñдро?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Кръпка на разположение</value>
+ </data>
+ <data name="PatchQ">
+ <value>Има кръпка за "{0}". ИÑкате ли да промените тази игра?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Ðко този проблем продължава, опитайте да използвате друг USB порт или кабел.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>МолÑ, изчакай...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>ÐатиÑнете ОК, за да продължите.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Вече имате дъмп от Ñдрото. Ðко наиÑтина иÑкате да замените архива на вашето Ñдро и вие наиÑтина разберете какво правите, изтрийте папката "hakchi2\dump" ръчно.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Запазени резервни ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Избери поне една игра.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Изберете поÑледните два бутона.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Изберете кои модули да инÑталирате на Ð²Ð°ÑˆÐ¸Ñ NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Изберете кои модули да премахнете от Ð²Ð°ÑˆÐ¸Ñ NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Размери на запазените ÑÑŠÑтоÑниÑ</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Ðе забравÑйте да извършите фабрично нулиране, ако иÑкате да изтриете вÑички точки за Ñпиране.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>ÐаиÑтина ли иÑкате да премахнете вÑички Ñледи от hakchi2 и да върнете NES Mini в първоначалното Ñи ÑÑŠÑтоÑние?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Готово. Изчакайте, докато индикаторът за захранване изгаÑне. Също така Ñ‚Ñ€Ñбва да мигате оригиналното Ñдро. ИÑкате ли да мигате оригиналното Ñдро Ñега?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>ДеинÑталиране...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>ДеинÑталиране на модификации</value>
+ </data>
+ <data name="UnknownGame">
+ <value>ÐеизвеÑтна игра</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Качването на нова конфиг ...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Качване и пуÑкане на FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Качване на игри...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Качването на Ñдрото...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Обработка на оригинални игри</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Проверката не бе уÑпешна :О Това не е добре.</value>
+ </data>
+ <data name="Verifying">
+ <value>ПроверÑва...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Изчакване на уÑтройÑтвото</value>
+ </data>
+ <data name="Warning">
+ <value>Внимание!</value>
+ </data>
+ <data name="Wow">
+ <value>Уау</value>
+ </data>
+ <data name="Yes">
+ <value>Да</value>
+ </data>
+ <data name="YesForAll">
+ <value>Да за вÑички</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>First, dump the kernel image of your NES Mini. You only need to do this once. Do you want to continue?</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.ca-ES.resx b/Properties/Resources.ca-ES.resx
new file mode 100644
index 00000000..2dbe1a08
--- /dev/null
+++ b/Properties/Resources.ca-ES.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Processant jocs, si us plau, esperi...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Tots els arxius</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Esteu segur?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Dades introduïdes automàticament per {0} jocs</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Mantingueu pressionat Select+A/B durant un segon per activar/desactivar Autofire A/B</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Creant la imatge del custom kernel</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Creant l'estructura de les carpetes...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Enhorabona!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Custom kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Voleu flashetjar el custom kernel?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Ara teniu que flashetjar el custom kernel.</value>
+ </data>
+ <data name="Default30games">
+ <value>30 jocs originals</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Voleu eliminar "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Voleu eliminar {0} ROM(s)?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Voleu eliminar el joc "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Voleu eliminar la llista "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Voleu eliminar els punts de suspensió seleccionats?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Voleu cancel·lar la operació actual?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Voleu continuar?</value>
+ </data>
+ <data name="Donate">
+ <value>Si li agrada el projecte hakchi2, podeu realitzar-me una donació. Podeu trobar el meu PayPal a la secció "Sobre..."</value>
+ </data>
+ <data name="Done">
+ <value>El procés s'ha realitzat correctament</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Fet! Ja podeu afegir jocs a la NES Mini</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Descarregant caràtules para tots els jocs</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Voleu bolcar el kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Bolcant el kernel...</value>
+ </data>
+ <data name="Error">
+ <value>Error</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Executant el comandament:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Podeu afegir línia de comando globals que s'aplicaran a tots els jocs, incloent els 30 originals. (Només per a experts)</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Línia de comandament extra</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hola! Moltes gràcies per fer servir hakchi2. Aquest programa és molt fàcil d'utilitzar, només ha de fer clic en "Afegir més jocs", seleccionar algunes ROMs, pressionar "Sincronitzar els jocs seleccionats amb la NES Mini " i seguir les instruccions</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashetjant el custom kernel...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashetjant el kernel original...</value>
+ </data>
+ <data name="FolderContent">
+ <value>El contingut eliminat es mourà a la paperera de reciclatge, podeu eliminar aquesta carpeta permanentment o moure els jocs a altres carpetes</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Enrere</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Més jocs...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nova carpeta</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 jocs originals</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Paperera de reciclatge</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Sense classificar</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>La carpeta "{0}" conté {1} ROM(s)</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Voleu guardar aquesta estructura de carpetes?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>{0} fa servir la manera de four-screen (el joc té memòria VRAM addicional en el cartutx), i aquesta funció no és compatible amb la NES Mini, és probable que no iniciï amb l'emulador predeterminat, però deuria funcionar si teniu un mòdul extra instal·lat d'un altra emulador. Voleu afegir aquest joc?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Voleu eliminar el codi "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Heu d'escriure un codi</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Aquest codi ja existeix. Voleu editar-ho?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Heu d'escriure una descripció</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Codi Game Genie no vàlid "{0}" per al joc "{1}"</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>No es pot aplicar el codi Game Genie "{0}" al joc "{1}" - valor no trobat. És possible que aquest codi sigui para un altre joc</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Jocs i aplicacions</value>
+ </data>
+ <data name="GamesSelected">
+ <value>joc(s) seleccionats</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Cercant en Google</value>
+ </data>
+ <data name="Hello">
+ <value>Hola</value>
+ </data>
+ <data name="Images">
+ <value>Imatges</value>
+ </data>
+ <data name="InputPreset">
+ <value>Escriu un nom per a la llista de jocs que tens seleccionats actualment</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Instal·lant mòduls...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>L'encapçalament del kernel no és vàlid</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>La grandària del kernel no és vàlid</value>
+ </data>
+ <data name="KernelDumped">
+ <value>El kernel original s'ha guardat a la carpeta "hakchi2\dump". NO el perdia, ja que és important</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Carregant jocs...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel bolcat, però la suma de comprovació MD5 es desconeguda</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>El kernel ja està apedaçat o és una revisió desconeguda. Envia'm aquest missatge (Prem Control+C). Continua baix el teu propi risc</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menú d'inici</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Aquest joc, "{0}" fa servir el mapper #{1} i no es compatible amb la NES Mini, és probable que no iniciï amb el emulador predeterminat, però deuria funcionar si teniu un mòdul extra instal·lat d'un altre emulador. Voleu afegir aquest joc?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Hi ha {0} MB en jocs, és molt i podria donar error en sincronitzar, és recomanable alliberar memòria</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Memòria total: {0:F1} MB|Disponible per a jocs: {1:F1} MB|Utilitzada pels punts de suspensió: {2:F1} MB|Utilitzada per altres arxius: {3:F1} MB</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Els nous jocs s'han afegit a la carpeta "Sense classificar"</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nova llista</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>No per tots</value>
+ </data>
+ <data name="NoKernel">
+ <value>No s'ha trobat cap bolcat del kernel</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Primer, heu de fer un bolcat del kernel de la NES mini,. Aquesta acció, només és necessària fer-la una vegada. Voleu continuar?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>No s'ha trobat cap bolcat del kernel, primer, heu de fer-li el bolcat</value>
+ </data>
+ <data name="NoTelnet">
+ <value>No s'ha pogut iniciar el client Telnet, és possible que estigui desactivat. Heu d'activar-ho primer, per a això, aneu a "Panell de control" -&gt; "Programes i característiques" -&gt; "Activar o desactivar les característiques de Windows"</value>
+ </data>
+ <data name="NotFound">
+ <value>No es troba:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Voleu flashetjar el kernel original?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Pedaç disponible</value>
+ </data>
+ <data name="PatchQ">
+ <value>Hi ha un pedaç per "{0}". Voleu apedaçar aquest joc?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Si el problema persisteix, proveu a utilitzar un altre cable o port USB</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Si us plau, esperi...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Premeu Ok per continuar</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Ja has realitzat el bolcat del kernel. Si realment voleu reemplaçar la copia de seguretat del teu kernel i entens el que esteu fent, borra la carpeta "hakchi2\dump"</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Còpia de seguretat dels punts de suspensió NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Selecciona com a mínim un joc</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Selecciona com a mínim dos botons</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Selecciona els mòduls que vols instal·lar en la NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Selecciona els mòduls que vols eliminar de la NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Grandària total dels punts de suspensió seleccionats:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>No oblidis formatar la NES Mini si vols eliminar tots els punts de suspensió</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Vols eliminar totes les dades de hakchi2 i deixar la NES Mini com de fàbrica? (Això no elimina els punts de suspensió)</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Espera que la llum del botó Power s'apagui. Has de flashetjar el kernel original. Vols flashetjar el kernel original ara?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Desinstal·lant...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Desinstal·lant mòduls...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Joc desconegut</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Actualitzant a la nova configuració...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Carregant i executant fes1</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Sincronitzant jocs…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Actualitzant el kernel…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Processant els jocs originals...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>La verificació ha fallat</value>
+ </data>
+ <data name="Verifying">
+ <value>Verificant…</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Esperant a la NES Mini</value>
+ </data>
+ <data name="Warning">
+ <value>Atenció!</value>
+ </data>
+ <data name="Wow">
+ <value>Molt bé!</value>
+ </data>
+ <data name="Yes">
+ <value>Si</value>
+ </data>
+ <data name="YesForAll">
+ <value>Sí per tots</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.da-DK.resx b/Properties/Resources.da-DK.resx
new file mode 100644
index 00000000..d8820bcc
--- /dev/null
+++ b/Properties/Resources.da-DK.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AreYouSure">
+ <value>Er du sikker?</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Bygger custom kerne image...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Tillykke!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Custom kerne</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Vil du flashe custom kernen?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Nu skal du flashe custom kernen til din NES Mini. Dette skal du kun gøre én gang. Vil du forsætte?</value>
+ </data>
+ <data name="Default30games">
+ <value>Originale 30 spil</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Er du sikker på du vil slette "{0}"</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Vi du annullere den nuværende operation?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Vil du forsætte?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S hvis du kan lide det, kan du donere til mig. Du kan finde min PayPal i "Om" boksen.</value>
+ </data>
+ <data name="Done">
+ <value>Færdig!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Færdig! Du kan nu uploade spil til din NES Mini.</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Vil du dumpe kernen?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Dumper kernen...</value>
+ </data>
+ <data name="Error">
+ <value>Fejl</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Udfører kommandoen:</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flasher custom kerne...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flasher original kerne...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Ny mappe</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Originale 30 spil</value>
+ </data>
+ <data name="GamesSelected">
+ <value>Spil valgt(e)</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ugyldig kerne header.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ugyldig kerne størrelse:</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kerne dumpede, men MD5 checksum er ukendt revision. Venligst send denne besked til mig (tryk Ctrl+C). Fortsæt på eget ansvar.</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Kernen er allerede patched eller den er ukendt</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Beklager, "{0}" bruger mapper #{1}, men denne mapper understøttes ikke af NES Mini, og spillet vil sandsynligvis ikke starte med standard emulatoren. Men det skulle fungere, hvis en anden emulator modul installeres. Vil du tilføje dette spil?</value>
+ </data>
+ <data name="NoKernel">
+ <value>Ingen kerne dump fundet</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Først, dump kerne image af din NES Mini. Du skal kun gøre dette én gang. Vil du forsætte?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Ingen kerne dump fundet. Du skal dumpe kernen først.</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Vil du flashe den originale kerne?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Hvis problemet forsætter, forsøg med et andet kabel eller USB port.</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Tryk OK for at forsætte.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Du har allerede kernedumpen. Hvis du virkelig ønsker at erstatte backupen af din kerne, og du virkelig forstår hvad du gør, skal du slette mappen "hakchi2 \ dump" manuelt.</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Vælg mindst ét spil.</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Uploader og kører FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Uploader spil...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Uploader kernen...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Bekræft mislykkedes :O Det her er ikke godt.</value>
+ </data>
+ <data name="Verifying">
+ <value>Bekræfter...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Venter på enheden...</value>
+ </data>
+ <data name="Warning">
+ <value>Advarsel!</value>
+ </data>
+ <data name="Wow">
+ <value>Wow</value>
+ </data>
+ <data name="AddingGames">
+ <value>Processing games, please wait...</value>
+ </data>
+ <data name="AllFiles">
+ <value>All files</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Data automatically filled for {0} game(s).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Hold Select+A/B for a second to enable/disable autofire A/B.</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Building the folder structure...</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Do you really want to delete "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Do you really want to delete {0} elements?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Do you really want to delete the "{0}" preset?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Do you really want to delete those save-states?</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Downloading box art for all games (I'm feeling lucky!)</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>You can add global command-line arguments which will be appended to all games including the original 30. This is only for experts!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Extra command-line arguments</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hello there! I'm very glad that you are using hakchi2. It's very simple to use. Just click "Add more games", select some ROMs, press "Synchronize" and follow the instructions. Good luck!</value>
+ </data>
+ <data name="FolderContent">
+ <value>Deleted content will be moved to the Recycle Bin. You can delete this folder permanently or move the games to other folders.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Back</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>More games...</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Unsorted</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Folder "{0}" contains {1} elements.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Do you want to save this folder structure?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Sorry, {0} uses four-screen mode (i.e. the game has additional VRAM memory in the cartridge), and this feature is not supported by the NES Mini. The game will probably not start. But it should work if other emulator's module installed. Do you want to add this game anyway?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Do you want to delete "{0}" code?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>You must enter a code!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>This code already exists. Do you want to edit it?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>You must enter a description!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Invalid Game Genie code "{0}" for game "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Can't apply Game Genie code "{0}" to game "{1}" - value not found. Maybe this code is for another game?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Games and apps</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Googling for</value>
+ </data>
+ <data name="Hello">
+ <value>Hello</value>
+ </data>
+ <data name="Images">
+ <value>Images</value>
+ </data>
+ <data name="InputPreset">
+ <value>Please input a preset name for the current games selection.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Installing mods...</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Your original kernel is saved in the "hakchi2\dump" folder. Do not lose it.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Loading games...</value>
+ </data>
+ <data name="MainMenu">
+ <value>HOME Menu</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Sorry, there are {0}MBytes of games, it's too much.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Total writable memory size: {0:F1}MBytes|Available memory for games: {1:F1}MBytes|Used by saves: {2:F1}MBytes|Used by other files: {3:F1}MBytes</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>New games are moved to the "Unsorted" folder.</value>
+ </data>
+ <data name="NewPreset">
+ <value>New selection preset</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>No for all</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Can't start Telnet client, seems like it's disabled. You need to enable it first, you can do it in "Control Panel" -&gt; "Programs" -&gt; "Turn Windows features on or off".</value>
+ </data>
+ <data name="NotFound">
+ <value>Not found:</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch available</value>
+ </data>
+ <data name="PatchQ">
+ <value>There is patch for "{0}". Do you want to patch this game?</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Please wait...</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini save-state backups</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Select at least two buttons.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Select the modules to install on your NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Select the modules to remove from your NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Size of selected save-states:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Don't forget to perform a factory reset if you want to delete all Suspend Points.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Do you really want to remove all traces of hakchi2 and return your NES Mini to its original state?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Done. Wait until the power LED goes out. You also need to flash the original kernel. Do you want to flash the original kernel now?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Uninstalling...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Uninstalling mods...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Unknown game</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Uploading new config...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Processing original games...</value>
+ </data>
+ <data name="Yes">
+ <value>Yes</value>
+ </data>
+ <data name="YesForAll">
+ <value>Yes for all</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.de-DE.resx b/Properties/Resources.de-DE.resx
index 80c5ba3f..8d524e44 100644
--- a/Properties/Resources.de-DE.resx
+++ b/Properties/Resources.de-DE.resx
@@ -1 +1,382 @@
-<?xml version="1.0" encoding="utf-8"?> <root> <!-- Microsoft ResX Schema Version 2.0 The primary goals of this format is to allow a simple XML format that is mostly human readable. The generation and parsing of the various data types are done through the TypeConverter classes associated with the data types. Example: ... ado.net/XML headers & schema ... <resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="version">2.0</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <value>[base64 mime encoded serialized .NET Framework object]</value> </data> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <comment>This is a comment</comment> </data> There are any number of "resheader" rows that contain simple name/value pairs. Each data row contains a name, and value. The row also contains a type or mimetype. Type corresponds to a .NET class that support text/value conversion through the TypeConverter architecture. Classes that don't support this are serialized and stored with the mimetype set. The mimetype is used for serialized objects, and tells the ResXResourceReader how to depersist the object. This is currently not extensible. For a given mimetype the value must be set accordingly: Note - application/x-microsoft.net.object.binary.base64 is the format that the ResXResourceWriter will generate, however the reader can read any of the formats listed below. mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 value : The object must be serialized with : System.Runtime.Serialization.Formatters.Soap.SoapFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.bytearray.base64 value : The object must be serialized into a byte array : using a System.ComponentModel.TypeConverter : and then encoded with base64 encoding. --> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:element name="root" msdata:IsDataSet="true"> <xsd:complexType> <xsd:choice maxOccurs="unbounded"> <xsd:element name="metadata"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" /> </xsd:sequence> <xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="assembly"> <xsd:complexType> <xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" /> </xsd:complexType> </xsd:element> <xsd:element name="data"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute ref="xml:space" /> </xsd:complexType> </xsd:element> <xsd:element name="resheader"> <xsd:complexType> <xsd:sequence> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:schema> <resheader name="resmimetype"> <value>text/microsoft-resx</value> </resheader> <resheader name="version"> <value>2.0</value> </resheader> <resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <data name="AreYouSure" xml:space="preserve"> <value>Bist du dir sicher?</value> </data> <data name="BuildingCustom" xml:space="preserve"> <value>Erstelle ein Abbild des benutzerdefinierten Kernel...</value> </data> <data name="Congratulations" xml:space="preserve"> <value>Gratuliere!</value> </data> <data name="CustomKernel" xml:space="preserve"> <value>Benutzerdefinierter Kernel</value> </data> <data name="CustomKernelQ" xml:space="preserve"> <value>Möchtest du den benutzerdefinierten Kernel flashen?</value> </data> <data name="CustomWarning" xml:space="preserve"> <value>Nun musst du dein benutzerdefinierten Kernel auf dein NES Mini flashen. Dieses musst du nur einmal machen. Möchtest du fortfahren?</value> </data> <data name="Default30games" xml:space="preserve"> <value>Originale 30 Spiele</value> </data> <data name="DeleteGame" xml:space="preserve"> <value>Möchstest du wirklich Spiel "{0}" löschen?</value> </data> <data name="Done" xml:space="preserve"> <value>Fertig!</value> </data> <data name="DoneUploaded" xml:space="preserve"> <value>Fertig! Warte bis die Power LED erlischt und starte dein NES Mini neu.</value> </data> <data name="DoneYouCanUpload" xml:space="preserve"> <value>Fertig! Du kannst nun Spiele auf dein NES Mini laden.</value> </data> <data name="DoYouWantCancel" xml:space="preserve"> <value>Möchten Sie den aktuellen Vorgang abbrechen?</value> </data> <data name="DoYouWantToContinue" xml:space="preserve"> <value>Möchtest du fortfahren?</value> </data> <data name="DumpingKernel" xml:space="preserve"> <value>Sicher Kernel...</value> </data> <data name="DumpKernelQ" xml:space="preserve"> <value>Möchtest du den Kernel sichern?</value> </data> <data name="Error" xml:space="preserve"> <value>Fehler</value> </data> <data name="ExecutingCommand" xml:space="preserve"> <value>Befehl ausführen:</value> </data> <data name="ExecutingFes1" xml:space="preserve"> <value>Ausführen fes1...</value> </data> <data name="FlasingCustom" xml:space="preserve"> <value>Flashe benutzerdefinierten Kernel...</value> </data> <data name="FlasingOriginal" xml:space="preserve"> <value>Flashe original Kernel...</value> </data> <data name="GamesSelected" xml:space="preserve"> <value>Spiel(e) ausgewählt</value> </data> <data name="InvalidKernelHeader" xml:space="preserve"> <value>Ungültiger Kernel Header.</value> </data> <data name="InvalidKernelSize" xml:space="preserve"> <value>Ungültige Kernel Größe:</value> </data> <data name="MapperNotSupported" xml:space="preserve"> <value>Entschuldige, "{0}" benutzt Mapper #{1} aber dieser Mapper wird vom NES Mini nicht unterstützt und das Spiel wird wahrscheinlich nicht starten mit dem Standard Emulator. Aber es könnte funktionieren wenn ein anderes Emulator Modul installiert ist. Möchtest du das Spiel hinzufügen?</value> </data> <data name="MD5Failed" xml:space="preserve"> <value>Kernel gesichert aber die MD5 Prüfsumme ist unbekannt:</value> </data> <data name="MD5Failed2" xml:space="preserve"> <value>Der Kernel ist schon gepatcht oder eine unbekannte Revision. Bitte sende diese Nachricht zu mir (drücke Ctrl+C). Weiter auf eigene Gefahr.</value> </data> <data name="NoKernel" xml:space="preserve"> <value>Kein gesicherter Kernel gefunden</value> </data> <data name="NoKernelWarning" xml:space="preserve"> <value>Zuerst, sichere das Kernel Abbild von deinem NES Mini. Dieses musst du nur einmal machen. Möchtest du fortfahren?</value> </data> <data name="NoKernelYouNeed" xml:space="preserve"> <value>Kein gesicherter Kernel gefunden. Du must den Kernerl ersteinmal sichern.</value> </data> <data name="OriginalKernelQ" xml:space="preserve"> <value>Möchtest du den Original Kernel flashen?</value> </data> <data name="PressOkToContinue" xml:space="preserve"> <value>Drücke OK, um fortzufahren.</value> </data> <data name="ReplaceKernelQ" xml:space="preserve"> <value>Du hast dein Kernel schon gesichert. Wenn du WIRKLICH dein Kernel Backup ersetzen möchtest und du WIRKLICH weist was du da tust, dann lösche den Ordner "dump" mit manuell.</value> </data> <data name="SelectAtLeast" xml:space="preserve"> <value>Wähle mindestens ein Spiel.</value> </data> <data name="UploadingFes1" xml:space="preserve"> <value>Lade hoch und führe FES-1 aus...</value> </data> <data name="UploadingGames" xml:space="preserve"> <value>Lade Spiele hoch...</value> </data> <data name="UploadingKernel" xml:space="preserve"> <value>Lade den Kernel hoch...</value> </data> <data name="VerifyFailed" xml:space="preserve"> <value>Überprüfen fehlgeschlagen :O Das ist nicht gut.</value> </data> <data name="Verifying" xml:space="preserve"> <value>Überprüfen...</value> </data> <data name="WaitingForDevice" xml:space="preserve"> <value>Warte auf das Gerät...</value> </data> <data name="Warning" xml:space="preserve"> <value>Warnung!</value> </data> <data name="Wow" xml:space="preserve"> <value>Wow</value> </data> <data name="PleaseTryAgainUSB" xml:space="preserve"> <value>Wenn dieses Problem weiterhin besteht, versuche es mit einem anderen USB-Port oder Kabel.</value> </data> <data name="XpZadig" xml:space="preserve"> <value>Bitte verwende das Zadig Dienstprogramm, um den Treiber unter Windows XP/2000 zu installieren.</value> </data> <data name="Donate" xml:space="preserve"> <value>P.S. Wenn du magst, kannst du mir eine Spende zukommen lassen. Du findest meine PayPal im Menü "Über".</value> </data> <data name="FirstRun" xml:space="preserve"> <value>Hallo! Ich bin sehr froh, dass Du hakchi2 benutzt. Es ist sehr einfach zu bedienen. Klicke einfach auf "Mehr Spiele hinzufügen", wähle ein paar ROMs, drücke "Synchronisieren" und folge den Anweisungen. Viel Glück!</value> </data> <data name="Hello" xml:space="preserve"> <value>Hallo</value> </data> <data name="KernelDumped" xml:space="preserve"> <value>Dein Original Kernel ist gesichert im Ordner "dump". Verliere ihn nicht. </value> </data> <data name="DeletePreset" xml:space="preserve"> <value>Möchtest du wirklich die Voreinstellung "{0}" löschen?</value> </data> <data name="FourScreenNotSupported" xml:space="preserve"> <value>Sorry, {0} uses four-screen mode (i.e. the game has additional VRAM memory in the cartridge), and this feature is not supported by the NES Mini. The game will probably not start. But it should work if other emulator's module installed. Do you want to add this game anyway?</value> </data> <data name="InputPreset" xml:space="preserve"> <value>Bitte gebe einen voreingestellten Namen für die aktuelle Spielauswahl ein.</value> </data> <data name="NewPreset" xml:space="preserve"> <value>Neue Auswahl Voreingestellt</value> </data> <data name="UninstallFactoryNote" xml:space="preserve"> <value>Vergesse nicht, auf Werkeinstellung zurückzusetzen, wenn du alle Einstellungen löschen möchten.</value> </data> <data name="Uninstalling" xml:space="preserve"> <value>Deinstallieren...</value> </data> <data name="UninstallQ1" xml:space="preserve"> <value>Möchtest du wirklich alle Spuren von hakchi2 beseitigen und dein NES Mini in sein Originalzustand zurücksetzen? </value> </data> <data name="UninstallQ2" xml:space="preserve"> <value>Fertig. Warte bis die Power LED erlischt. Du musst auch den originalen Kernel flashen. Möchtest du den Original Kernel jetzt flashen?</value> </data> <data name="GameGenieFormatError" xml:space="preserve"> <value>Ungültiger Game Genie Code "{0}" für das Spiel "{1}".</value> </data> <data name="GameGenieNotFound" xml:space="preserve"> <value>Kann Game Genie Code "{0}" für das Spiel "{1}" nicht anwenden - Wert nnicht gefunden. Ist der Code vielleicht für ein anderes Spiel?</value> </data> <data name="PatchAvailable" xml:space="preserve"> <value>Patch verfügbar</value> </data> <data name="PatchQ" xml:space="preserve"> <value>Es ist ein Patch für "{0}" verfügbar. Möchtest du das Spiel patchen?</value> </data> <data name="AutofillResult" xml:space="preserve"> <value>Daten automatisch gefüllt für {0} Spiel(e).</value> </data> <data name="SelectAtLeastTwo" xml:space="preserve"> <value>Wähle mindestens zwei Tasten.</value> </data> <data name="AutofireHelp1" xml:space="preserve"> <value>Halte eine Sekunde Select+A/B um Autofeuer A/B zu anktivieren/deaktivieren.</value> </data> <data name="ExtraArgsInfo" xml:space="preserve"> <value>Du kannst Globale Kommandozeilen Argumente hinzufügen welche an alle Spiele angehängt werden inklusive der 30 originalen. Das ist nur für Experten!</value> </data> <data name="ExtraArgsTitle" xml:space="preserve"> <value>Extra Kommandozeilen Argumente</value> </data> <data name="DownloadAllCoversTitle" xml:space="preserve"> <value>Downloade Box Arts für alle Spiele (Ich fühle mich glücklich!)</value> </data> <data name="GooglingFor" xml:space="preserve"> <value>Google nach </value> </data> <data name="NotFound" xml:space="preserve"> <value>Nicht gefunden:</value> </data> <data name="ParticallyBody" xml:space="preserve"> <value>Keine Angst! Alles ist OK. Es sind nur zu viele ROMs um sie auf einmal zu übertragen. Bitte warte bis die Power LED erlischt, drücke dann OK und folge dann den Anweisungen um fortzufahren.</value> </data> <data name="ParticallyTitle" xml:space="preserve"> <value>Zu viele ROMs</value> </data> <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <data name="gamepad" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\gamepad.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_fds" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_fds.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_jp" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_jp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="LoadingGames" xml:space="preserve"> <value>Lade Spiele...</value> </data> <data name="No" xml:space="preserve"> <value>Nein</value> </data> <data name="NoForAll" xml:space="preserve"> <value>Nein für alle</value> </data> <data name="Yes" xml:space="preserve"> <value>Ja</value> </data> <data name="YesForAll" xml:space="preserve"> <value>Ja für alle</value> </data> <data name="GGCodeDelete" xml:space="preserve"> <value>Möchtest du "{0}" Codes löschen?</value> </data> <data name="GGCodeEmpty" xml:space="preserve"> <value>Du musst ein Code eingeben!</value> </data> <data name="GGCodeExists" xml:space="preserve"> <value>Dieser Code existiert bereits. Möchtets du ihn editieren?</value> </data> <data name="GGDescriptionEmpty" xml:space="preserve"> <value>Du musst eine Beschreibung hinzufügen!</value> </data> <data name="FolderNameBack" xml:space="preserve"> <value>Zurück</value> </data> <data name="FolderNameMoreGames" xml:space="preserve"> <value>Mehr Spiele...</value> </data> <data name="FolderNameOriginalGames" xml:space="preserve"> <value>Original 30 Spiele</value> </data> <data name="folder" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_a" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_a.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_b" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_b.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_back" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_c" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_c.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_d" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_e" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_e.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_f" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_f.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_g" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_g.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_h" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_h.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_i" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_i.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_j" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_j.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_k" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_k.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_l" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_l.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_m" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_m.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_n" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_n.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_number" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_number.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_o" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_o.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_p" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_p.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_q" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_q.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_r" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_r.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_s" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_s.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_t" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_t.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_u" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_u.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_v" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_v.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_w" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_w.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_x" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_y" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_y.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="folder_z" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\folder_images\folder_z.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="DeleteElement" xml:space="preserve"> <value>Möchtest die wirklich "{0}" löschen?</value> </data> <data name="FolderContent" xml:space="preserve"> <value>Gelöschter Inhalt wird in den Papierkorb verschoben. Du kannst diesen Ordner permanent löschen oder die Spiele in andere Ordner verschieben.</value> </data> <data name="MainMenu" xml:space="preserve"> <value>HOME Menü</value> </data> <data name="BuildingFolders" xml:space="preserve"> <value>Erstelle die Ordnerstruktur...</value> </data> <data name="FolderNameNewFolder" xml:space="preserve"> <value>Neuer Ordner</value> </data> <data name="FolderNameUnsorted" xml:space="preserve"> <value>Unsortiert</value> </data> <data name="FoldersSaveQ" xml:space="preserve"> <value>Möchtest du diese Ordnerstruktur speichern?</value> </data> <data name="FolderStatistics" xml:space="preserve"> <value>Ordner "{0}" enthält {1} Elemente.</value> </data> <data name="NewGamesUnsorted" xml:space="preserve"> <value>Neue Spiele sind im Ordner "Unsortiert" .</value> </data> <data name="AddingGames" xml:space="preserve"> <value>Verarbeite Spiele, bitte warten...</value> </data> <data name="DeleteElements" xml:space="preserve"> <value>Du möchtest wirklich {0} Elemente löschen?</value> </data> <data name="FolderNameTrashBin" xml:space="preserve"> <value>Papierkorb</value> </data> <data name="InstallingMods" xml:space="preserve"> <value>Installiere Mods...</value> </data> <data name="SelectModsInstall" xml:space="preserve"> <value>Wähle die Module zum instalieren auf das NES Mini.</value> </data> <data name="SelectModsUninstall" xml:space="preserve"> <value>Wähle die Module die du vom NES Mini entfernen möchtest.</value> </data> <data name="UninstallingMods" xml:space="preserve"> <value>Deinstalliere Mods...</value> </data> <data name="blank_app" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_app.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_gb" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_gb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_gba" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_gba.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_gbc" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_gbc.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_genesis" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_genesis.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_pce" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_pce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_sms" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_sms.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_snes_us" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_snes-us.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_nes" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_nes.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="blank_n64" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\images\blank_n64.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> </data> <data name="GameTooBig" xml:space="preserve"> <value>Sorry, Spiel "{0}" ist zu groß.</value> </data> <data name="MemoryFull" xml:space="preserve"> <value>Sorry, da sind {0}MBytes an Spiele, das ist zu viel.</value> </data> </root> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Verarbeite Spiele, bitte warten...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Alle Dateien</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Bist du dir sicher?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Daten automatisch gefüllt für {0} Spiel(e).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Halte eine Sekunde Select+A/B, um Autofeuer A/B zu anktivieren/deaktivieren.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Der Kernel wird gepatcht...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Erstelle die Ordnerstruktur...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Gratuliere!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Benutzerdefinierter Kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Möchtest du den benutzerdefinierten Kernel flashen?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Nun musst du deinen benutzerdefinierten Kernel auf dein NES Mini flashen. Dieses musst du nur einmal machen. Möchtest du fortfahren?</value>
+ </data>
+ <data name="Default30games">
+ <value>Originale Spiele</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Möchtest du wirklich "{0}" löschen?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Möchtest du wirklich {0} Elemente löschen?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Möchstest du wirklich das Spiel "{0}" löschen?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Möchtest du wirklich das Preset "{0}" löschen?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Möchtest du wirklich diese Speicherstände löschen?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Möchtest du den aktuellen Vorgang abbrechen?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Möchtest du fortfahren?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Wenn du magst, du kannst mir eine Spende zukommen lassen. Du findest meine PayPal im Menü "Über".</value>
+ </data>
+ <data name="Done">
+ <value>Fertig!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Fertig! Du kannst nun Spiele auf dein NES Mini laden.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Downloade Covers für alle Spiele (Ich fühle mich glücklich!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Möchtest du den Kernel sichern?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Kernel wird gesichert...</value>
+ </data>
+ <data name="Error">
+ <value>Fehler</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Befehl ausführen:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Du kannst Globale Kommandozeilen Argumente hinzufügen, welche an alle Spiele angehängt werden, inklusive der 30 originalen. Das ist nur für Experten!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Globale Parameter der Kommandozeile</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hallo! Ich bin sehr froh, dass Du hakchi2 verwnedest. Es ist sehr einfach zu bedienen. Klicke auf "Mehr Spiele hinzufügen", wähle ein paar ROMs, drücke "Synchronisieren" und folge den Anweisungen. Viel Glück!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashe benutzerdefinierten Kernel...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashe originalen Kernel...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Gelöschter Inhalt wird in den Papierkorb verschoben. Du kannst diesen Ordner permanent löschen oder die Spiele in andere Ordnern verschieben.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Zurück</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Mehr Spiele...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Neuer Ordner</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Originale Spiele</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Papierkorb</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Unsortiert</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Ordner "{0}" enthält {1} Element(e).</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Möchtest du diese Ordnerstruktur speichern?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Sorry, das Spiel {0} verwendet das s.g. four-screen mode (d.h. das Spiel hat zusätzliche VRAM-Speicher auf dem Modul) und diese Funktion wird vom NES Mini nicht unterstützt. Das Spiel kann vermutlich nicht gestartet werden. Ist aber in Ordnung, wenn ein anderer Emulator (als Modul) installiert ist. Möchtest du das Spiel trotzdem hinzufügen?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Möchtest du "{0}" Codes löschen?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Du musst einen Code eingeben!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Dieser Code existiert bereits. Möchtest du ihn editieren?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Du musst eine Beschreibung hinzufügen!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Ungültiger Game Genie Code "{0}" für das Spiel "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Kann den Game Genie Code "{0}" für das Spiel "{1}" nicht anwenden - Wert nicht gefunden. Ist der Code vielleicht für ein anderes Spiel?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Spiele und Programme</value>
+ </data>
+ <data name="GamesSelected">
+ <value>Spiel(e) ausgewählt</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Google nach</value>
+ </data>
+ <data name="Hello">
+ <value>Hallo!</value>
+ </data>
+ <data name="Images">
+ <value>Bilder</value>
+ </data>
+ <data name="InputPreset">
+ <value>Bitte gebe einen Namen für das aktuelle Preset ein.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Installiere Mods...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ungültiger Header des Kernels.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ungültige Größe des Kernels:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Dein Original Kernel ist gesichert im Ordner "hakchi2\dump". Verliere ihn nicht.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Lade Spiele...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel gesichert, aber die MD5 Prüfsumme ist falsch:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Der Kernel ist schon gepatcht oder die Revision ist uns unbekannt. Bitte sende mir diese Nachricht (drücke Ctrl+C). Weiter auf eigene Gefahr.</value>
+ </data>
+ <data name="MainMenu">
+ <value>HOME Menü</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Entschuldige, "{0}" benutzt Mapper #{1}, aber dieser wird vom NES Mini nicht unterstützt und das Spiel wird wahrscheinlich mit dem Standard Emulator nicht starten. Es könnte funktionieren, wenn ein anderer Emulator installiert ist. Möchtest du das Spiel trotzdem hinzufügen?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Sorry, es sind zu viele Spiele, {0}MBytes, das ist zu viel.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Speicher insgesamt: {0:F1}Mb|Verfügbar für Spiele: {1:F1}Mb|Von Speicherständen verwendet: {2:F1}Mb|Von anderen Dateien verwendet: {3:F1}Mb</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Neue Spiele sind im Ordner "Unsortiert" .</value>
+ </data>
+ <data name="NewPreset">
+ <value>Ein Preset erstellen</value>
+ </data>
+ <data name="No">
+ <value>Nein</value>
+ </data>
+ <data name="NoForAll">
+ <value>Nein für alle</value>
+ </data>
+ <data name="NoKernel">
+ <value>Kein gesicherter Kernel gefunden</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Sichere zuerst das Kernel Abbild von deinem NES Mini. Dieses musst du nur einmal machen. Möchtest du fortfahren?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Kein gesicherter Kernel gefunden. Du musst den Kernel erst einmal sichern.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Kann den Telnet-Client nicht öffnen, vermutlich ist der Dienst ausgeschaltet. Schalte bitte diesen zuerst ein über "Systemsteuerung" -&gt; "Programme" -&gt; "Windows-Funktionen aktivieren bzw. deaktivieren".</value>
+ </data>
+ <data name="NotFound">
+ <value>Nicht gefunden:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Möchtest du den Original Kernel flashen?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch verfügbar</value>
+ </data>
+ <data name="PatchQ">
+ <value>Es ist ein Patch für "{0}" verfügbar. Möchtest du das Spiel patchen?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Wenn dieses Problem weiterhin besteht, versuche es mit einem anderen USB-Port oder Kabel.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Bitte warten...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Drücke OK, um fortzufahren.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Du hast dein Kernel schon gesichert. Wenn du WIRKLICH dein Kernel Backup ersetzen möchtest und du WIRKLICH weisst, was du tust, dann lösche den Ordner "hakchi2\dump" manuell.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Sicherheitskopie der Speicherstände von NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Wähle mindestens ein Spiel.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Wähle mindestens zwei Tasten.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Wähle Module zum instalieren auf das NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Wähle Module, die du vom NES Mini entfernen möchtest</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Größe der gewählten Speicherstände:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Vergesse nicht, auf Werkeinstellung zurückzusetzen, wenn du alle Speicherstände löschen möchtest.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Möchtest du wirklich alle Spuren von hakchi2 beseitigen und dein NES Mini in seinen Originalzustand zurücksetzen?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Fertig. Warte bis die Power LED erlischt. Du musst auch den originalen Kernel flashen. Möchtest du den originalen Kernel jetzt flashen?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Deinstallieren...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Deinstalliere Mods...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Unbekanntes Spiel</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Einstellungen werden aktualisiert...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Lade hoch und führe FES-1 aus...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Lade Spiele hoch...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Lade den Kernel hoch...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Originale Spiele werden verteilt...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Überprüfen fehlgeschlagen :O Das ist nicht gut.</value>
+ </data>
+ <data name="Verifying">
+ <value>Überprüfen...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Warte auf das Gerät...</value>
+ </data>
+ <data name="Warning">
+ <value>Warnung!</value>
+ </data>
+ <data name="Wow">
+ <value>Hurra</value>
+ </data>
+ <data name="Yes">
+ <value>Ja</value>
+ </data>
+ <data name="YesForAll">
+ <value>Ja für alle</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.el-GR.resx b/Properties/Resources.el-GR.resx
new file mode 100644
index 00000000..fc8b4e58
--- /dev/null
+++ b/Properties/Resources.el-GR.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>ΕπεξεÏγασία παιχνιδιών, παÏακαλώ πεÏιμένετε…</value>
+ </data>
+ <data name="AllFiles">
+ <value>Όλα τα αÏχεία</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Είστε σίγουÏοι;</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Τα στοιχεία συμπληÏώθηκαν αυτόματα για {0} παιχνίδι(α).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>ΚÏατήστε πατημένα Select+A/B για ένα δευτεÏόλεπτο για να ενεÏγοποιήσετε/απενεÏγοποιήσετε το αυτόματο Α/Î’.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>ΔημιουÏγία του Ï€ÏοσαÏμοσμένου πυÏήνα…</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>ΔημιουÏγία της δομής των φακέλων…</value>
+ </data>
+ <data name="Congratulations">
+ <value>ΣυγχαÏητήÏια!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>ΠÏοσαÏμοσμένος πυÏήνας</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Θέλετε να εγγÏάψετε τον Ï€ÏοσαÏμοσμένο πυÏήνα;</value>
+ </data>
+ <data name="CustomWarning">
+ <value>ΤώÏα χÏειάζεται να εγγÏάψετε τον Ï€ÏοσαÏμοσμένο πυÏήνα στο NES Mini σας. Αυτό απαιτείται μόνο μία φοÏά. Θέλετε να συνεχίσετε;</value>
+ </data>
+ <data name="Default30games">
+ <value>30 αυθεντικά παιχνίδια</value>
+ </data>
+ <data name="DeleteElement">
+ <value>ΣίγουÏα θέλετε να διαγÏάψετε το "{0}";</value>
+ </data>
+ <data name="DeleteElements">
+ <value>ΣίγουÏα θέλετε να διαγÏάψετε "{0}" στοιχεία;</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Είστε σίγουÏοι ότι θέλετε να διαγÏάψετε το παιχνίδι "{0}";</value>
+ </data>
+ <data name="DeletePreset">
+ <value>ΣίγουÏα θέλετε να διαγÏάψετε την Ï€Ïοεπιλογή "{0}";</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Θέλετε Ï€Ïαγματικά να διαγÏάψετε αυτά τα αποθηκευμένα σημεία;</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Θέλετε να ακυÏώσετε την Ï„Ïέχουσα εÏγασία;</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Θέλετε να συνεχίσετε;</value>
+ </data>
+ <data name="Donate">
+ <value>Î¥.Γ. Αν σας αÏέσει, μποÏείτε να μου κάνετε δωÏεά. ΜποÏείτε να βÏείτε το PayPal μου στο παÏάθυÏο "Σχετικά με".</value>
+ </data>
+ <data name="Done">
+ <value>Έτοιμο!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Έτοιμο! ΤώÏα μποÏείτε να μεταφοÏτώσετε παιχνίδια στο NES Mini σας.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Κατέβασμα εξώφυλλων κουτιών για όλα τα παιχνίδια (Αισθάνομαι τυχεÏός!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Θέλετε να αποθηκεÏσετε τον πυÏήνα;</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Αποθήκευση πυÏήνα…</value>
+ </data>
+ <data name="Error">
+ <value>Σφάλμα</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Εκτέλεση εντολής:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>ΜποÏείτε να Ï€Ïοσθέσετε καθολικές παÏαμέτÏους γÏαμμής εντολών οι οποίες θα Ï€ÏοσαÏτηθοÏν σε όλα τα παιχνίδια, συμπεÏιλαμβανομένων των 30 αυθεντικών. Αυτό είναι μόνο για Ï€ÏοχωÏημένους!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>ΈξτÏα παÏάμετÏοι γÏαμμής εντολών</value>
+ </data>
+ <data name="FirstRun">
+ <value>Γεια σας! Είμαι Ï€Î¿Î»Ï Ï‡Î±ÏοÏμενος που χÏησιμοποιείτε το hakchi2. Είναι Ï€Î¿Î»Ï Î±Ï€Î»ÏŒ στη χÏήση. Απλά επιλέξτε "ΠÏοσθήκη πεÏισσότεÏων παιχνιδιών", επιλέξτε μεÏικές ROMs, πατήστε "ΣυγχÏονισμός" και ακολουθήστε τις οδηγίες. Καλή επιτυχία!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>ΕγγÏαφή Ï€ÏοσαÏμοσμένου πυÏήνα…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>ΕγγÏαφή Î±Ï…Î¸ÎµÎ½Ï„Î¹ÎºÎ¿Ï Ï€Ï…Ïήνα…</value>
+ </data>
+ <data name="FolderContent">
+ <value>Το διαγÏαμμένο πεÏιεχόμενο θα μετακινηθεί στον Κάδο ΑνακÏκλωσης. ΜποÏείτε να διαγÏάψετε αυτό τον φάκελο μόνιμα ή να μετακινήσετε τα παιχνίδια σε άλλους φακέλους.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Πίσω</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>ΠεÏισσότεÏα παιχνίδια…</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Îέος φάκελος</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 αυθεντικά παιχνίδια</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Κάδος ΑνακÏκλωσης</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Μη ταξινομημένα</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Ο φάκελος "{0}" πεÏιέχει {1} στοιχεία.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Θέλετε να αποθηκεÏσετε αυτή τη δομή φακέλων;</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Λυπάμαι, το "{0}" χÏησιμοποιεί λειτουÏγία τετÏαπλής οθόνης (Ï€.χ. το παιχνίδι έχει επιπλέον μνήμη VRAM στην κασέτα) και αυτό το χαÏακτηÏιστικό δεν υποστηÏίζεται από το NES Mini. Το παιχνίδι πιθανόν δεν θα ξεκινήσει. ΠÏέπει όμως να δουλέψει αν έχει εγκατασταθεί το module άλλων εξομοιωτών. Θέλετε να Ï€Ïοσθέσετε αυτό το παιχνίδι;</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Θέλετε να διαγÏάψετε τον κωδικό "{0}";</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>ΠÏέπει να εισάγετε έναν κωδικό!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Αυτός ο κωδικός υπάÏχει ήδη. Θέλετε να τον επεξεÏγαστείτε;</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>ΠÏέπει να εισάγετε μια πεÏιγÏαφή!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Μη έγκυÏος κωδικός Game Genie "{0}" για το παιχνίδι "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Δεν μποÏεί να εφαÏμοστεί ο κωδικός Game Genie "{0}" για το παιχνίδι "{1}" - η τιμή δεν βÏέθηκε. Μήπως αυτός ο κωδικός είναι για κάποιο άλλο παιχνίδι;</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Παιχνίδια και εφαÏμογές</value>
+ </data>
+ <data name="GamesSelected">
+ <value>παιχνίδι(α) επιλέχθηκαν</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Αναζήτηση για</value>
+ </data>
+ <data name="Hello">
+ <value>Γεια σας</value>
+ </data>
+ <data name="Images">
+ <value>Εικόνες</value>
+ </data>
+ <data name="InputPreset">
+ <value>ΠαÏακαλώ εισάγετε το όνομα της Ï€Ïοεπιλογής για την Ï„Ïέχουσα επιλογή παιχνιδιών.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Εγκατάσταση modules...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Μη έγκυÏη κεφαλίδα πυÏήνα.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Μη έγκυÏο μέγεθος πυÏήνα:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Ο αυθεντικός σας πυÏήνας έχει αποθηκευτεί στο φάκελο "hakchi2\dump". Μη τον χάσετε.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>ΦόÏτωση παιχνιδιών…</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Ο πυÏήνας αποθηκεÏτηκε αλλά το άθÏοισμα ελέγχου MD5 είναι άγνωστο:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Ο πυÏήνας είναι ήδη Ï€ÏοσαÏμοσμένος ή είναι κάποιας άγνωστης αναθεώÏησης. ΠαÏακαλώ στείλτε το μήνυμα αυτό σε εμένα (πατήστε Ctrl+C). Συνεχίστε με δική σας ευθÏνη.</value>
+ </data>
+ <data name="MainMenu">
+ <value>ΑΡΧΙΚΟ ΜενοÏ</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Λυπάμαι, το "{0}" χÏησιμοποιεί τον mapper #{1} ο οποίος δεν υποστηÏίζεται από το NES Mini και το παιχνίδι πιθανόν δεν θα ξεκινήσει με τον Ï€ÏοκαθοÏισμένο εξομοιωτή. ΠÏέπει όμως να δουλέψει αν έχει εγκατασταθεί το module άλλων εξομοιωτών. Θέλετε να Ï€Ïοσθέσετε αυτό το παιχνίδι;</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Λυπάμαι, υπάÏχουν "{0}"Mbytes με παιχνίδια, είναι πάÏα πολλά.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Συνολικό μέγεθος εγγÏάψιμης μνήμης: {0:F1}MBytes|Διαθέσιμη μνήμη για παιχνίδια: {1:F1}MBytes|ΧÏησιμοποιείται από αποθηκευμένα: {2:F1}MBytes|ΧÏησιμοποιείται από άλλα αÏχεία: {3:F1}MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Τα νέα παιχίδια μετακινήθηκαν στον φάκελο "Μη ταξινομημένα".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Îέα Ï€Ïοεπιλογή</value>
+ </data>
+ <data name="No">
+ <value>Όχι</value>
+ </data>
+ <data name="NoForAll">
+ <value>Όχι σε όλα</value>
+ </data>
+ <data name="NoKernel">
+ <value>Δεν βÏέθηκε αποθηκευμένος πυÏήνας</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>ΑÏχικά, αποθηκεÏστε τον πυÏήνα του NES Mini σας. ΧÏειάζετε να το κάνετε μόνο μία φοÏά. Θέλετε να συνεχίσετε;</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Δεν βÏέθηκε αποθηκευμένος πυÏήνας. ΠÏέπει Ï€Ïώτα να αποθηκεÏσετε τον πυÏήνα.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Δεν μποÏεί να γίνει εκκίνηση πελάτη Telnet, μάλλον είναι απενεÏγοποιημένος. ΠÏέπει Ï€Ïώτα να τον ενεÏγοποιήσετε, μποÏείτε να το κάνετε στον "Πίνακα Ελέγχου" -&gt; "ΠÏογÏάμματα" -&gt; "ΕνεÏγοποίηση και απενεÏγοποίηση δυνατοτήτων των Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Δεν βÏέθηκε:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Θέλετε να εγγÏάψετε τον αυθεντικό πυÏήνα;</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Διαθέσιμο διοÏθωτικό</value>
+ </data>
+ <data name="PatchQ">
+ <value>ΥπάÏχει διοÏθωτικό για το "{0}". Θέλετε να διοÏθώσετε αυτό το παιχνίδι;</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Αν αυτό το Ï€Ïόβλημα παÏαμένει, δοκιμάστε μια άλλη θÏÏα USB ή καλώδιο.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>ΠαÏακαλώ πεÏιμένετε...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Πιέστε ΟΚ για να συνεχίσετε.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Έχετε ήδη αποθηκεÏσει τον πυÏήνα. Αν ΠΡΑΓΜΑΤΙΚΑ θέλετε να αντικαταστήσετε το αντίγÏαφο του πυÏήνα σας και ΠΡΑΓΜΑΤΙΚΑ καταλαβαίνετε τι κάνετε, διαγÏάψτε τον φάκελο "hakchi2\dump" χειÏοκίνητα.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>ΑντίγÏαφα αποθηκευμένων σημείων NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Επιλέξτε τουλάχιστον ένα παιχνίδι.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Επιλέξτε τουλάχιστον δÏο κουμπιά.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Επιλέξτε τα modules που θα εγκατασταθοÏν στο NES Mini σας</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Επιλέξτε τα modules που θα απεγκατασταθοÏν από το NES Mini σας</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Μέγεθος επιλεγμένων σημείων:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Μην ξεχάσετε να κάνετε μια επαναφοÏά εÏγοστασιακών Ïυθμίσεων αν θέλετε να διαγÏάψετε όλα τα αποθηκευμένα σημεία.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>ΣίγουÏα θέλετε να αφαιÏέσετε όλα τα ίχνη του hakchi2 και να επαναφέÏετε το NES Mini σας στην αÏχική του κατάσταση;</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Έτοιμο. ΠεÏιμένετε μέχÏι να σβήσει το λαμπάκι POWER. ΠÏέπει επίσης να εγγÏάψετε τον αυθεντικό πυÏήνα. Θέλετε να εγγÏάψετε τον αυθεντικό πυÏήνα Ï„ÏŽÏα;</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Απεγκατάσταση…</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Απεγκατάσταση modules…</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Άγνωστο παιχνίδι</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>ΜεταφόÏτωση νέας διαμόÏφωσης…</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>ΜεταφόÏτωση και εκτέλεση FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>ΜεταφόÏτωση παιχνιδιών…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>ΜεταφόÏτωση πυÏήνα…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>ΕπεξεÏγασία αυθεντικών παιχνιδιών…</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Η επαλήθευση απέτυχε! :O Αυτό δεν είναι καλό.</value>
+ </data>
+ <data name="Verifying">
+ <value>Επαλήθευση…</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Αναμονή για τη συσκευή…</value>
+ </data>
+ <data name="Warning">
+ <value>ΠÏοσοχή!</value>
+ </data>
+ <data name="Wow">
+ <value>Ουάου</value>
+ </data>
+ <data name="Yes">
+ <value>Îαι</value>
+ </data>
+ <data name="YesForAll">
+ <value>Îαι σε όλα</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.en-GB.resx b/Properties/Resources.en-GB.resx
new file mode 100644
index 00000000..4f2f31d9
--- /dev/null
+++ b/Properties/Resources.en-GB.resx
@@ -0,0 +1,383 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Processing games, please wait...</value>
+ </data>
+ <data name="AllFiles">
+ <value>All files</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Are you sure?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Data automatically filled for {0}.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Hold Select + A/B for one second to toggle turbo A/B</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Building the custom kernel image...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Building the folder structure...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Congratulations!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Custom kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Do you want to flash the custom kernel?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Now you need to flash a custom kernel to your NES Mini. This is only required once. Continue?</value>
+ </data>
+ <data name="Default30games">
+ <value>Original 30 games</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Do you really want to delete "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Do you really want to delete {0} element(s)?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Do you really want to delete "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Do you really want to delete "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Do you really want to delete these savestates?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Do you want to cancel the current operation?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Do you want to continue?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. If you want, you can donate to me. You can find my PayPal in the "About" section.</value>
+ </data>
+ <data name="Done">
+ <value>Done!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Done! You can now upload games to your NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Downloading box art for all games (I'm feeling lucky!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Do you want to dump the kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Dumping kernel...</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="Error">
+ <value>Error</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Executing command:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>You can add global command-line arguments which will be applied to all games, including the original 30. Experts only!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Extra command-line arguments</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hello there! I'm very happy that you're using hakchi2. It's very simple to use. Just click "Add more games", select some ROMs,
+click "Synchronise" and follow the instructions. Good luck!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashing custom kernel...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashing original kernel...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Deleted content will be moved to the Recycle Bin. You can delete this folder permanently or move the games to other folders.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Back</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>More games...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>New folder</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Original 30 games</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Unsorted</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>"{0}" contains {1} element(s).</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Do you want to save this folder structure?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Sorry, {0} uses four-screen mode (the game had additional VRAM in the cartridge), and this feature is not supported by the NES Mini. The game will probably not start. It should work if a different emulator module is installed. Do you want to add this game anyway?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Do you really want to delete "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>You have to enter a code!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>This code already exists. Do you want to edit it?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>You have to enter a description!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>"{0}" is an invalid Game Genie code for "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Can't apply "{0}" to "{1}" - value not found. Are you sure this code isn't for another game?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Games and apps</value>
+ </data>
+ <data name="GamesSelected">
+ <value>game(s) selected</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Googling</value>
+ </data>
+ <data name="Hello">
+ <value>Hello</value>
+ </data>
+ <data name="Images">
+ <value>Images</value>
+ </data>
+ <data name="InputPreset">
+ <value>Please input a name for the current selection.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Installing mods...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Invalid kernel header.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Invalid kernel size:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Your factory kernel has been saved in the ~\hakchi2\dump\ folder. Do not lose it.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Loading games...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel dumped but the MD5 checksum is unknown:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>The kernel is already patcher, or it's an unknown revision. Please send this message to me (press Ctrl+C). Continue at your own risk.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Root</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Sorry, "{0}" uses mapper #{1}, which is not supported by the NES Mini's built in emulator. However, it will probably work with external emulator mods. Continue?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Sorry, these games take up {0} megabytes. The max is ~300.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Total writable memory size: {0:F1} megabytes|Available memory for games: {1:F1} megabytes|Used by saves: {2:F1} megabytes|Used by other files: {3:F1} megabytes</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>New games are in the "Unsorted" folder.</value>
+ </data>
+ <data name="NewPreset">
+ <value>New preset</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>No to all</value>
+ </data>
+ <data name="NoKernel">
+ <value>No kernel dump found.</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>First, dump the kernel image of your NES Mini. You only need to do this once. Continue?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>No kernel dump found. Please dump the kernel from your NES Mini first.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Can't start Telnet client, it looks like it's disabled. You need to enable it before you can use it - go to "Control Panel" -&gt; "Programs" -&gt; "Turn Windows features on or off".</value>
+ </data>
+ <data name="NotFound">
+ <value>Not found:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Do you want to flash the factory kernel?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch available</value>
+ </data>
+ <data name="PatchQ">
+ <value>There is a patch for "{0}". Do you want to apply it?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>If this problem persists, try using another USB port or cable.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Please wait...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Press OK to continue.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>You already have a kernel dump. If you REALLY want to replace the backup of your kernel and you ACTUALLY know what you are doing, delete the "hakchi2\dump" folder manually.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini savestate backups</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Select at least one game.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Select at least two buttons.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Select modules to install to your NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Select modules to remove from your NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Size of selected savestates:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Don't forget to perform a factory reset it you want to delete all Suspend Points.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Dou you really want to remove all traces of hakchi2 and return your NES Mini to its factory state?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Done, wait until the POWER LED goes out. You also need to flash the factory kernel. Flash the factory kernel now?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Uninstalling...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Uninstalling mods...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Unknown game</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Uploading new config...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Uploading and running FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Uploading games...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Uploading the kernel...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Processing original games...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verify failed :O Not good!</value>
+ </data>
+ <data name="Verifying">
+ <value>Verifying...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Waiting for the device...</value>
+ </data>
+ <data name="Warning">
+ <value>Warning!</value>
+ </data>
+ <data name="Wow">
+ <value>Congraturation!</value>
+ </data>
+ <data name="Yes">
+ <value>Yes</value>
+ </data>
+ <data name="YesForAll">
+ <value>Yes to all</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.es-AR.resx b/Properties/Resources.es-AR.resx
new file mode 100644
index 00000000..3a0b7385
--- /dev/null
+++ b/Properties/Resources.es-AR.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Procesando juegos. Esperá, por favor…</value>
+ </data>
+ <data name="AllFiles">
+ <value>Todos los archivos</value>
+ </data>
+ <data name="AreYouSure">
+ <value>¿Estás seguro?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Datos autocompletados para {0} juego/s.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Mantené presionado "Select" + "A"/"B" por un segundo para habilitar/deshabilitar disparo automático en los botones "A"/"B".</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Compilando la imagen del kernel personalizado…</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Compilando la estructura de carpetas…</value>
+ </data>
+ <data name="Congratulations">
+ <value>¡Felicitaciones!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Kernel personalizado</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>¿Querés flashear el kernel personalizado?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Ahora necesitás flashear el kernel personalizado a tu NES Classic Edition. Sólo necesitás hacerlo una vez. ¿Querés continuar?</value>
+ </data>
+ <data name="Default30games">
+ <value>Los 30 juegos originales</value>
+ </data>
+ <data name="DeleteElement">
+ <value>¿Estás seguro que querés eliminar "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>¿Estás seguro que querés eliminar {0} elementos?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>¿Estás seguro que querés eliminar el juego "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>¿De verdad querés eliminar la lista personalizada de juegos "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>¿Estás seguro que querés eliminar esos puntos de suspensión?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>¿Querés cancelar la operación actual?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>¿Querés continuar?</value>
+ </data>
+ <data name="Donate">
+ <value>Por cierto, si te gusta, podés hacer una donación. Podés encontrar mi cuenta de PayPal en la caja "Acerca de hakchi2".</value>
+ </data>
+ <data name="Done">
+ <value>¡Listo!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>¡Listo! Ahora podés cargarle juegos a tu NES Classic Edition.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Descargando arte de caja para todos los juegos (¡Me siento con suerte!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>¿Querés volcar el kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Volcando kernel…</value>
+ </data>
+ <data name="Error">
+ <value>Error</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Ejecutando comando:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Podés agregar argumentos globales de línea de comando el cual pueden ser agregados a todos los juegos, incluyendo los 30 originales. ¡Sólo para expertos!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Argumentos extra de línea de comando</value>
+ </data>
+ <data name="FirstRun">
+ <value>¡Hola, che! Estoy muy contento de que estés usando hakchi2. Es muy fácil de usar. Simplemente hacé clic en "Agregar más juegos", seleccioná algunas ROMs, presioná el botón para sincronizar y seguí las instrucciones. ¡Éxitos!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flasheando kernel personalizado…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flasheando kernel original…</value>
+ </data>
+ <data name="FolderContent">
+ <value>El contenido eliminado será movido a la Papelera de reciclaje. Podés eliminar esta carpeta permanentemente o mover los juegos a otras carpetas.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Volver</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Más juegos…</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nueva carpeta</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Los 30 juegos originales</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Papelera de reciclaje</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Sin ordenar</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>La carpeta "{0}" contiene {1} elementos.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>¿Querés guardar esta estructura de carpetas?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Lo siento, pero {0} usa el modo de cuatro pantallas (es decir, el juego tiene memoria de video adicional en el cartucho) y esta característica no es compatible con la NES Classic Edition. El juego probablemente no arranque. Pero debería funcionar si hay otro módulo emulador instalado. ¿Querés agregar este juego de todas maneras?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>¿Querés eliminar el código "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>¡Tenés que ingresar un código!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Este código ya existe. ¿Querés editarlo?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>¡Tenés que ingresar una descripción!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Código "{0}" de Game Genie no válido para el juego "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>No se puede aplicar el código "{0}" de Game Genie al juego "{1}"; valor no encontrado. ¿Puede ser que el código sea para otro juego?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Juegos y aplicaciones</value>
+ </data>
+ <data name="GamesSelected">
+ <value>juego/s seleccionado/s</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Buscar en Google</value>
+ </data>
+ <data name="Hello">
+ <value>Hola</value>
+ </data>
+ <data name="Images">
+ <value>Imágenes</value>
+ </data>
+ <data name="InputPreset">
+ <value>Por favor, ingresá un nombre de lista personalizada para la selección actual de juegos.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Instalando módulos…</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Encabezado no válido del kernel.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Tamaño no válido del kernel:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Se guardó tu kernel original en la carpeta "hakchi2\dump". No lo pierdas.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Descargando juegos…</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Se realizó el volcado del kernel, pero la suma de integridad MD5 es desconocida:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>El kernel ya está parcheado o es una revisión desconocida. Por favor, enviame este mensaje (presioná "Ctrl" + "C"). Continuá bajo tu propio riesgo.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menú principal</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Lo siento, "{0}" usa el mapeador #{1} pero dicho mapeador no es compatible con la NES Classic Edition y el juego probablemente no arranque con el emulador predeterminado. Pero debería funcionar si hay otro módulo emulador instalado. ¿Querés agregar este juego?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Lo siento, hay {0}MB de juegos, es demasiado.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Tamaño total de memoria escribible: {0:F1}MB|Memoria disponible para juegos: {1:F1}MB|Usada por partidas guardadas: {2:F1}MB|Usada por otros archivos: {3:F1}MB</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Los nuevos juegos se moverán a la carpeta "Sin ordenar".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nueva lista personalizada de juegos</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>"No" a todo</value>
+ </data>
+ <data name="NoKernel">
+ <value>No se encontró el volcado del kernel</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Primero, volcá la imagen del kernel a tu NES Classic Edition. Sólo necesitás hacerlo una vez. ¿Querés continuar?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>No se encontró el volcado del kernel. Primero necesitás volcar el kernel.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>No se puede iniciar el cliente Telnet; parece que está deshabilitado. Primero necesitás habilitarlo: podés hacerlo yendo a "Panel de control" -&gt; "Programas" -&gt; "Activar o desactivar las características de Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>No encontrado:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>¿Querés flashear el kernel original?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Parche disponible</value>
+ </data>
+ <data name="PatchQ">
+ <value>Hay un parque para "{0}". ¿Querés parchear este juego?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Si el problema continúa, probá con otros cable USB u otro puerto.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Esperá, por favor…</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Presioná "Aceptar" para continuar.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Ya realizaste el volcado de kernel. Si REALMENTE querés reemplazar el resguardo de tu kernel y REALMENTE entendés lo que estás haciendo, eliminá la carpeta "hakchi2\dump" manualmente.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Resguardo de los puntos de suspensión de la NES Classic Edition</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Seleccioná al menos un juego.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Seleccioná al menos dos botones.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Seleccioná los módulos para instalar en tu NES Classic Edition</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Seleccioná los módulos para quitar de tu NES Classic Edition</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Tamaño de los puntos de suspensión seleccionados:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>No te olvidés de realizar un restablecimiento predeterminado si querés borrar todos los puntos de suspensión.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>¿Estás seguro que querés quitar todos los rastros de hakchi2 y volver tu NES Classic Edition a su estado original?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Listo. Esperá hasta que la luz indicadora se apague. También necesitás flashear el kernel original. ¿Querés flashearlo ahora?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Desinstalando…</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Desinstalando módulos…</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Juego desconocido</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Cargando nueva configuración…</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Cargando y ejecutando FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Cargando juegos…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Cargando el kernel…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Procesando los juegos originales…</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Falló la verificación. :O Esto no es bueno.</value>
+ </data>
+ <data name="Verifying">
+ <value>Verificando…</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Esperando al dispositivo…</value>
+ </data>
+ <data name="Warning">
+ <value>¡Advertencia!</value>
+ </data>
+ <data name="Wow">
+ <value>¡Esa!</value>
+ </data>
+ <data name="Yes">
+ <value>Sí</value>
+ </data>
+ <data name="YesForAll">
+ <value>"Sí" a todo</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.es-ES.resx b/Properties/Resources.es-ES.resx
new file mode 100644
index 00000000..bb090d31
--- /dev/null
+++ b/Properties/Resources.es-ES.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Procesando juegos, por favor, espera...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Todos los archivos</value>
+ </data>
+ <data name="AreYouSure">
+ <value>¿Estás seguro?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Datos introducidos automáticamente para {0} juegos</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Mantén presionado Select+A/B durante un segundo para activar/desactivar Autofire A/B</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Creando la imagen del custom kernel</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Creando la estructura de las carpetas...</value>
+ </data>
+ <data name="Congratulations">
+ <value>¡Enhorabuena!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Custom kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>¿Quieres flashear el custom kernel?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Ahora tienes que flashear el custom kernel. Esta acción sólo es necesaria realizarla una vez. ¿Quieres continuar?</value>
+ </data>
+ <data name="Default30games">
+ <value>30 juegos originales</value>
+ </data>
+ <data name="DeleteElement">
+ <value>¿Quieres eliminar "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>¿Quieres eliminar {0} ROM(s)?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>¿Quieres eliminar el juego "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>¿Quieres eliminar la lista "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>¿Quieres eliminar los puntos de suspensión seleccionados?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>¿Quieres cancelar la operación actual?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>¿Quieres continuar?</value>
+ </data>
+ <data name="Donate">
+ <value>Si te gusta el proyecto hakchi2, puedes realizarme una donación. Puedes encontrar mi PayPal en la sección "Acerca de..."</value>
+ </data>
+ <data name="Done">
+ <value>El proceso se ha realizado correctamente</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Ya puedes añadir juegos a la NES Mini</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Descargando carátulas para todos los juegos</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>¿Quieres volcar el kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Volcando el kernel...</value>
+ </data>
+ <data name="Error">
+ <value>Error</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Ejecutando el comando:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Puedes añadir línea de comando globales que se aplicarán a todos los juegos, incluyendo los 30 originales. (Sólo para expertos)</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Línea de comando extra</value>
+ </data>
+ <data name="FirstRun">
+ <value>¡Hola! Muchas gracias por usar hakchi2. Este programa es muy fácil de usar, sólo tienes que hacer click en "Añadir más juegos", seleccionar algunas ROMs, presionar "Sincronizar los juegos seleccionados con NES Mini " y seguir las instrucciones</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flasheando el custom kernel...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flasheando el kernel original...</value>
+ </data>
+ <data name="FolderContent">
+ <value>El contenido eliminado se moverá a la papelera de reciclaje, puedes eliminar esta carpeta permanentemente o mover los juegos a otras carpetas</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Atrás</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Más juegos...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nueva carpeta</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 juegos originales</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Papelera de reciclaje</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Sin clasificar</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>La carpeta "{0}" contiene {1} ROM(s)</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>¿Quieres guardar esta estructura de carpetas?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>{0} usa el modo de four-screen (el juego tiene memoria VRAM adicional en el cartucho), y esta función no es compatible con la NES Mini, es probable que no inicie con el emulador predeterminado, pero debería funcionar si tienes un módulo extra instalado de otro emulador. ¿Quieres añadir este juego?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>¿Quieres eliminar el código "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Tienes que escribir un código</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Este código ya existe. ¿Quieres editarlo?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Tienes que escribir una descripción</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Código Game Genie no válido "{0}" para el juego "{1}"</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>No se puede aplicar el código Game Genie "{0}" al juego "{1}" - valor no encontrado. Es posible que este código sea para otro juego</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Juegos y aplicaciones</value>
+ </data>
+ <data name="GamesSelected">
+ <value>juego(s) seleccionados</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Buscando en Google</value>
+ </data>
+ <data name="Hello">
+ <value>Hola</value>
+ </data>
+ <data name="Images">
+ <value>Imágenes</value>
+ </data>
+ <data name="InputPreset">
+ <value>Escribe un nombre para la lista de juegos que tienes seleccionados actualmente</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Instalando módulos...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>El encabezado del kernel no es válido</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>El tamaño del kernel no es válido</value>
+ </data>
+ <data name="KernelDumped">
+ <value>El kernel original se ha guardado en la carpeta "hakchi2\dump". No lo pierdas, ya que es importante</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Cargando juegos...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel volcado, pero la suma de comprobación MD5 es desconocida</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>El kernel ya está parcheado o es una revisión desconocida. Envíame este mensaje (presiona Ctrl+C). Continúa bajo tu propio riesgo</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menú de inicio</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Este juego, "{0}" usa mapeador #{1} y no es compatible con la NES Mini, es probable que no inicie con el emulador predeterminado, pero debería funcionar si tienes un módulo extra instalado de otro emulador. ¿Quieres añadir este juego?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Hay {0} MB en juegos, es mucho y podría dar error al sincronizar, es recomendable liberar memoria</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Memoria total: {0:F1} MB|Disponible para juegos: {1:F1} MB|Usada por los puntos de suspensión: {2:F1} MB|Usada por otros archivos: {3:F1} MB</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Los nuevos juegos se han añadido a la carpeta "Sin clasificar"</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nueva lista</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>No para todos</value>
+ </data>
+ <data name="NoKernel">
+ <value>No se ha encontrado ningún volcado del kernel</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Primero, tienes hacer un volcado del kernel de la NES Mini. Esta acción, sólo es necesaria realizarla una vez. ¿Quieres continuar?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>No se ha encontrado ningún volcado del kernel, primero, tienes que realizar un volcado de él</value>
+ </data>
+ <data name="NoTelnet">
+ <value>No se ha podido iniciar el cliente Telnet, es posible que esté desactivado. Debes activarlo primero, para ello, vete a "Panel de control" -&gt; "Programas y características" -&gt; "Activar o desactivar las características de Windows"</value>
+ </data>
+ <data name="NotFound">
+ <value>No se encuentra:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>¿Quieres flashear el kernel original?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Parche disponible</value>
+ </data>
+ <data name="PatchQ">
+ <value>Hay un parche para "{0}". ¿Quieres parchear este juego?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Si el problema persiste, prueba a utilizar otro cable o puerto USB</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Por favor, espera...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Presiona Ok para continuar</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Ya has realizado el volcado del kernel. Si realmente quieres reemplazar la copia de seguridad de tu kernel y entiendes lo que estás haciendo, borra la carpeta "hakchi2\dump" manualmente</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Copia de seguridad de los puntos de suspensión NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Selecciona al menos un juego</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Selecciona al menos dos botones</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Selecciona los módulos que quieres instalar en la NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Selecciona los módulos que quieres eliminar de la NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Tamaño total de los puntos de suspensión seleccionados:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>No olvides formatear la NES Mini si quieres eliminar todos los puntos de suspensión</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>¿Quieres eliminar todos los datos de hakchi2 y dejar la NES Mini como de fábrica? (Esto no elimina los puntos de suspensión)</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Espera a que la luz del botón Power se apague. Tienes que flashear el kernel original. ¿Quieres flashear el kernel original ahora?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Desinstalando...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Desinstalando módulos...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Juego desconocido</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Actualizando a la nueva configuración...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Cargando y ejecutando fes1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Sincronizando juegos...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Actualizando el kernel...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Procesando los juegos originales...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>La verificación ha fallado</value>
+ </data>
+ <data name="Verifying">
+ <value>Verificando...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Esperando a la NES Mini...</value>
+ </data>
+ <data name="Warning">
+ <value>¡Atención!</value>
+ </data>
+ <data name="Wow">
+ <value>¡Bien!</value>
+ </data>
+ <data name="Yes">
+ <value>Sí</value>
+ </data>
+ <data name="YesForAll">
+ <value>Sí para todos</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.fi-FI.resx b/Properties/Resources.fi-FI.resx
new file mode 100644
index 00000000..5fe89aa8
--- /dev/null
+++ b/Properties/Resources.fi-FI.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Prosessoidaan pelejä, odota ole hyvä...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Kaikki tiedostot</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Oletko varma?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Tiedot täytetty automaattisesti {0} pelille.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Pidä Select+A/B painettuna sekunnin ajan A/B-automaattitulituksen kytkemiseksi päälle ja pois.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Rakennetaan mukautettua ydinkuvaa...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Rakennetaan kansiorakennetta...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Onneksi olkoon!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Mukautettu ydin</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Haluatko flashata mukautetun ytimen?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Nyt sinun täytyy flashata mukautettu ydin NES Miniisi. Tämä tarvitsee tehdä vain kerran. Haluatko jatkaa?</value>
+ </data>
+ <data name="Default30games">
+ <value>Alkuperäiset 30 peliä</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Haluatko, että "{0}" poistetaan varmasti?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Haluatko varmasti poistaa {0} elementtiä?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Haluatko varmasti poistaa pelin "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Haluatko varmasti poistaa valikoiman "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Haluatko varmasti poistaa nämä pelitallennukset?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Haluatko peruuttaa meneillään olevan toiminnon?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Haluatko jatkaa?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Jos tykkäät siitä, voit tehdä minulle lahjoituksen. PayPal-osoitteeni löytyy "Tietoa"-ikkunasta.</value>
+ </data>
+ <data name="Done">
+ <value>Valmis!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Valmis! Voit nyt ladata pelejä NES Miniisi.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Ladataan kansitaidetta kaikille peleille (Kokeilen onneani!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Haluatko dumpata ytimen?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Dumpataan ydintä...</value>
+ </data>
+ <data name="Error">
+ <value>Virhe</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Ajetaan komentoa:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Voit lisätä yleisiä komentoriviargumentteja, jotka lisätään kaikkiin peleihin alkuperäiset 30 mukaan lukien. Tämä on vain asiantuntijoille!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Lisäkomentoriviargumentit</value>
+ </data>
+ <data name="FirstRun">
+ <value>Heipä hei! Olen iloinen, että käytät hakchi2:a. Sen käyttäminen on todella yksinkertaista. Klikkaa vain "Lisää pelejä", valitse ROMeja, paina "Synkronoi" ja seuraa ohjeita. Onnea matkaan!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashataan mukautettua ydintä…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashataan alkuperäistä ydintä…</value>
+ </data>
+ <data name="FolderContent">
+ <value>Poistettu sisältö siirretään Roskakoriin. Voit poistaa tämän kansion pysyvästi tai siirtää pelit muihin kansioihin.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Takaisin</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Lisää pelejä...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Uusi kansio</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Alkuperäiset 30 peliä</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Roskakori</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Lajittelematon</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Kansio "{0}" sisältää {1} elementtiä.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Haluatko tallentaa tämän kansiorakenteen?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Valitettavasti {0} käyttää 4-screen-tilaa (eli pelikasetin VRAM-lisämuistia), eikä NES Mini ei tue tätä ominaisuutta. Peli ei luultavasti käynnisty. Sen pitäisi kuitenkin toimi lisäemulaattorimoduuli asennettuna. Haluatko lisätä pelin joka tapauksessa?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Haluatko poistaa koodin "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Koodi on syötettävä!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Koodi löytyy jo. Haluatko muokata sitä?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Kuvaus on syötettävä!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Virheellinen Game Genie -koodi "{0}" peliin "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Game Genie -koodi "{0}" ei päde peliin "{1}" - arvoa ei löydy. Koodi on ehkä toiseen peliin?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Pelit ja sovellukset</value>
+ </data>
+ <data name="GamesSelected">
+ <value>peli(ä) valittu</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Googlataan</value>
+ </data>
+ <data name="Hello">
+ <value>Hei</value>
+ </data>
+ <data name="Images">
+ <value>Kuvat</value>
+ </data>
+ <data name="InputPreset">
+ <value>Syötä nimi nykyiselle pelivalikoimalle.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Asennetaan moduuleja...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Virheelliset ytimen otsikkotiedot.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Virheellinen ytimen koko:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Alkuperäinen ytimesi on tallennettu "dump"-kansioon. Älä hukkaa sitä.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Ladataan pelejä...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Ydin dumpattiin, mutta MD5-tarkistussumma on tuntematon:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Ydin on jo patchattu tai sen revisio on tuntematon. Ole hyvä ja lähetä tämä viesti minulle (paina Ctrl+C). Jatka omalla vastuullasi.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Päävalikko</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Valitettavasti "{0}" käyttää mapperia #{1}, jota NES Mini ei tue ja peli ei luultavasti käynnisty oletusemulaattorilla. Sen pitäisi kuitenkin toimi lisäemulaattorimoduuli asennettuna. Haluatko lisätä pelin?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Valitettavasti {0} megatavua pelejä on liikaa.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Kirjoitettavan muistin kokonaismäärä: {0:F1} megatavua|Muistia tarjolla peleille: {1:F1} megatavua|Tallennukset vievät: {2:F1} megatavua|Muut tiedostot vievät: {3:F1} megatavua</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Uudet pelit siirretään "Lajittelematon"-kansioon.</value>
+ </data>
+ <data name="NewPreset">
+ <value>Uusi pelivalikoima</value>
+ </data>
+ <data name="No">
+ <value>Ei</value>
+ </data>
+ <data name="NoForAll">
+ <value>Ei kaikkiin</value>
+ </data>
+ <data name="NoKernel">
+ <value>Dumpattua ydintä ei löydy</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Dumppaa aluksi NES Minisi ydin. Tämä on tarve tehdä vain kerran. Haluatko jatkaa?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Dumpattua ydintä ei löydy. Sinun on dumpattava ydin ensin.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Telnet-asiakasohjelmaa ei voida käynnistää, koska se vaikuttaa olevan poissa käytöstä. Se täytyy ensin ottaa käyttöön: "Ohjauspaneeli" - &gt; "Ohjelmat" - &gt; "Ota Windowsin ominaisuuksia käyttöön tai poista niitä käytöstä".</value>
+ </data>
+ <data name="NotFound">
+ <value>Ei löytynyt:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Haluatko flashata alkuperäisytimen?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Korjaustiedosto tarjolla</value>
+ </data>
+ <data name="PatchQ">
+ <value>Pelille "{0}" löytyy korjaustiedosto. Haluatko korjata pelin?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Jos ongelma ei poistu, yritä käyttää toista USB-porttia tai -kaapelia.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Odota, ole hyvä...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Paina OK jatkaaksesi.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Sinulla on jo dumpattu ydin. Jos TODELLA haluat korvata ytimesi varmuuskopion ja TODELLA ymmärrät mitä olet tekemässä, poista "dump"-kansio manuaalisesti.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini -pelitallennusten varmuuskopiot</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Valitse ainakin yksi peli.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Valitse ainakin kaksi nappia.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Valitse NES Miniisi asennettavat moduulit.</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Valitse NES Ministäsi poistettavat moduulit.</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Valittujen tallennusten koko:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Älä unohda tehdä tehdasasetusten palautusta, jos haluat poistaa kaikki pelitilanteen tallennukset.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Haluatko varmasti poistaa kaikki jäljet hakchi2:sta ja palauttaa NES Minisi alkuperäistilaan?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Valmis! Odota, kunnes POWER-ledi sammuu. Sinun täytyy myös flashata alkuperäinen ydin. Haluatko tehdä sen nyt?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Poistetaan asennusta...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Poistetaan moduuleja...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Tuntematon peli</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Ladataan uusia asetuksia...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Ladataan ja ajetaan FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Ladataan pelejä...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Ladataan ydintä...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Prosessoidaan alkuperäispelejä...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Tarkistus epäonnistui :O Tämä ei vaikuta hyvältä.</value>
+ </data>
+ <data name="Verifying">
+ <value>Tarkistetaan...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Odotetaan laitetta…</value>
+ </data>
+ <data name="Warning">
+ <value>Varoitus!</value>
+ </data>
+ <data name="Wow">
+ <value>Jee</value>
+ </data>
+ <data name="Yes">
+ <value>Kyllä</value>
+ </data>
+ <data name="YesForAll">
+ <value>Kyllä kaikkiin</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.fr-FR.resx b/Properties/Resources.fr-FR.resx
new file mode 100644
index 00000000..d96e1317
--- /dev/null
+++ b/Properties/Resources.fr-FR.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Traitement des jeux, patientez…</value>
+ </data>
+ <data name="AllFiles">
+ <value>Tous les fichiers</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Êtes-vous sûr?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Données automatiquement remplies pour {0} jeu(x).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Maintenez Select+A/B pendant quelques secondes pour activer/désactiver l'autofire A/B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Construction de l'image du Kernel Custom…</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Construction de la structure des dossiers…</value>
+ </data>
+ <data name="Congratulations">
+ <value>Félicitations!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Kernel Custom</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Voulez-vous flasher le Kernel Custom?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Maintenant vous avez besoin de flasher le Kernel Custom sur votre NES Mini. Voulez-vous continuer?</value>
+ </data>
+ <data name="Default30games">
+ <value>30 Jeux originaux</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Voulez vous vraiment supprimer "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Voulez-vous vraiment supprimer "{0}" élément(s)?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Voulez-vous vraiment supprimer le jeu "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Voulez-vous vraiment supprimer le Preset "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Voulez-vous vraiment supprimer définitivement ces sauvegardes ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Voulez-vous annuler l'opération en cours?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Voulez-vous continuer?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Si vous aimez mon programme, vous pouvez me faire un don. Vous trouverez mon Paypal dans la fenêtre "A Propos".</value>
+ </data>
+ <data name="Done">
+ <value>Terminé!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Terminé! Vous pouvez envoyer vos jeux sur votre NES Mini maintenant.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Télécharger les pochettes pour tous les jeux (Je me sens chanceux!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Voulez-vous extraire le Kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Extraction du Kernel…</value>
+ </data>
+ <data name="Error">
+ <value>Erreur</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Exécution des commandes:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Vous pouvez ajouter des arguments de ligne de commande globale qui seront ajoutés à tous les jeux, les 30 originaux inclus. Pour utilisateurs avancés seulement!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Arguments ligne de commande supplémentaires</value>
+ </data>
+ <data name="FirstRun">
+ <value>Salut toi! Je suis vraiment content que tu utilises hakchi2. Il est simple d'utilisation. Tu as juste à cliquer sur "Ajouter plus de jeux", choisir différents ROMs, appuyez sur "Synchroniser" et suivre les instructions. Bonne chance!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flash du Kernel Custom…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flash du Kernel d'origine…</value>
+ </data>
+ <data name="FolderContent">
+ <value>Le contenu supprimé sera déplacé vers la Corbeille. Vous pouvez supprimer définitivement ce dossier ou déplacer les jeux vers un autre dossier.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Retour</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Plus de jeux…</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nouveau dossier</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 Jeux originaux</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Corbeille</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>À classer</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Le dossier "{0}" contient {1} élément(s).</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Voulez vous enregistrer cette structure de dossiers?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Désolé, {0} utilise le mode quatre-écrans (note: ce jeu a de la mémoire VRAM complémentaire dans sa cartouche), ce qui n'est pas supporté par la NES Mini. Votre jeu ne va probablement pas démarrer. Mais cela peut fonctionner si d'autres modules émulateurs sont installés. Voulez-vous quand même ajouter ce jeu?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Voulez-vous supprimer le code "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Vous devez entrer un code!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Ce code existe déjà. Voulez vous l'éditer?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Vous devez entrer une description!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Code Game Genie invalide "{0}" pour le jeu "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Impossible d'appliquer le code Game Genie "{0}" sur le jeu "{1}" - valeur non trouvée. Peut-être que ce code est pour un autre jeu?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Jeux et applications</value>
+ </data>
+ <data name="GamesSelected">
+ <value>jeu(x) sélectionné(s)</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Recherche Google pour</value>
+ </data>
+ <data name="Hello">
+ <value>Bonjour</value>
+ </data>
+ <data name="Images">
+ <value>Images</value>
+ </data>
+ <data name="InputPreset">
+ <value>Merci d'entrer un nom de Preset pour la sélection actuelle des jeux.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Installation des modules…</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Header du Kernel invalide.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Taille du Kernel invalide.</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Votre Kernel d'origine est sauvegardé dans le dossier "hakchi2\dump". Ne le perdez pas.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Chargement des jeux…</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel sauvegardé mais le checksum MD5 est inconnu:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Le Kernel est déjà patché ou c'est une version inconnue. Merci de m'envoyer un message (Appuyez sur CTRL+C). Continuez à vos risques et périls.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menu principal</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Désolé, "{0}" utilise le mapper #{1} mais ce mapper n'est pas supporté par la NES Mini et le jeu ne va probablement pas démarrer avec l'émulateur par defaut. Mais cela peut fonctionner si d'autres modules émulateurs sont installés. Voulez-vous ajouter ce jeu?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Désolé, il y a {0}Mbytes de jeux, c'est trop.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Taille totale de la mémoire: {0:F1}MBytes|Mémoire disponible pour les jeux: {1:F1}MBytes|Utilisé par les sauvegardes: {2:F1}MBytes|Utilisé par d'autres fichiers: {3:F1}Mbytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Les nouveaux jeux ont été déplacés dans le dossier "À classer".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nouveau Preset de sélection</value>
+ </data>
+ <data name="No">
+ <value>Non</value>
+ </data>
+ <data name="NoForAll">
+ <value>Non pour tous</value>
+ </data>
+ <data name="NoKernel">
+ <value>Aucune sauvegarde du Kernel trouvé</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>D'abord, vous devez sauvegarder l'image Kernel de votre NES Mini. Cette opération doit être faite une seule fois. Voulez-vous continuer?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Pas de sauvegarde du Kernel trouvé. Vous devez d'abord sauvegarder le Kernel.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Impossible d'ouvrir le client Telnet. Il est probablement désactivé. Pour l'activer, allez dans le "Panneau de Configuration", sélectionnez "Programmes" puis "Activer ou désactiver des fonctionnalités de Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Non trouvé:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Voulez-vous flasher le Kernel d'origine?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch disponible</value>
+ </data>
+ <data name="PatchQ">
+ <value>Il y a une patch pour "{0}". Voulez-vous l'appliquer sur ce jeu?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Si le problème persiste, essayez d'utiliser un autre port ou cable USB.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Veuillez patienter...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Appuyez sur OK pour continuer.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Vous avez déjà sauvegardé le Kernel. Si vous voulez vraiment remplacer la copie de sauvegarde de votre Kernel et que vous comprenez vraiment ce que vous faites, supprimez le dossier "hakchi2\dump" manuellement.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Sauvegardes NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Sélectioner au moins un jeu.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Sélectionnez au moins deux boutons.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Sélectionnez les modules à installer sur votre NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Sélectionnez les modules à désinstaller de votre NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Taille des sauvegardes sélectionnées :</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>N'oubliez pas de rétablir les paramètres d'origine de votre NES Mini si vous voulez supprimer tous les Suspend Points.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Voulez-vous vraiment supprimer toutes traces de Hakchi2 et remettre votre NES Mini dans son état d'origine?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Terminé! Patientez jusqu'à ce que la diode POWER soit éteinte. Pour complétez la désinstallation vous devez flasher le Kernel d'origine. Voulez-vous le flasher maintenant?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Désinstallation…</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Désinstallation des modules…</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Jeu inconnu</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Transfert de la nouvelle configuration…</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Transfert et démarrage du FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Transfert des jeux…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Transfert du Kernel…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Traitement des jeux originaux…</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>La vérification a échoué :O Ce n'est pas bon signe.</value>
+ </data>
+ <data name="Verifying">
+ <value>Vérification…</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>En attente du périphérique…</value>
+ </data>
+ <data name="Warning">
+ <value>Attention!</value>
+ </data>
+ <data name="Wow">
+ <value>Wow</value>
+ </data>
+ <data name="Yes">
+ <value>Oui</value>
+ </data>
+ <data name="YesForAll">
+ <value>Oui pour tous</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.id-ID.resx b/Properties/Resources.id-ID.resx
new file mode 100644
index 00000000..0f5aa0a7
--- /dev/null
+++ b/Properties/Resources.id-ID.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Game sedang diproses, mohon tunggu...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Semua fail</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Apakah Anda yakin?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Data otomatis terisi untuk {0} game.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Tahan Select+A/B selama satu detik untuk mengaktifkan/menonaktifkan autofire A/B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Membuat image kernel custom...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Membangun Folder Structure...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Selamat!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Kernel custom</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Apakah Anda ingin mem-flash kernel custom?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Sekarang Anda harus mem-flash kernel custom ke NES Mini. Ini hanya perlu dilakukan sekali saja. Apakah Anda ingin melanjutkan?</value>
+ </data>
+ <data name="Default30games">
+ <value>30 game orisinal</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Apakah Anda ingin menghapus "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Apakah Anda ingin menghapus {0} elemen?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Apakah Anda ingin menghapus game "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Apakah Anda ingin menghapus pra-atur "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Apakah Anda ingin menghapus Save State tersebut?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Apakah Anda ingin membatalkan operasi ini?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Apakah Anda ingin melanjutkan?</value>
+ </data>
+ <data name="Donate">
+ <value>NB: Jika Anda menyukai aplikasi ini, Anda dapat memberikan donasi kepada saya. Akun PayPal saya bisa dilihat di kotak "Tentang"..</value>
+ </data>
+ <data name="Done">
+ <value>Selesai!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Selesai! Kini Anda dapat mengunggah game ke dalam NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Unduh box art untuk semua game (Saya lagi beruntung!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Apakah Anda ingin men-dump kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Men-dump kernel...</value>
+ </data>
+ <data name="Error">
+ <value>Error</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Melaksanakan perintah:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Anda dapat menambahkan global command-line arguments yang akan ditambahkan ke semua game termasuk 30 game orisinal. Ini hanya untuk yang ahli!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Command-line arguments ekstra</value>
+ </data>
+ <data name="FirstRun">
+ <value>Halo! Saya senang Anda menggunakan hakchi2. Aplikasi ini sangatlah mudah digunakan. Cukup klik "Tambah game lagi", pilih ROM, klik "Sinkronkan", kemudian ikuti saja instruksi selanjutnya. Semoga sukses!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Mem-flash kernel custom...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Mem-flash kernel orisinal...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Game yang terhapus akan dipindahkan ke dalam Recycle Bin. Anda dapat menghapus folder ini secara permanen atau memindahkan game-nya ke folder yang lain.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Kembali</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Game-game lainnya...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Folder baru</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 game orisinal</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Belum Tersortir</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Folder "{0}" berisi {1} elemen.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Apakah Anda ingin menyimpan Folder Structure ini?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Maaf, {0} menggunakan moda empat layar (game tersebut memiliki memori VRAM tambahan di dalam kartrid) dan fitur ini tidak didukung oleh NES Mini. Game ini mungkin tidak akan dapat dimainkan, kecuali jika ada modul emulator lain yang diinstal. Apakah Anda tetap ingin menambahkannya?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Apakah Anda ingin menghapus kode "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Anda harus memasukkan kode!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Kode ini sudah ada. Apakah Anda ingin mengeditnya?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Anda harus memasukkan deskripsi!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Kode Game Genie "{0}" tidak valid untuk game "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Tidak dapat menerapkan kode Game Genie "{0}" pada game "{1}" - value tidak ditemukan. Bisa jadi kode ini untuk game lainnya.</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Game dan aplikasi</value>
+ </data>
+ <data name="GamesSelected">
+ <value>game dipilih</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Meng-Google untuk</value>
+ </data>
+ <data name="Hello">
+ <value>Halo</value>
+ </data>
+ <data name="Images">
+ <value>Gambar</value>
+ </data>
+ <data name="InputPreset">
+ <value>Mohon masukkan nama pra-atur untuk pilihan game saat ini.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Menginstal mod...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Header kernel tidak valid.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ukuran kernel tidak valid:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Kernel orisinal Anda tersimpan di dalam folder "hakchi2\dump". Jangan sampai hilang.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Memuat game...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel dapat di-dump tetapi MD5 checksum tidak diketahui:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Kernel ini sudah di-patch atau tidak diketahui revisinya. Beritahukan hal ini kepada saya (tekan Ctrl+C). Silakan tanggung sendiri risikonya jika memilih untuk melanjutkan.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menu Home</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Maaf, "{0}" menggunakan mapper #{1} tetapi mapper ini tidak didukung oleh NES Mini dan game ini mungkin tidak akan dapat dimainkan dengan emulator bawaan, kecuali jika modul emulator lain diinstal. Apakah Anda tetap ingin menambahkan game ini?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Maaf, jumlah game Anda saat ini adalah {0}MB, terlalu banyak untuk disimpan.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Ukuran memori yang dapat diisi: {0:F1}MB|Memori tersedia untuk game: {1:F1}MB|Digunakan untuk save: {2:F1}MB|Digunakan oleh fail lain: {3:F1}MB</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Game-game baru berada di dalam folder "Belum Tersortir".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Pra-atur pilihan baru</value>
+ </data>
+ <data name="No">
+ <value>Tidak</value>
+ </data>
+ <data name="NoForAll">
+ <value>Tidak untuk semua</value>
+ </data>
+ <data name="NoKernel">
+ <value>Dump kernel tidak ditemukan</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Pertama, dump image kernel NES Mini Anda. Ini hanya perlu dilakukan sekali saja. Apakah Anda ingin melanjutkan?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Dump kernel tidak ditemukan. Anda harus men-dump kernel terlebih dahulu.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Tidak dapat memulai klien Telnet, sepertinya dinonaktifkan. Anda harus mengaktifkannya terlebih dahulu di "Control Panel" -&gt; "Programs" -&gt; "Turn Windows features on or off".</value>
+ </data>
+ <data name="NotFound">
+ <value>Tidak ditemukan:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Apakah Anda ingin mem-flash kernel orisinal?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch tersedia</value>
+ </data>
+ <data name="PatchQ">
+ <value>Patch untuk "{0}" tersedia. Apakah Anda ingin mem-patch game ini?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Jika masalah berlanjut, cobalah gunakan port atau kabel USB lainnya.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Mohon tunggu...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Tekan OK untuk melanjutkan.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Anda sudah mempunyai dump kernel. Jika Anda BENAR-BENAR ingin mengganti dump cadangan Anda dan tahu BENAR apa yang Anda lakukan, hapus folder "hakchi2\dump" secara manual.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Cadangan Save State NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Pilih setidaknya satu game.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Pilih setidaknya dua tombol.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Pilih modul yang akan diinstal di NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Pilih modul yang akan dicopot dari NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Ukuran Save State yang dipilih</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Jangan lupa untuk melakukan Factory Reset jika Anda ingin menghapus semua Suspend Point.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Apakah Anda ingin menghapus semua jejak hakchi2 dan mengembalikan NES Mini Anda ke kondisi semula?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Selesai. Tunggu sampai lampu LED tombol POWER mati. Anda juga harus mem-flash kernel orisinal. Apakah Anda ingin melakukannya sekarang?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Mencopot...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Mencopot mod...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Game tidak diketahui</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Mengunggah konfigurasi baru...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Mengunggah dan menjalankan FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Mengunggah game...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Mengunggah kernel...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Memproses game orisinal...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verifikasi gagal :O Ini buruk.</value>
+ </data>
+ <data name="Verifying">
+ <value>Memverifikasi...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Menunggu perangkat...</value>
+ </data>
+ <data name="Warning">
+ <value>Peringatan!</value>
+ </data>
+ <data name="Wow">
+ <value>Wow</value>
+ </data>
+ <data name="Yes">
+ <value>Ya</value>
+ </data>
+ <data name="YesForAll">
+ <value>Ya untuk semua</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.it-IT.resx b/Properties/Resources.it-IT.resx
new file mode 100644
index 00000000..bfb81c95
--- /dev/null
+++ b/Properties/Resources.it-IT.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Sto processando i giochi, attendere prego...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Tutti i files</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Sei sicuro?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Dati inseriti automaticamente per {0} gioco(i)</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Tieni premuto Select+A/B per 1 secondo per abilitare/disabilitare l'autofire A/B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Creazione dell'immagine del kernel modificato…</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Sto costruendo la struttura cartelle…</value>
+ </data>
+ <data name="Congratulations">
+ <value>Congratulazioni!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Kernel modificato</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Vuoi flashare il kernel modificato?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Ora è necessario flashare il custom kernel nel NES Mini. E'richiesto 1 sola volta. Vuoi continuare?</value>
+ </data>
+ <data name="Default30games">
+ <value>30 giochi originali</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Vuoi veramente cancellare "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Vuoi veramente cancellare gli elementi {0} ?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Vuoi veramente cancellare il gioco "{0}" ?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Vuoi veramente cancellare il preset "{0}" ?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Vuoi veramente cancellare questi punti di sospensione?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Vuoi cancellare l'operazione in corso?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Vuoi continuare?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Se il programma ti piace puoi donare qualcosa. Puoi trovare il mio PayPal nel box "Informazioni".</value>
+ </data>
+ <data name="Done">
+ <value>Fatto!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Fatto! Ora è possibile caricare i giochi nel NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Scarica le copertine per tutti i giochi (mi sento fortunato!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Vuoi dumpare il kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Sto dumpando il kernel…</value>
+ </data>
+ <data name="Error">
+ <value>Errore</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Sto eseguendo il comando:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>E'possibile aggiungere argomenti da linea di comando che saranno aggiunti a tutti i giochi compresi i 30 originali. Solo per esperti!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Argomenti da linea di comando extra</value>
+ </data>
+ <data name="FirstRun">
+ <value>Ciao! Sono molto felice che tu stia usando hakchi2. E'molto facile da usare. Clicca semplicemente sui "Aggiungi altri giochi", seleziona alcune ROMs, premi "Sincronizza" e segui le istruzioni. Buona fortuna!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Sto flashando il kernel modificato…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Sto flashando il kernel originale…</value>
+ </data>
+ <data name="FolderContent">
+ <value>I contenuti cancellati verranno spostati nel cestino. Puoi cancellare definitivamente tale cartella o spostare i giochi in altre cartelle.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Indietro</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Più giochi…</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nuova cartella</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 giochi originali</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Cestino</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Non classificati</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>La cartella "{0}" contiene {1} elementi.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Vuoi salvare questa struttura cartelle?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Mi dispiace, ma "{0}" utilizza la modalità "four-screen" (es. il gioco utilizza memoria VRAM aggiuntiva nella cartuccia) e questa caratteristica non è supportata dal NES Mini. Il gioco probabilmente non partirà con l'emulatore originale di default. Dovrebbe invece funzionare se si è installato il modulo di un altro emulatore. Vuoi aggiungere il gioco comunque?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Vuoi cancellare il codice "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Va inserito un codice!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Questo codice esiste già. Vuoi modificarlo?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Va inserita una descrizione!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Codice Game Genie "{0}" non valido per il gioco "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Non è possibile applicare il codice Game Genie "{0}" al gioco "{1}" - valore non trovato. Forse il codice è per un gioco diverso?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Giochi e Applicazioni</value>
+ </data>
+ <data name="GamesSelected">
+ <value>gioco(i) selezionato(i)</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Cerca con google</value>
+ </data>
+ <data name="Hello">
+ <value>Ciao</value>
+ </data>
+ <data name="Images">
+ <value>Immagini</value>
+ </data>
+ <data name="InputPreset">
+ <value>Inserire un nome per il preset della attuale selezione di giochi.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Sto installando le mods…</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Header del kernel non valido.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Dimensione del kernel non valida:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Il kernel originale è stato salvato nella cartella "hakchi2\dump". Non perderlo.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Sto caricando i giochi…</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel dumpato ma il checksum MD5 è sconosciuto:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Il kernel è stato già modificato oppure è una revisione sconosciuta. Per favore inviatemi questo messaggio (premere Ctrl+C). Continuate a vostro rischio e pericolo.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menu HOME</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Mi dispiace, ma "{0}" utilizza il mapper #{1} e questo mapper non è supportato dal NES Mini ed il gioco probabilmente non partirà con l'emulatore originale di default. Dovrebbe invece funzionare se si è installato il modulo di un altro emulatore. Vuoi aggiungere il gioco comunque?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Mi dispiace, ci sono {0}Mbytes, sono troppi.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>&amp;Strumenti</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>I nuovi giochi sono stati spostati nella cartella "Unsorted".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nuova selezione preset</value>
+ </data>
+ <data name="No">
+ <value>No</value>
+ </data>
+ <data name="NoForAll">
+ <value>No per tutti</value>
+ </data>
+ <data name="NoKernel">
+ <value>Non è stato trovato alcun dump del kernel</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Prima di tutto dumpare l'immagine del kernel del proprio NES Mini. Questa operazione va eseguita 1 sola volta. Vuoi continuare?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Non è stato trovato alcun dump del kernel. Devi prima di tutto dumpare il kernel.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Impossibile avviare il client Telnet, sembra disabilitato. Va prima abilitato da "Pannello di Controllo" -&gt; "Programmi" -&gt; "Attivazione o disattivazione delle funzionalità Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Non trovato:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Vuoi flashare il kernel originale?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch disponibile</value>
+ </data>
+ <data name="PatchQ">
+ <value>Esiste una patch per "{0}". Vuoi applicarla al gioco?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Se il problema persiste, prova ad utilizzare un'altra porta USB oppure un cavo USB differente.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Attendere prego...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Premere OK per continuare.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Hai già il dump del kernel. Se vuoi VERAMENTE sostituire il backup del kernel e sai VERAMENTE cosa stai facendo, cancella la cartella "hakchi2\dump" manualmente.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Backup dei punti di sospensione del NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Seleziona almeno 1 gioco.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Selezionare almeno 2 pulsanti.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Seleziona il modulo da installare nel NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Seleziona il modulo da rimuovere dal NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Dimensione dei punti di sospensione selezionati</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Non dimenticare di eseguire un factory reset se si desidera cancellare tutti i punti di sospensione.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Vuoi veramente rimuovere ogni traccia di hakchi2 e far ritornare il tuo NES Mini al suo stato originale?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Fatto. Attendere che il power LED si spenga. Va inoltre flashato il kernel originale. Vuoi flashare il kernel originale ora?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Sto disinstallando…</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Sto disinstallando le mods…</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Gioco sconosciuto</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Caricando la nuova configurazione…</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Sto caricando ed eseguendo FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Sto caricando i giochi…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Sto caricando il kernel…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Processando i giochi originali…</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verifica fallita :O Questo non va bene.</value>
+ </data>
+ <data name="Verifying">
+ <value>Sto verificando…</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>In attesa del dispositivo…</value>
+ </data>
+ <data name="Warning">
+ <value>Attenzione!</value>
+ </data>
+ <data name="Wow">
+ <value>Wow</value>
+ </data>
+ <data name="Yes">
+ <value>Si</value>
+ </data>
+ <data name="YesForAll">
+ <value>Si per tutti</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.nl.resx b/Properties/Resources.nl.resx
new file mode 100644
index 00000000..7cb99d49
--- /dev/null
+++ b/Properties/Resources.nl.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>De spellen aan het verwerken, nog even geduld alstjeblieft...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Alle bestanden</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Weet je het zeker?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>De data is automatisch aangevuld voor {0} spel(len).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Houd Select+A/B even ingedrukt om autofire A/B aan of uit te schakelen</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>De aangepaste kernel aan het opbouwen...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>De mappen structuur aan het bouwen...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Gefeliciteerd!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Aangepaste kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Wil je de aangepast kernel flashen?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Nu moet je de aangepaste kernel nog naar je NES Mini flashen. Dit hoeft maar één keer. Wil je doorgaan?</value>
+ </data>
+ <data name="Default30games">
+ <value>De originele 30 spellen</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Wil je echt “{0}†verwijderen ?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Wil je echt “{0}â€ROMS verwijderen?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Wil je echt spel “{0}†verwijderen?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Wil je echt instelling “{0}†verwijderen?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Wil je echt alle onderbrekingspunten verwijderen?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Wil je de huidige werkzaamheden afbreken ?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Wil je doorgaan?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Als je dit programma leuk vind, dan wil je vast wat doneren. Je kunt mijn PayPal informatie vinden in “Overâ€...</value>
+ </data>
+ <data name="Done">
+ <value>Klaar!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Klaar! Je kunt nu je spellen naar je NES Mini uploaden.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Download de originele verpakking voor alle spellen (Het geluk staat aan mijn kant!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Wil je de kernel opslaan?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Kernel aan het opslaan...</value>
+ </data>
+ <data name="Error">
+ <value>Fout</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Commando's aan het uitvoeren:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Je kunt een globale opdracht regel toevoegen voor alle spellen, inclusief de originele 30. Dit is alleen voor experts!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Extra opdracht regel commando's</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hallo! Ik vind het fijn dat je Hakchi2 gebruikt. Het is simpel in gebruik. Klik gewoon op “Meer spellen toevoegenâ€, selecteer wat ROMS, druk op â€Synchroniseren†en lees de instructies. Veel plezier!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>De aangepaste kernel aan het flashen...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>De originele kernel aan het flashen...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Verwijderde spellen worden in de prullenbak geplaast. Je kunt deze map in zijn geheel verwijderen of de spellen naar een andere map verplaatsen.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Terug</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Meer spellen...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nieuwe map</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>De originele 30 spellen</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Prullenbak</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Ongesorteerd</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Map “{0}†bevat {1} ROM.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Wil je deze mappen structuur bewaren?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Sorry maar “{0}†gebruikt four-screen mode (m.a.w. dit spel heeft extra VRAM geheugen in de originele cartridge) en dit wordt niet ondersteund door de NES Mini emulator en dit spel zal waarschijnlijk niet werken. Maar waarschijnlijk wel met een andere emulator. Wil je het toch proberen?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Wil je code “{0}†verwijderen?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Je moet een code invullen!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Deze code bestaat al. Wil je hem bewerken?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Je moet een beschrijving invullen!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Ongeldige Game Genie code “{0}†voor spel “{1}â€.</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Kan geen Game Genie code “{0}†toepassen voor spel “{1}†– waarde niet gevonden. Misschien is deze code voor een ander spel?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Spellen en apps</value>
+ </data>
+ <data name="GamesSelected">
+ <value>spel(len) geselecteerd</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Aan het Googlen voor</value>
+ </data>
+ <data name="Hello">
+ <value>Hallo</value>
+ </data>
+ <data name="Images">
+ <value>Afbeeldingen</value>
+ </data>
+ <data name="InputPreset">
+ <value>Vul alstjeblieft een</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Modules aan het installeren...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ongeldige kernel header.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ongeldige kernel grootte.</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Je originele kernel is opgeslagen in de “dump†map. Verlies het niet!</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Spellen aan het laden...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>De opgeslagen kernel heeft een onbekende MD5 check-sum:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>De kernel is al gepatched maar het is een onbekende versie. Stuur dit naar me toe, alstjeblieft, druk op CTRL-C. Doorgaan is op eigen risico.</value>
+ </data>
+ <data name="MainMenu">
+ <value>HOME Menu</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Sorry maar “{0}†gebruikt mapper #{1} en die wordt niet ondersteund door de NES Mini emulator en dit spel zal waarschijnlijk niet werken. Maar wel met een andere emulator. Wil je het toch proberen?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Sorry, maar er is “{0}â€MBytes aan spellen, het is te groot.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Totaal schrijfbaar geheugen: {0:F1}MBytes|Beschikbaar geheugen voor spellen: {1:F1}MBytes|Gebruikt voor savegames: {2:F1}MBytes|Gebruikt door andere bestanden: {3:F1}MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Nieuwe spellen worden verplaatst naar de “Ongesorteerd†map.</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nieuw instelling selectie</value>
+ </data>
+ <data name="No">
+ <value>Nee</value>
+ </data>
+ <data name="NoForAll">
+ <value>Op alles nee</value>
+ </data>
+ <data name="NoKernel">
+ <value>Geen opgeslagen kopie van de kernel gevonden</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Allereerst, bewaar een kopie van de originele kernel van je NES Mini. Je hoeft dit maar één keer te doen. Wil je doorgaan?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Geen opgeslagen kopie van de kernel gevonden. Je moet de kernel eerst opslaan.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Ik kan de Telnet client niet starten, het lijkt alsof het uitgeschakeld is. Je moet het eerst weer inschakelen. Dat doe je in het “Configuratiescherm†-&gt; "Programma's" -&gt; "Windows onderdelen in-of uitschakelen".</value>
+ </data>
+ <data name="NotFound">
+ <value>Niet gevonden:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Wil je de originele kernel flashen?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch beschikbaar</value>
+ </data>
+ <data name="PatchQ">
+ <value>Er is een patch voor “{0}â€. Wil je dit spel patchen?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Als dit probleem blijft bestaan, probeer dan een andere USB poort of een andere USB kabel</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Even geduld a.u.b...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Druk op OK om door te gaan.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Je hebt de kernel al opgeslagen. Maar als je ECHT de originele backup van je kernel wilt overschrijven en je ECHT zeker weet wat je doet, verwijder de map met de back je kernel dan handmatig.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini onderbrekingspunten backups</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Selecteer tenminste één spel.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Selecteer tenminste 2 knoppen</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Selecteer de modules die je op je NES Mini wilt installeren</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Selecteer de modules die je van je NES Mini wilt verwijderen</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>De grootte van de geselecteerde onderbrekingspunten:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Vergeet niet om een factory reset te doen als je alle Suspend Points wilt verwijderen.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Wil je echt alle sporen van Hakchi2 verwijderen van je Mini NES en hem weer origineel maken?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Klaar. Wacht tot de rode LED uitgaat.</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Deïnstalleren...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Modules aan het deïnstalleren...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Onbekend spel</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Nieuw configuratie aan het uploaden...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>FES-1 aan het uploaden en uitvoeren...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Spellen aan het uploaden...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Kernel aan het uploaden...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>De originele spellen aan het verwerken...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Controle niet gelukt :O Dit is echt niet goed.</value>
+ </data>
+ <data name="Verifying">
+ <value>Controleren...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Aan het wachten op het apparaat...</value>
+ </data>
+ <data name="Warning">
+ <value>Waarschuwing!</value>
+ </data>
+ <data name="Wow">
+ <value>Wauw</value>
+ </data>
+ <data name="Yes">
+ <value>Ja</value>
+ </data>
+ <data name="YesForAll">
+ <value>Op alles ja</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.pl-PL.resx b/Properties/Resources.pl-PL.resx
index ab145486..31bcace8 100644
--- a/Properties/Resources.pl-PL.resx
+++ b/Properties/Resources.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,377 +58,325 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="AreYouSure" xml:space="preserve">
+ <data name="AddingGames">
+ <value>Przetwarzanie gier, proszę czekać...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Wszystkie pliki</value>
+ </data>
+ <data name="AreYouSure">
<value>JesteÅ› pewien?</value>
</data>
- <data name="BuildingCustom" xml:space="preserve">
+ <data name="AutofillResult">
+ <value>Dane automatycznie uzupełniono dla {0} gier.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Przytrzymaj Select+A/B przez sekundę, aby wł/wył autofire dla A/B.</value>
+ </data>
+ <data name="BuildingCustom">
<value>Budowanie zmodyfikowanego obrazu kernela...</value>
</data>
- <data name="Congratulations" xml:space="preserve">
+ <data name="BuildingFolders">
+ <value>Budowanie struktury katalogów...</value>
+ </data>
+ <data name="Congratulations">
<value>Gratulacje!</value>
</data>
- <data name="CustomKernel" xml:space="preserve">
+ <data name="CustomKernel">
<value>Zmodyfikowany kernel</value>
</data>
- <data name="CustomKernelQ" xml:space="preserve">
+ <data name="CustomKernelQ">
<value>Czy chcesz wgrać zmodyfikowany kernel?</value>
</data>
- <data name="CustomWarning" xml:space="preserve">
+ <data name="CustomWarning">
<value>Teraz musisz wgrać zmodyfikowany kernel do swojej NES Mini. Wgranie jest wymagane jednorazowo. Czy chcesz kontynuować?</value>
</data>
- <data name="Default30games" xml:space="preserve">
- <value>Originalne 30 gier</value>
+ <data name="Default30games">
+ <value>&lt;- Original games</value>
</data>
- <data name="DeleteQ" xml:space="preserve">
- <value>Usunąć {0}?</value>
+ <data name="DeleteElement">
+ <value>Czy na pewno chcesz usunąć "{0}"?</value>
</data>
- <data name="Done" xml:space="preserve">
- <value>Gotowe!</value>
+ <data name="DeleteElements">
+ <value>Czy na pewno chcesz usunąć {0} elementów?</value>
</data>
- <data name="DoneUploaded" xml:space="preserve">
- <value>Gotowe! Poczekaj, aż dioda zasilania zgaśnie, po czym zrestartuj NES Mini.</value>
+ <data name="DeleteGame">
+ <value>Czy na pewno chcesz usunąć grę "{0}"?</value>
</data>
- <data name="DoneYouCanUpload" xml:space="preserve">
- <value>Gotowe! Możesz teraz wgrywać gry do NES Mini.</value>
+ <data name="DeletePreset">
+ <value>Czy na pewno chcesz usunąć preset "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Czy na pewno chcesz usunąć te save'y?</value>
</data>
- <data name="DoYouWantCancel" xml:space="preserve">
+ <data name="DoYouWantCancel">
<value>Czy chcesz anulować bieżącą operację?</value>
</data>
- <data name="DoYouWantToContinue" xml:space="preserve">
+ <data name="DoYouWantToContinue">
<value>Czy chcesz kontynuować?</value>
</data>
- <data name="DumpingKernel" xml:space="preserve">
- <value>Zgrywanie kernela...</value>
+ <data name="Donate">
+ <value>P.S. Jeśli podoba Ci się ten projekt, możesz przesłać darowiznę. Mój PayPal ID znajdziesz w zakładce "Informacje o...".</value>
</data>
- <data name="DumpKernelQ" xml:space="preserve">
- <value>Czy chcesz zgrać kernel?</value>
+ <data name="Done">
+ <value>Gotowe!</value>
</data>
- <data name="Error" xml:space="preserve">
- <value>BÅ‚Ä…d</value>
+ <data name="DoneYouCanUpload">
+ <value>Gotowe! Możesz teraz wgrywać gry do NES Mini.</value>
</data>
- <data name="ExecutingCommand" xml:space="preserve">
- <value>Wykonywanie komendy:</value>
+ <data name="DownloadAllCoversTitle">
+ <value>Pobieranie okładek dla wszystkich gier (Szczęśliwy traf!)</value>
</data>
- <data name="ExecutingFes1" xml:space="preserve">
- <value>Wykonywanie fes1...</value>
+ <data name="DumpKernelQ">
+ <value>Czy chcesz zgrać kernel?</value>
</data>
- <data name="FlasingCustom" xml:space="preserve">
- <value>Wgrywanie zmodyfikowanego kernela...</value>
+ <data name="DumpingKernel">
+ <value>Zgrywanie kernela...</value>
</data>
- <data name="FlasingOriginal" xml:space="preserve">
- <value>Wgrywanie oryginalnego kernela...</value>
+ <data name="Error">
+ <value>BÅ‚Ä…d</value>
</data>
- <data name="GamesSelected" xml:space="preserve">
- <value>gra(y) zaznaczona(e)</value>
+ <data name="ExecutingCommand">
+ <value>Wykonywanie komendy:</value>
</data>
- <data name="InvalidKernelHeader" xml:space="preserve">
- <value>Błędny nagłówek kernela.</value>
+ <data name="ExtraArgsInfo">
+ <value>Możesz dodać globalne argumenty linii poleceń, które zostaną dodane do wszystkich gier, włącznie z oryginalnymi. Tylko dla ekspertów!</value>
</data>
- <data name="InvalidKernelSize" xml:space="preserve">
- <value>Błędny rozmiar kernela:</value>
+ <data name="ExtraArgsTitle">
+ <value>Extra argumenty linii poleceń</value>
</data>
- <data name="MapperNotSupported" xml:space="preserve">
- <value>Przykro mi, {0} używa mappera #{1} który jest nieobsługiwany przez NES Mini i gra prawdopodnie nie zadziała. Czy chcesz mimo to ją dodać?</value>
+ <data name="FirstRun">
+ <value>Witaj! Bardzo mi miło, że używasz mojej aplikacji. To bardzo proste. Kliknij "Dodaj więcej gier", wybierz ROMy, naciśnij "Synchronizuj" i postępuj zgodnie z instrukcjami. Powodzenia!</value>
</data>
- <data name="MD5Failed" xml:space="preserve">
- <value>Zgrano kernel, ale suma kontrolna MD5 jest nieznana:</value>
+ <data name="FlasingCustom">
+ <value>Wgrywanie zmodyfikowanego kernela...</value>
</data>
- <data name="MD5Failed2" xml:space="preserve">
- <value>Byćmoże kernel został już zpatchowany, lub jest nieznanej wersji. Proszę wysłać wiadomość (naciśnij Ctrl+C). Kontynuuj na własne ryzyko.</value>
+ <data name="FlasingOriginal">
+ <value>Wgrywanie oryginalnego kernela...</value>
</data>
- <data name="NoKernel" xml:space="preserve">
- <value>Nie odnaleziono zgranego kernela</value>
+ <data name="FolderContent">
+ <value>Zawartość foldera zostanie przeniesiona do "Unsorted".</value>
</data>
- <data name="NoKernelWarning" xml:space="preserve">
- <value>Na początek musisz zgrać kernel z NES Mini. Musisz to zrobić tylko raz. Czy chcesz kontynuować?</value>
+ <data name="FolderNameBack">
+ <value>&lt;- Back</value>
</data>
- <data name="NoKernelYouNeed" xml:space="preserve">
- <value>Nie odnaleziono zgranego kernela. Musisz go najpierw zgrać.</value>
+ <data name="FolderNameMoreGames">
+ <value>More games...</value>
</data>
- <data name="OriginalKernelQ" xml:space="preserve">
- <value>Czy chcesz wgrać oryginalny kernel?</value>
+ <data name="FolderNameNewFolder">
+ <value>New folder</value>
</data>
- <data name="PressOkToContinue" xml:space="preserve">
- <value>Naciśnij OK, aby kontynuować..</value>
+ <data name="FolderNameOriginalGames">
+ <value>&lt;- Original games</value>
</data>
- <data name="ReplaceKernelQ" xml:space="preserve">
- <value>Masz już zgrany kernel. Jeśli naprawdę chcesz, aby kopia kernela została nadpisana i naprawdę wiesz co robić, to usuń folder "dump" ręcznie.</value>
+ <data name="FolderNameTrashBin">
+ <value>Kosz</value>
</data>
- <data name="SelectAtLeast" xml:space="preserve">
- <value>Musisz wybrać co najmniej jedną grę.</value>
+ <data name="FolderNameUnsorted">
+ <value>Unsorted</value>
</data>
- <data name="UploadingFes1" xml:space="preserve">
- <value>Wgrywanie i uruchamianie fes1...</value>
+ <data name="FolderStatistics">
+ <value>Folder "{0}" zawiera {1} element.</value>
</data>
- <data name="UploadingGames" xml:space="preserve">
- <value>Wgrywanie gier...</value>
+ <data name="FoldersSaveQ">
+ <value>Czy chcesz zapisać tą strukturę katalogów?</value>
</data>
- <data name="UploadingKernel" xml:space="preserve">
- <value>Wgrywanie kernela...</value>
+ <data name="FourScreenNotSupported">
+ <value>Przykro mi, {0} używa "four-screen mode" (tzn. że gra jest rzadkim przypadkiem - posiada dodatkowa pamięć VRAM w kartridżu) i ta funkcja nie jest obsługiwana przez NES Mini. Gra prawdopodobnie nie zadziała. Czy chcesz mimo wszystko ją dodać?</value>
</data>
- <data name="VerifyFailed" xml:space="preserve">
- <value>Weryfikacja się nie powiodła :O Niedobrze..</value>
+ <data name="GGCodeDelete">
+ <value>Czy chcesz usunąć kod "{0}"?</value>
</data>
- <data name="Verifying" xml:space="preserve">
- <value>Weryfikowanie...</value>
+ <data name="GGCodeEmpty">
+ <value>Musisz wprowadzić kod!</value>
</data>
- <data name="WaitingForDevice" xml:space="preserve">
- <value>Oczekiwanie na urzÄ…dzenie...</value>
+ <data name="GGCodeExists">
+ <value>Ten kod już istnieje. Czy chcesz go edytować?</value>
</data>
- <data name="Warning" xml:space="preserve">
- <value>Uwaga!</value>
+ <data name="GGDescriptionEmpty">
+ <value>Musisz podać opis!</value>
</data>
- <data name="Wow" xml:space="preserve">
- <value>Wow</value>
+ <data name="GameGenieFormatError">
+ <value>Błędny kod Game Genie "{0}" dla gry "{1}".</value>
</data>
- <data name="PleaseTryAgainUSB" xml:space="preserve">
- <value>Jeżeli problem się powtórzy to zmień port USB, lub użyj innego kabla.</value>
+ <data name="GameGenieNotFound">
+ <value>Nie można zastosować kodu Game Genie "{0}" dla gry "{1}" - wartość nieodnaleziona. Może to kod dla innej gry?</value>
</data>
- <data name="XpZadig" xml:space="preserve">
- <value>Użyj narzędzia Zadig by zainstalować sterowniki dla Windows XP/2000.</value>
+ <data name="GamesAndApps">
+ <value>Gry i aplikacje</value>
</data>
- <data name="Donate" xml:space="preserve">
- <value>P.S. Jeśli podoba Ci się ten projekt, możesz przesłać darowiznę. Mój PayPal ID znajdziesz w zakładce "Informacje o...".</value>
+ <data name="GamesSelected">
+ <value>gra(y) zaznaczona(e)</value>
</data>
- <data name="FirstRun" xml:space="preserve">
- <value>Witaj! Bardzo mi miło, że używasz mojej aplikacji. To bardzo proste. Kliknij "Dodaj więcej gier", wybierz ROMy, naciśnij "Synchronizuj" i postępuj zgodnie z instrukcjami. Powodzenia!</value>
+ <data name="GooglingFor">
+ <value>Google</value>
</data>
- <data name="Hello" xml:space="preserve">
+ <data name="Hello">
<value>Witaj!</value>
</data>
- <data name="KernelDumped" xml:space="preserve">
- <value>Twój kernel został zapisany w folderze "dump". Lepiej go nie stracić! </value>
- </data>
- <data name="DeletePreset" xml:space="preserve">
- <value>Czy na pewno chcesz usunąć preset "{0}"?</value>
- </data>
- <data name="FourScreenNotSupported" xml:space="preserve">
- <value>Przykro mi, {0} używa "four-screen mode" (tzn. że gra jest rzadkim przypadkiem - posiada dodatkowa pamięć VRAM w kartridżu) i ta funkcja nie jest obsługiwana przez NES Mini. Gra prawdopodobnie nie zadziała. Czy chcesz mimo wszystko ją dodać?</value>
+ <data name="Images">
+ <value>Zdjęcia</value>
</data>
- <data name="InputPreset" xml:space="preserve">
+ <data name="InputPreset">
<value>Podaj nazwÄ™ presetu dla aktualnej listy zaznaczonych gier.</value>
</data>
- <data name="NewPreset" xml:space="preserve">
- <value>Nowy preset zaznaczenia</value>
- </data>
- <data name="UninstallFactoryNote" xml:space="preserve">
- <value>Nie zapomnij zresetować fabryczne ustawienia, jeśli chcesz usunąć zapisane stany gier.</value>
- </data>
- <data name="Uninstalling" xml:space="preserve">
- <value>Odinstalowywanie...</value>
- </data>
- <data name="UninstallQ1" xml:space="preserve">
- <value>Czy na pewno chcesz usunąć wszelkie ślady hakchi2 i przywrócić NES Mini do oryginalnego stanu?</value>
- </data>
- <data name="UninstallQ2" xml:space="preserve">
- <value>Gotowe. Poczekaj, aż lampka zasilania zgaśnie. Musisz również wgrać z powrotem oryginalny kernel. Czy chcesz to teraz zrobić?</value>
- </data>
- <data name="GameGenieFormatError" xml:space="preserve">
- <value>Błędny kod Game Genie "{0}" dla gry "{1}".</value>
- </data>
- <data name="GameGenieNotFound" xml:space="preserve">
- <value>Nie można zastosować kodu Game Genie "{0}" dla gry "{1}" - wartość nieodnaleziona. Może to kod dla innej gry?</value>
- </data>
- <data name="PatchAvailable" xml:space="preserve">
- <value>Patch dostępny</value>
- </data>
- <data name="PatchQ" xml:space="preserve">
- <value>Jest dostępny patch dla "{0}". Czy chcesz zpatchować tą grę?</value>
- </data>
- <data name="AutofillResult" xml:space="preserve">
- <value>Dane automatycznie uzupełniono dla {0} gier.</value>
+ <data name="InstallingMods">
+ <value>Instalowanie modów...</value>
</data>
- <data name="SelectAtLeastTwo" xml:space="preserve">
- <value>Musisz wybrać co najmniej dwa przyciski.</value>
- </data>
- <data name="AutofireHelp1" xml:space="preserve">
- <value>Przytrzymaj Select+A/B przez sekundę, aby wł/wył autofire dla A/B.</value>
- </data>
- <data name="ExtraArgsInfo" xml:space="preserve">
- <value>Możesz dodać globalne argumenty linii poleceń, które zostaną dodane do wszystkich gier, włącznie z oryginalnymi. Tylko dla ekspertów!</value>
+ <data name="InvalidKernelHeader">
+ <value>Błędny nagłówek kernela.</value>
</data>
- <data name="ExtraArgsTitle" xml:space="preserve">
- <value>Extra argumenty linii poleceń</value>
+ <data name="InvalidKernelSize">
+ <value>Błędny rozmiar kernela:</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\images\blank_nes.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="KernelDumped">
+ <value>Twój kernel został zapisany w folderze "hakchi2\dump". Lepiej go nie stracić!</value>
</data>
- <data name="DownloadAllCoversTitle" xml:space="preserve">
- <value>Pobieranie okładek dla wszystkich gier (Szczęśliwy traf!)</value>
+ <data name="LoadingGames">
+ <value>Åadowanie gier...</value>
</data>
- <data name="GooglingFor" xml:space="preserve">
- <value>Google</value>
+ <data name="MD5Failed">
+ <value>Zgrano kernel, ale suma kontrolna MD5 jest nieznana:</value>
</data>
- <data name="NotFound" xml:space="preserve">
- <value>Nie znaleziono:</value>
+ <data name="MD5Failed2">
+ <value>Byćmoże kernel został już zpatchowany, lub jest nieznanej wersji. Proszę wysłać wiadomość (naciśnij Ctrl+C). Kontynuuj na własne ryzyko.</value>
</data>
- <data name="ParticallyBody" xml:space="preserve">
- <value>Bez obaw! Wszystko w najlepszym porządku. Jest tylko za dużo ROMów do przesłania za jednym zamachem. Poczekaj, aż lampa zasliania zgaśnie, naciśnij OK i postępuj zgodnie z instrukcjami.</value>
+ <data name="MainMenu">
+ <value>Główne Menu</value>
</data>
- <data name="ParticallyTitle" xml:space="preserve">
- <value>Za dużo ROMów.</value>
+ <data name="MapperNotSupported">
+ <value>Przykro mi, {0} używa mappera #{1} który jest nieobsługiwany przez NES Mini i gra prawdopodnie nie zadziała. Czy chcesz mimo to ją dodać?</value>
</data>
- <data name="gamepad" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\images\gamepad.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="MemoryFull">
+ <value>Niestety, {0}MB gier to za dużo.</value>
</data>
- <data name="blank_fds" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\images\blank_fds.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="MemoryStats">
+ <value>Całkowita pamięć: {0:F1}MB|Dostępna pamięć do gier: {1:F1}MB|Używane do save'ów: {2:F1}MB|Używane - inne pliki: {3:F1}MB</value>
</data>
- <data name="blank_jp" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\images\blank_jp.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NewGamesUnsorted">
+ <value>Nowe gry zostały przeniesione do folderu "Unsorted".</value>
</data>
- <data name="LoadingGames" xml:space="preserve">
- <value>Åadowanie gier...</value>
+ <data name="NewPreset">
+ <value>Nowy preset zaznaczenia</value>
</data>
- <data name="No" xml:space="preserve">
+ <data name="No">
<value>Nie</value>
</data>
- <data name="NoForAll" xml:space="preserve">
+ <data name="NoForAll">
<value>Nie dla wszystkich</value>
</data>
- <data name="Yes" xml:space="preserve">
- <value>Tak</value>
- </data>
- <data name="YesForAll" xml:space="preserve">
- <value>Tak dla wszystkich</value>
- </data>
- <data name="GGCodeDelete" xml:space="preserve">
- <value>Czy chcesz usunąć kod "{0}"?</value>
- </data>
- <data name="GGCodeEmpty" xml:space="preserve">
- <value>Musisz wprowadzić kod!</value>
- </data>
- <data name="GGCodeExists" xml:space="preserve">
- <value>Ten kod już istnieje. Czy chcesz go edytować?</value>
- </data>
- <data name="GGDescriptionEmpty" xml:space="preserve">
- <value>Musisz podać opis!</value>
- </data>
- <data name="FolderNameBack" xml:space="preserve">
- <value>&lt;- Back</value>
- </data>
- <data name="FolderNameMoreGames" xml:space="preserve">
- <value>More games...</value>
- </data>
- <data name="FolderNameOriginalGames" xml:space="preserve">
- <value>&lt;- Original games</value>
- </data>
- <data name="folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="folder_a" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_a.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NoKernel">
+ <value>Nie odnaleziono zgranego kernela</value>
</data>
- <data name="folder_b" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_b.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NoKernelWarning">
+ <value>Na początek musisz zgrać kernel z NES Mini. Musisz to zrobić tylko raz. Czy chcesz kontynuować?</value>
</data>
- <data name="folder_back" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NoKernelYouNeed">
+ <value>Nie odnaleziono zgranego kernela. Musisz go najpierw zgrać.</value>
</data>
- <data name="folder_c" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_c.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NoTelnet">
+ <value>Nie można uruchomić klienta Telnet, byćmoże jest wyłączony. Musisz go najpierw włączyć - "Panel sterowania" - &amp; gt; "Programy" - &amp; gt; "Włącz lub wyłącz funkcje systemu Windows".</value>
</data>
- <data name="folder_d" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="NotFound">
+ <value>Nie znaleziono:</value>
</data>
- <data name="folder_e" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_e.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="OriginalKernelQ">
+ <value>Czy chcesz wgrać oryginalny kernel?</value>
</data>
- <data name="folder_f" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_f.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="PatchAvailable">
+ <value>Patch dostępny</value>
</data>
- <data name="folder_g" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_g.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="PatchQ">
+ <value>Jest dostępny patch dla "{0}". Czy chcesz zpatchować tą grę?</value>
</data>
- <data name="folder_h" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_h.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="PleaseTryAgainUSB">
+ <value>Jeżeli problem się powtórzy to zmień port USB, lub użyj innego kabla.</value>
</data>
- <data name="folder_i" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_i.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="PleaseWait">
+ <value>Proszę czekać...</value>
</data>
- <data name="folder_j" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_j.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="PressOkToContinue">
+ <value>Naciśnij OK, aby kontynuować..</value>
</data>
- <data name="folder_k" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_k.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="ReplaceKernelQ">
+ <value>Masz już zgrany kernel. Jeśli naprawdę chcesz, aby kopia kernela została nadpisana i naprawdę wiesz co robić, to usuń folder "hakchi2\dump" ręcznie.</value>
</data>
- <data name="folder_l" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_l.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SavesFlterName">
+ <value>Kopie save'ów NES Mini</value>
</data>
- <data name="folder_m" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_m.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SelectAtLeast">
+ <value>Musisz wybrać co najmniej jedną grę.</value>
</data>
- <data name="folder_n" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_n.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SelectAtLeastTwo">
+ <value>Musisz wybrać co najmniej dwa przyciski.</value>
</data>
- <data name="folder_number" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_number.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SelectModsInstall">
+ <value>Wybierz moduły do zainstalowania w NES Mini</value>
</data>
- <data name="folder_o" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_o.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SelectModsUninstall">
+ <value>Wybierz moduły do usunięcia z NES Mini</value>
</data>
- <data name="folder_p" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_p.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="SizeOfSaves">
+ <value>Rozmiar zaznaczonych save'ów:</value>
</data>
- <data name="folder_q" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_q.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UninstallFactoryNote">
+ <value>Nie zapomnij zresetować fabryczne ustawienia, jeśli chcesz usunąć zapisane stany gier.</value>
</data>
- <data name="folder_r" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_r.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UninstallQ1">
+ <value>Czy na pewno chcesz usunąć wszelkie ślady hakchi2 i przywrócić NES Mini do oryginalnego stanu?</value>
</data>
- <data name="folder_s" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_s.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UninstallQ2">
+ <value>Gotowe. Poczekaj, aż lampka zasilania zgaśnie. Musisz również wgrać z powrotem oryginalny kernel. Czy chcesz to teraz zrobić?</value>
</data>
- <data name="folder_t" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_t.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="Uninstalling">
+ <value>Odinstalowywanie...</value>
</data>
- <data name="folder_u" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_u.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UninstallingMods">
+ <value>Odinstalowywanie modów...</value>
</data>
- <data name="folder_v" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_v.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UnknownGame">
+ <value>Nieznana gra</value>
</data>
- <data name="folder_w" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_w.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UploadingConfig">
+ <value>Aktualizowanie ustawień...</value>
</data>
- <data name="folder_x" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UploadingFes1">
+ <value>Wgrywanie i uruchamianie fes1...</value>
</data>
- <data name="folder_y" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_y.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UploadingGames">
+ <value>Wgrywanie gier...</value>
</data>
- <data name="folder_z" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\folder_images\folder_z.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ <data name="UploadingKernel">
+ <value>Wgrywanie kernela...</value>
</data>
- <data name="DeleteFolder" xml:space="preserve">
- <value>Usunąć folder "{0}"?</value>
+ <data name="UploadingOriginalGames">
+ <value>Przetwarzanie oryginalnych gier...</value>
</data>
- <data name="FolderContent" xml:space="preserve">
- <value>Zawartość foldera zostanie przeniesiona do "Unsorted".</value>
+ <data name="VerifyFailed">
+ <value>Weryfikacja się nie powiodła :O Niedobrze..</value>
</data>
- <data name="MainMenu" xml:space="preserve">
- <value>Główne Menu</value>
+ <data name="Verifying">
+ <value>Weryfikowanie...</value>
</data>
- <data name="BuildingFolders" xml:space="preserve">
- <value>Budowanie struktury katalogów...</value>
+ <data name="WaitingForDevice">
+ <value>Oczekiwanie na urzÄ…dzenie...</value>
</data>
- <data name="FolderNameNewFolder" xml:space="preserve">
- <value>New folder</value>
+ <data name="Warning">
+ <value>Uwaga!</value>
</data>
- <data name="FolderNameUnsorted" xml:space="preserve">
- <value>Unsorted</value>
+ <data name="Wow">
+ <value>Wow</value>
</data>
- <data name="FoldersSaveQ" xml:space="preserve">
- <value>Czy chcesz zapisać tą strukturę katalogów?</value>
+ <data name="Yes">
+ <value>Tak</value>
</data>
- <data name="FolderStatistics" xml:space="preserve">
- <value>Folder "{0}" zawiera {1} element.</value>
+ <data name="YesForAll">
+ <value>Tak dla wszystkich</value>
</data>
- <data name="NewGamesUnsorted" xml:space="preserve">
- <value>Nowe gry zostały przeniesione do folderu "Unsorted".</value>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
</data>
- <data name="AddingGames" xml:space="preserve">
- <value>Przetwarzanie gier, proszę czekać...</value>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
</data>
</root> \ No newline at end of file
diff --git a/Properties/Resources.pt-PT.resx b/Properties/Resources.pt-PT.resx
new file mode 100644
index 00000000..531f25ab
--- /dev/null
+++ b/Properties/Resources.pt-PT.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Processamento de jogos, aguarde ...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Todos os ficheiros</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Você tem certeza?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Dados preenchidos automaticamente para {0} jogos.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Segure Selecionar + A / B por um segundo para ativar / desativar o autofire A / B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Construindo a imagem personalizada (custom) do kernel ...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Construindo a estrutura da pasta ...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Parabéns!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Kernel personalizado (custom)</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Deseja escrever o kernel personalizado?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Agora você precisa piscar o kernel personalizado para o NES Mini. Isso só é necessário uma vez. Você quer continuar?</value>
+ </data>
+ <data name="Default30games">
+ <value>Original 30 jogos</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Deseja mesmo apagar "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Deseja realmente apagar elementos {0}?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Deseja realmente apagar o jogo "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Deseja realmente apagar a predefinição "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Deseja realmente deletar os salvamentos?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Deseja cancelar a operação atual?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Você quer continuar?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Se você gosta, pode doar para mim. Você pode encontrar o meu PayPal na caixa "Sobre".</value>
+ </data>
+ <data name="Done">
+ <value>Feito!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Feito! Você pode fazer upload de jogos para o NES Mini agora.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Baixando arte de caixa para todos os jogos (sinto-me com sorte!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Deseja despejar o kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Dumping(escrevando) kernel ...</value>
+ </data>
+ <data name="Error">
+ <value>Erro</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Executando comando:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Você pode adicionar argumentos globais de linha de comando que serão anexados a todos os jogos, incluindo o original 30. Isso é apenas para especialistas!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Argumentos adicionais de linha de comando</value>
+ </data>
+ <data name="FirstRun">
+ <value>Olá! Estou muito feliz que você está usando hakchi2. É muito simples de usar. Basta clicar em "Adicionar mais jogos", selecione algumas ROMs, pressione "Sincronizar" e siga as instruções. Boa sorte!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flash(escreve) o kernel personalizado ...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flash(escreve) o original kernal ...</value>
+ </data>
+ <data name="FolderContent">
+ <value>O conteúdo excluído será movido para a Lixeira de reciclagem. Você pode excluir esta pasta permanentemente ou mover os jogos para outras pastas.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Para traz</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Mais jogos...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nova pasta</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Original 30 jogos</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Lixeira de reciclagem</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>não triados</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>A pasta "{0}" contém {1} elementos.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Pretende guardar esta estrutura de pastas?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Desculpe, {0} usa o modo de quatro telas (ou seja, o jogo tem memória VRAM adicional no cartucho), e esse recurso não é suportado pelo NES Mini. O jogo provavelmente não começará. Mas ele deve funcionar se o módulo de outro emulador instalado. Você quer adicionar este jogo mesmo assim?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Deseja excluir o código "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Você deve digitar um código!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Este código já existe. Deseja editá-lo?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Você deve inserir uma descrição!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Código inválido do Game Genie "{0}" para o jogo "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Não é possível aplicar o código Game Genie "{0}" ao jogo "{1}" - valor não encontrado. Talvez este código seja para outro jogo?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Jogos e aplicativos</value>
+ </data>
+ <data name="GamesSelected">
+ <value>Jogos selecionados</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Pesquisando para</value>
+ </data>
+ <data name="Hello">
+ <value>Olá</value>
+ </data>
+ <data name="Images">
+ <value>Imagens</value>
+ </data>
+ <data name="InputPreset">
+ <value>Introduza um nome predefinido para a selecção de jogos actual.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Instalando mods ...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Cabeçalho do kernel inválido.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Tamanho do kernel inválido:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Seu kernel original é salvo na pasta "hakchi2\dump". Não perca isso.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Carregando jogos ...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel despejado mas a soma de verificação MD5 é desconhecida:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>O kernel já está corrigido ou é uma revisão desconhecida. Envie esta mensagem para mim (pressione Ctrl + C). Continue por sua própria conta e risco.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Menu HOME</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Desculpe, "{0}" usa o mapper # {1}, mas esse mapper não é compatível com o NES Mini eo jogo provavelmente não começará com o emulador do nes. Mas deve funcionar se o módulo de outro emulador instalado. Você quer adicionar este jogo?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Desculpe, existem {0} MBytes de jogos, é demais.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Total Memória disponível para jogos: {1: F1} MBytes | Usado por salvamentos: {2: F1} MBytes | Utilizado por outros ficheiros: {3: F1} MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Novos jogos são movidos para a pasta "Unsorted".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nova seleção predefinida</value>
+ </data>
+ <data name="No">
+ <value>Não</value>
+ </data>
+ <data name="NoForAll">
+ <value>Não para todos</value>
+ </data>
+ <data name="NoKernel">
+ <value>Nenhum despejo de kernel encontrado</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Primeiro, despeje a imagem do kernel do seu NES Mini. Você só precisa fazer isso uma vez. Você quer continuar?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Nenhum despejo do kernel encontrado. Você precisa descarregar o kernel primeiro.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Não é possível iniciar o cliente Telnet, parece que ele está desativado. Você precisa habilitá-lo primeiro, você pode fazê-lo em "Painel de controle" -&gt; "Programas" -&gt; "Liga ou desliga características das janelas".</value>
+ </data>
+ <data name="NotFound">
+ <value>Não encontrado:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Deseja piscar o kernel original?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch disponível</value>
+ </data>
+ <data name="PatchQ">
+ <value>Existe um patch para "{0}". Você quer corrigir este jogo?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Se esse problema persistir, tente usar outra porta de USB ou cabo.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Por favor, espere...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Pressione OK para continuar.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Você já tem o despejo(dump) do kernel. Se você REALMENTE deseja substituir o backup do seu kernel e você REALMENTE entender o que está fazendo, exclua a pasta "hakchi2\dump" manualmente.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini-salva cópia de segurança</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Selecione pelo menos um jogo.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Selecione pelo menos dois botões.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Selecione os módulos a serem instalados no Mini NES.</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Selecione os módulos a serem removidos do Mini NES.</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Tamanho dos salvars selecionados:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Não se esqueça de executar uma redefinição de fábrica se quiser excluir todos os pontos de suspensão/salva.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Você realmente deseja remover todos os traços de hakchi2 e retornar o NES Mini ao seu estado original?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Feito. Aguarde até que o LED de alimentação se apague. Você também precisa piscar o kernel original. Deseja piscar o kernel original agora?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Desinstalando ...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Desinstalando mods ...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Jogo desconhecido</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>A carregar novas config ...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Carregar e executar FES-1 ...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>A carregar jogos ...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Fazendo o upload do kernel ...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Processando jogos originais ...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verificar falhou :O Isso não é bom.</value>
+ </data>
+ <data name="Verifying">
+ <value>Verificando ...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Aguardando o dispositivo ...</value>
+ </data>
+ <data name="Warning">
+ <value>Atenção!</value>
+ </data>
+ <data name="Wow">
+ <value>Uau</value>
+ </data>
+ <data name="Yes">
+ <value>sim</value>
+ </data>
+ <data name="YesForAll">
+ <value>Sim para todos</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
index f98cd989..b4604e1e 100644
--- a/Properties/Resources.resx
+++ b/Properties/Resources.resx
@@ -133,10 +133,10 @@
<value>Do you want to flash the custom kernel?</value>
</data>
<data name="CustomWarning" xml:space="preserve">
- <value>Now you need to flash the custom kernel to your NES Mini. This is only required once. Do you want to continue?</value>
+ <value>You need to flash the custom kernel to your NES/SNES Mini. This is only required once. Do you want to continue?</value>
</data>
<data name="Default30games" xml:space="preserve">
- <value>Original 30 games</value>
+ <value>Original games</value>
</data>
<data name="DeleteGame" xml:space="preserve">
<value>Do you really want to delete "{0}" game?</value>
@@ -144,11 +144,8 @@
<data name="Done" xml:space="preserve">
<value>Done!</value>
</data>
- <data name="DoneUploaded" xml:space="preserve">
- <value>Done! Wait until the power LED goes out and restart your NES Mini.</value>
- </data>
<data name="DoneYouCanUpload" xml:space="preserve">
- <value>Done! You can upload games to your NES Mini now.</value>
+ <value>Done! You can upload games to your NES/SNES Mini now.</value>
</data>
<data name="DoYouWantCancel" xml:space="preserve">
<value>Do you want to cancel the current operation?</value>
@@ -168,9 +165,6 @@
<data name="ExecutingCommand" xml:space="preserve">
<value>Executing command:</value>
</data>
- <data name="ExecutingFes1" xml:space="preserve">
- <value>Executing fes1...</value>
- </data>
<data name="FlasingCustom" xml:space="preserve">
<value>Flashing custom kernel...</value>
</data>
@@ -178,7 +172,7 @@
<value>Flashing original kernel...</value>
</data>
<data name="GamesSelected" xml:space="preserve">
- <value>games(s) selected</value>
+ <value>game(s) selected</value>
</data>
<data name="InvalidKernelHeader" xml:space="preserve">
<value>Invalid kernel header.</value>
@@ -199,7 +193,7 @@
<value>No kernel dump found</value>
</data>
<data name="NoKernelWarning" xml:space="preserve">
- <value>First, dump the kernel image of your NES Mini. You only need to do this once. Do you want to continue?</value>
+ <value>First, dump the kernel image of your NES/SNES Mini. You only need to do this once. Do you want to continue?</value>
</data>
<data name="NoKernelYouNeed" xml:space="preserve">
<value>No kernel dump found. You need to dump the kernel first.</value>
@@ -211,7 +205,7 @@
<value>Press OK to continue.</value>
</data>
<data name="ReplaceKernelQ" xml:space="preserve">
- <value>You already have the kernel dump. If you REALLY want to replace the backup of your kernel and you REALLY understand what you are doing, delete the "dump" folder manually.</value>
+ <value>You already have the kernel dump. If you REALLY want to replace the backup of your kernel and you REALLY understand what you are doing, delete the "hakchi2/dump" folder manually.</value>
</data>
<data name="SelectAtLeast" xml:space="preserve">
<value>Select at least one game.</value>
@@ -243,9 +237,6 @@
<data name="PleaseTryAgainUSB" xml:space="preserve">
<value>If this problem persists, try using another USB port or cable.</value>
</data>
- <data name="XpZadig" xml:space="preserve">
- <value>Please use the Zadig utility to install the driver on Windows XP/2000.</value>
- </data>
<data name="Donate" xml:space="preserve">
<value>P.S. If you like it, you can donate to me. You can find my PayPal in the "About" box.</value>
</data>
@@ -256,7 +247,7 @@
<value>Hello</value>
</data>
<data name="KernelDumped" xml:space="preserve">
- <value>Your original kernel is saved in the "dump" folder. Do not lose it. </value>
+ <value>Your original kernel is saved in the "hakchi2\dump" folder. Do not lose it. </value>
</data>
<data name="DeletePreset" xml:space="preserve">
<value>Do you really want to delete the "{0}" preset?</value>
@@ -277,7 +268,7 @@
<value>Uninstalling...</value>
</data>
<data name="UninstallQ1" xml:space="preserve">
- <value>Do you really want to remove all traces of hakchi2 and return your NES Mini to its original state?</value>
+ <value>Do you really want to remove all traces of hakchi2 and return your NES/SNES Mini to its original state?</value>
</data>
<data name="UninstallQ2" xml:space="preserve">
<value>Done. Wait until the power LED goes out. You also need to flash the original kernel. Do you want to flash the original kernel now?</value>
@@ -318,12 +309,6 @@
<data name="NotFound" xml:space="preserve">
<value>Not found:</value>
</data>
- <data name="ParticallyBody" xml:space="preserve">
- <value>Don't worry! Everything is fine. There are just too many ROMs to transfer at once. Please wait until power LED goes out, press OK and follow the instructions to continue.</value>
- </data>
- <data name="ParticallyTitle" xml:space="preserve">
- <value>Too many ROMs</value>
- </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="gamepad" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\images\gamepad.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -368,7 +353,7 @@
<value>More games...</value>
</data>
<data name="FolderNameOriginalGames" xml:space="preserve">
- <value>Original 30 games</value>
+ <value>Original games</value>
</data>
<data name="folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\folder_images\folder.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -497,10 +482,10 @@
<value>Installing mods...</value>
</data>
<data name="SelectModsInstall" xml:space="preserve">
- <value>Select the modules to install on your NES Mini.</value>
+ <value>Select the modules to install on your NES/SNES Mini</value>
</data>
<data name="SelectModsUninstall" xml:space="preserve">
- <value>Select the modules to remove from your NES Mini.</value>
+ <value>Select the modules to remove from your NES/SNES Mini</value>
</data>
<data name="UninstallingMods" xml:space="preserve">
<value>Uninstalling mods...</value>
@@ -535,10 +520,136 @@
<data name="blank_n64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\images\blank_n64.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
- <data name="GameTooBig" xml:space="preserve">
- <value>Sorry, game "{0}" is too big.</value>
- </data>
<data name="MemoryFull" xml:space="preserve">
<value>Sorry, there are {0}MBytes of games, it's too much.</value>
</data>
+ <data name="green" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\green.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="red" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\red.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="UploadingConfig" xml:space="preserve">
+ <value>Uploading new config...</value>
+ </data>
+ <data name="UploadingOriginalGames" xml:space="preserve">
+ <value>Processing original games...</value>
+ </data>
+ <data name="blank_2600" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\blank_2600.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="blank_32x" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\blank_32x.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="blank_arcade" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\blank_arcade.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="blank_gg" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\blank_gg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="blank_neogeo" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\blank_neogeo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="MemoryStats" xml:space="preserve">
+ <value>Total writable memory size: {0:F1}MBytes|Available memory for games: {1:F1}MBytes|Used by saves: {2:F1}MBytes|Used by other files: {3:F1}MBytes</value>
+ </data>
+ <data name="AllFiles" xml:space="preserve">
+ <value>All files</value>
+ </data>
+ <data name="GamesAndApps" xml:space="preserve">
+ <value>Games and apps</value>
+ </data>
+ <data name="DeleteSavesQ" xml:space="preserve">
+ <value>Do you really want to delete those save-states?</value>
+ </data>
+ <data name="SavesFlterName" xml:space="preserve">
+ <value>Save-state backups</value>
+ </data>
+ <data name="SizeOfSaves" xml:space="preserve">
+ <value>Size of selected save-states: </value>
+ </data>
+ <data name="UnknownGame" xml:space="preserve">
+ <value>Unknown game</value>
+ </data>
+ <data name="NoTelnet" xml:space="preserve">
+ <value>Can't start Telnet client, seems like it's disabled. You need to enable it first, you can do it in “Control Panel“ -&gt; “Programs“ -&gt; "Turn Windows features on or off".</value>
+ </data>
+ <data name="Images" xml:space="preserve">
+ <value>Images</value>
+ </data>
+ <data name="PleaseWait" xml:space="preserve">
+ <value>Please wait...</value>
+ </data>
+ <data name="ar" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\ar.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="bg" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\bg.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="de" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\de.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="es" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\es.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="fr" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\fr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="gr" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\gr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="it" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\it.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="nl" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\nl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="pl" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\pl.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="pt" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\pt.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ru" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\ru.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="se" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\se.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="sk" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\sk.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="us" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\us.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="fi" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\fi.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="id" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\id.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="gb" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\gb.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="cn" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\cn.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="tw" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\tw.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="ua" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\ua.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="DumpingNand" xml:space="preserve">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped" xml:space="preserve">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+ <data name="dk" type="System.Resources.ResXFileRef, System.Windows.Forms">
+ <value>..\images\flags\dk.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+ </data>
+ <data name="Membooting" xml:space="preserve">
+ <value>Booting the kernel from RAM...</value>
+ </data>
</root> \ No newline at end of file
diff --git a/Properties/Resources.ru-RU.Designer.cs b/Properties/Resources.ru-RU.Designer.cs
deleted file mode 100644
index e69de29b..00000000
--- a/Properties/Resources.ru-RU.Designer.cs
+++ /dev/null
diff --git a/Properties/Resources.ru-RU.resx b/Properties/Resources.ru-RU.resx
index d8fb2acd..8446bd24 100644
--- a/Properties/Resources.ru-RU.resx
+++ b/Properties/Resources.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,311 +58,325 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="AreYouSure" xml:space="preserve">
+ <data name="AddingGames">
+ <value>Обрабатываем и добавлÑем в базу игры. ПожалуйÑта, подождите...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Ð’Ñе файлы</value>
+ </data>
+ <data name="AreYouSure">
<value>Вы уверены?</value>
</data>
- <data name="BuildingCustom" xml:space="preserve">
+ <data name="AutofillResult">
+ <value>Данные автоматичеÑки заполнены Ð´Ð»Ñ {0} игр.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Зажмите Select+A/B на Ñекунду, чтобы включить турбо на кнопках A/B.</value>
+ </data>
+ <data name="BuildingCustom">
<value>Патчим Ñдро...</value>
</data>
- <data name="Congratulations" xml:space="preserve">
+ <data name="BuildingFolders">
+ <value>Строим дерево папок...</value>
+ </data>
+ <data name="Congratulations">
<value>ПоздравлÑем!</value>
</data>
- <data name="CustomKernelQ" xml:space="preserve">
+ <data name="CustomKernel">
+ <value>Модифицированное Ñдро</value>
+ </data>
+ <data name="CustomKernelQ">
<value>Хотите прошить модифицированный образ Ñдра?</value>
</data>
- <data name="CustomWarning" xml:space="preserve">
+ <data name="CustomWarning">
<value>Теперь необходимо уÑтановить модифицированное Ñдро на NES Mini. Эту процедуру тоже нужно выполнить только один раз. Продолжить?</value>
</data>
- <data name="Default30games" xml:space="preserve">
- <value>Оригинальные 30 игр</value>
+ <data name="Default30games">
+ <value>Оригинальные игры</value>
</data>
- <data name="DeleteGame" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить игру "{0}"?</value>
+ <data name="DeleteElement">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить "{0}"?</value>
</data>
- <data name="Done" xml:space="preserve">
- <value>Готово!</value>
+ <data name="DeleteElements">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить {0} Ñлементов?</value>
</data>
- <data name="DoneUploaded" xml:space="preserve">
- <value>Готово! Подождите, пока не потухнет Ñветодиод, и перезапуÑтите NES Mini.</value>
+ <data name="DeleteGame">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить игру "{0}"?</value>
</data>
- <data name="DoneYouCanUpload" xml:space="preserve">
- <value>Готово! Теперь можно закачивать Ñвои игры в NES Mini.</value>
+ <data name="DeletePreset">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить преÑет "{0}"?</value>
</data>
- <data name="DoYouWantCancel" xml:space="preserve">
+ <data name="DeleteSavesQ">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить Ñти ÑохранениÑ?</value>
+ </data>
+ <data name="DoYouWantCancel">
<value>Хотите отменить текущую операцию?</value>
</data>
- <data name="DoYouWantToContinue" xml:space="preserve">
+ <data name="DoYouWantToContinue">
<value>Продолжить?</value>
</data>
- <data name="DumpingKernel" xml:space="preserve">
- <value>Читаем образ Ñдра...</value>
- </data>
- <data name="DumpKernelQ" xml:space="preserve">
- <value>Сдампить образ Ñдра NES Mini?</value>
- </data>
- <data name="Error" xml:space="preserve">
- <value>Ошибка</value>
+ <data name="Donate">
+ <value> </value>
</data>
- <data name="ExecutingCommand" xml:space="preserve">
- <value>ВыполнÑем команду:</value>
+ <data name="Done">
+ <value>Готово!</value>
</data>
- <data name="ExecutingFes1" xml:space="preserve">
- <value>ЗапуÑкаем fes1...</value>
+ <data name="DoneYouCanUpload">
+ <value>Готово! Теперь можно закачивать Ñвои игры в NES Mini.</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="fes1" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\data\fes1.bin;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="DownloadAllCoversTitle">
+ <value>Качаем обложки Ð´Ð»Ñ Ð²Ñех игр (Мне повезёт!)</value>
</data>
- <data name="FlasingCustom" xml:space="preserve">
- <value>Прошиваем модифицированное Ñдро...</value>
+ <data name="DumpKernelQ">
+ <value>Сдампить образ Ñдра NES Mini?</value>
</data>
- <data name="FlasingOriginal" xml:space="preserve">
- <value>Прошиваем оригинальное Ñдро...</value>
+ <data name="DumpingKernel">
+ <value>Читаем образ Ñдра...</value>
</data>
- <data name="GamesSelected" xml:space="preserve">
- <value>игр(ы) выбрано</value>
+ <data name="DumpingNand">
+ <value>Читаем NAND-памÑÑ‚ÑŒ...</value>
</data>
- <data name="InvalidKernelHeader" xml:space="preserve">
- <value>Ðекорректный заголовок образа Ñдра.</value>
+ <data name="Error">
+ <value>Ошибка</value>
</data>
- <data name="InvalidKernelSize" xml:space="preserve">
- <value>Ðекорректный размер Ñдра:</value>
+ <data name="ExecutingCommand">
+ <value>ВыполнÑем команду:</value>
</data>
- <data name="MD5Failed" xml:space="preserve">
- <value>Образ Ñдра Ñдамплен, но MD5 некорректный:</value>
+ <data name="ExtraArgsInfo">
+ <value>Ð’Ñ‹ можете задать глобальные параметры командной Ñтроки, которые будут добавлены ко вÑем играм, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ðµ. Только Ð´Ð»Ñ ÑкÑпертов!</value>
</data>
- <data name="MD5Failed2" xml:space="preserve">
- <value>Возможно, Ñдро уже модифицировано, или нам ещё неизвеÑтна Ñ‚Ð°ÐºÐ°Ñ Ð²ÐµÑ€ÑиÑ. Отправьте Ñто Ñообщение автору программы (нажмите Ctrl+C). Прожолжайте на Ñвой Ñтрах и риÑк.</value>
+ <data name="ExtraArgsTitle">
+ <value>Глобальные параметры командной Ñтроки</value>
</data>
- <data name="NoKernel" xml:space="preserve">
- <value>Ðе найден образ Ñдра</value>
+ <data name="FirstRun">
+ <value>Привет! Я очень рад, что вы пользуетеÑÑŒ моей программой. Её очень проÑто иÑпользовать: нажмите кнопку "Добавить игр", выберите ROMÑ‹, затем жмите "Синхронизировать" и Ñледуйте инÑтрукциÑм. Удачи!</value>
</data>
- <data name="NoKernelWarning" xml:space="preserve">
- <value>Прежде вÑего, необходимо Ñдампить образ Ñдра NES Mini. Эту процедуру нужно проделать только один раз. Продолжить?</value>
+ <data name="FlasingCustom">
+ <value>Прошиваем модифицированное Ñдро...</value>
</data>
- <data name="NoKernelYouNeed" xml:space="preserve">
- <value>Ðе найден образ Ñдра NES Mini. Сначала необходимо его Ñдампить.</value>
+ <data name="FlasingOriginal">
+ <value>Прошиваем оригинальное Ñдро...</value>
</data>
- <data name="OriginalKernelQ" xml:space="preserve">
- <value>Прошить оригинальный образ Ñдра?</value>
+ <data name="FolderContent">
+ <value>Контент будет перемещён в папку "Корзина". Ð’Ñ‹ можете удалить её наÑовÑем или перемеÑтить игры в другие директории.</value>
</data>
- <data name="PressOkToContinue" xml:space="preserve">
- <value>Ðажмите OK Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ.</value>
+ <data name="FolderNameBack">
+ <value>Ðазад</value>
</data>
- <data name="ReplaceKernelQ" xml:space="preserve">
- <value>Уже ÑущеÑтвует Ñохранённый образ Ñдра. ЕÑли вы ДЕЙСТВИТЕЛЬÐО хотите заменить оригинальную копию Ñдра и ДЕЙСТВИТЕЛЬÐО понимаете, что делаете, удалите папку "dump" вручную.</value>
+ <data name="FolderNameMoreGames">
+ <value>Больше игр...</value>
</data>
- <data name="SelectAtLeast" xml:space="preserve">
- <value>Ðеобходимо выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одну игру.</value>
+ <data name="FolderNameNewFolder">
+ <value>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</value>
</data>
- <data name="uboot" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\data\uboot.bin;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="FolderNameOriginalGames">
+ <value>Оригинальные игры</value>
</data>
- <data name="UploadingFes1" xml:space="preserve">
- <value>Загружаем и выполнÑем fes1...</value>
+ <data name="FolderNameTrashBin">
+ <value>Корзина</value>
</data>
- <data name="UploadingGames" xml:space="preserve">
- <value>Загружаем игры...</value>
+ <data name="FolderNameUnsorted">
+ <value>ÐеотÑортированные</value>
</data>
- <data name="UploadingKernel" xml:space="preserve">
- <value>Загружаем образ Ñдра...</value>
+ <data name="FolderStatistics">
+ <value>Папка "{0}" Ñодержит {1} Ñлементов.</value>
</data>
- <data name="VerifyFailed" xml:space="preserve">
- <value>Проверка закончилаÑÑŒ неуÑпешно. Это плохо :o</value>
+ <data name="FoldersSaveQ">
+ <value>Сохранить Ñто дерево папок?</value>
</data>
- <data name="Verifying" xml:space="preserve">
- <value>ПроверÑем...</value>
+ <data name="FourScreenNotSupported">
+ <value>Увы, {0} иÑпользует four-screen режим (Ñ‚.е. Ñто редкий Ñлучай, когда у игры в картридже раÑÑˆÐ¸Ñ€ÐµÐ½Ð½Ð°Ñ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð°Ð¼ÑÑ‚ÑŒ), а NES Mini его не поддерживает, и игра Ñкорее вÑего не запуÑтитÑÑ Ð½Ð° Ñтандартном ÑмулÑторе. Ðо она должна заработать, еÑли уÑтановлен модуль Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ ÑмулÑтором. Добавить Ñту игру?</value>
</data>
- <data name="WaitingForDevice" xml:space="preserve">
- <value>Ожидаем уÑтройÑтво...</value>
+ <data name="GGCodeDelete">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить код "{0}"?</value>
</data>
- <data name="Warning" xml:space="preserve">
- <value>Внимание!</value>
+ <data name="GGCodeEmpty">
+ <value>Ð’Ñ‹ должны ввеÑти код!</value>
</data>
- <data name="Wow" xml:space="preserve">
- <value>Ура</value>
+ <data name="GGCodeExists">
+ <value>Этот код уже еÑÑ‚ÑŒ в базе. Отредактировать его?</value>
</data>
- <data name="CustomKernel" xml:space="preserve">
- <value>Модифицированное Ñдро</value>
+ <data name="GGDescriptionEmpty">
+ <value>Ð’Ñ‹ должны ввеÑти опиÑание!</value>
</data>
- <data name="MapperNotSupported" xml:space="preserve">
- <value>Увы, "{0}" иÑпользует маппер #{1}, а NES Mini его вроде как не поддерживает, и игра Ñкорее вÑего не запуÑтитÑÑ Ð½Ð° Ñтандартном ÑмулÑторе. Ðо она должна заработать, еÑли уÑтановлен модуль Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ ÑмулÑтором. Добавить Ñту игру?</value>
+ <data name="GameGenieFormatError">
+ <value>Ðекорректный Game Genie код "{0}" Ð´Ð»Ñ Ð¸Ð³Ñ€Ñ‹ "{1}".</value>
</data>
- <data name="PleaseTryAgainUSB" xml:space="preserve">
- <value>ЕÑли проблема повторÑетÑÑ, попробуйте другой USB порт или другой USB кабель.</value>
+ <data name="GameGenieNotFound">
+ <value>Ðе удалоÑÑŒ применить Game Genie код "{0}" к игре "{1}", Ñ‚.к. значение не было найдено. Быть может, Ñто код не Ð´Ð»Ñ Ñтой игры?</value>
</data>
- <data name="XpZadig" xml:space="preserve">
- <value>ПожалуйÑта, иÑпользуйте утилиту "Zadig", чтобы уÑтановить драйвер на Windows XP/2000.</value>
+ <data name="GamesAndApps">
+ <value>Игры и приложениÑ</value>
</data>
- <data name="Donate" xml:space="preserve">
- <value />
+ <data name="GamesSelected">
+ <value>игр(ы) выбрано</value>
</data>
- <data name="FirstRun" xml:space="preserve">
- <value>Привет! Я очень рад, что вы пользуетеÑÑŒ моей программой. Её очень проÑто иÑпользовать: нажмите кнопку "Добавить игр", выберите ROMÑ‹, затем жмите "Синхронизировать" и Ñледуйте инÑтрукциÑм. Удачи!</value>
+ <data name="GooglingFor">
+ <value>Гуглим</value>
</data>
- <data name="Hello" xml:space="preserve">
+ <data name="Hello">
<value>Привет!</value>
</data>
- <data name="KernelDumped" xml:space="preserve">
- <value>Оригинальный образ Ñдра Ñохранён в папке "dump". Желательно его не потерÑÑ‚ÑŒ и не Ñтереть.</value>
+ <data name="Images">
+ <value>Картинки</value>
</data>
- <data name="DeletePreset" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить преÑет "{0}"?</value>
+ <data name="InputPreset">
+ <value>Введите название Ð´Ð»Ñ Ð¿Ñ€ÐµÑета выбранных игр.</value>
</data>
- <data name="FourScreenNotSupported" xml:space="preserve">
- <value>Увы, {0} иÑпользует four-screen режим (Ñ‚.е. Ñто редкий Ñлучай, когда у игры в картридже раÑÑˆÐ¸Ñ€ÐµÐ½Ð½Ð°Ñ Ð²Ð¸Ð´ÐµÐ¾Ð¿Ð°Ð¼ÑÑ‚ÑŒ), а NES Mini его не поддерживает, и игра Ñкорее вÑего не запуÑтитÑÑ Ð½Ð° Ñтандартном ÑмулÑторе. Ðо она должна заработать, еÑли уÑтановлен модуль Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ ÑмулÑтором. Добавить Ñту игру?</value>
+ <data name="InstallingMods">
+ <value>УÑтанавливаем модули...</value>
</data>
- <data name="InputPreset" xml:space="preserve">
- <value>Введите название Ð´Ð»Ñ Ð¿Ñ€ÐµÑета выбранных игр.</value>
+ <data name="InvalidKernelHeader">
+ <value>Ðекорректный заголовок образа Ñдра.</value>
</data>
- <data name="NewPreset" xml:space="preserve">
- <value>Создание преÑета</value>
+ <data name="InvalidKernelSize">
+ <value>Ðекорректный размер Ñдра:</value>
</data>
- <data name="UninstallFactoryNote" xml:space="preserve">
- <value>Ð’ÑÑ‘. Ðе забудьте также Ñделать ÑÐ±Ñ€Ð¾Ñ Ðº заводÑким наÑтройкам, еÑли хотите удалить ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€.</value>
+ <data name="KernelDumped">
+ <value>Оригинальный образ Ñдра Ñохранён в папке "hakchi2\dump". Желательно его не потерÑÑ‚ÑŒ и не Ñтереть.</value>
</data>
- <data name="Uninstalling" xml:space="preserve">
- <value>УдалÑемÑÑ...</value>
+ <data name="LoadingGames">
+ <value>Загружаем игры...</value>
</data>
- <data name="UninstallQ1" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить вÑе файлы hakchi2 Ñ Ð²Ð°ÑˆÐµÐ¹ NES Mini и вернуть её в девÑтвенное ÑоÑтоÑние?</value>
+ <data name="MD5Failed">
+ <value>Образ Ñдра Ñдамплен, но MD5 некорректный:</value>
</data>
- <data name="UninstallQ2" xml:space="preserve">
- <value>Готово. Только подождите, пока погаÑнет Ñветодиод.. И ещё необходимо прошить назад оригинальное Ñдро. Сделать Ñто ÑейчаÑ?</value>
+ <data name="MD5Failed2">
+ <value>Возможно, Ñдро уже модифицировано, или нам ещё неизвеÑтна Ñ‚Ð°ÐºÐ°Ñ Ð²ÐµÑ€ÑиÑ. Отправьте Ñто Ñообщение автору программы (нажмите Ctrl+C). Продолжайте на Ñвой Ñтрах и риÑк.</value>
</data>
- <data name="GameGenieFormatError" xml:space="preserve">
- <value>Ðекорректный Game Genie код "{0}" Ð´Ð»Ñ Ð¸Ð³Ñ€Ñ‹ "{1}".</value>
+ <data name="MainMenu">
+ <value>Главное меню</value>
</data>
- <data name="GameGenieNotFound" xml:space="preserve">
- <value>Ðе удалоÑÑŒ применить Game Genie код "{0}" к игре "{1}", Ñ‚.к. значение не было найдено. Быть может, Ñто код не Ð´Ð»Ñ Ñтой игры?</value>
+ <data name="MapperNotSupported">
+ <value>Увы, "{0}" иÑпользует маппер #{1}, а NES Mini его вроде как не поддерживает, и игра Ñкорее вÑего не запуÑтитÑÑ Ð½Ð° Ñтандартном ÑмулÑторе. Ðо она должна заработать, еÑли уÑтановлен модуль Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ ÑмулÑтором. Добавить Ñту игру?</value>
</data>
- <data name="PatchAvailable" xml:space="preserve">
- <value>ДоÑтупен патч</value>
+ <data name="MemoryFull">
+ <value>ПроÑтите, Ñлишком уж много игр, на {0}МБайт, NES Mini такое не оÑилит.</value>
</data>
- <data name="PatchQ" xml:space="preserve">
- <value>Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° "{0}" доÑтупен патч. Хотите его применить?</value>
+ <data name="MemoryStats">
+ <value>Ð’Ñего перезапиÑываемой памÑти: {0:F1}МБайт|ДоÑтупно Ð´Ð»Ñ Ð¸Ð³Ñ€: {1:F1}МБайт|ИÑпользуетÑÑ ÑохранениÑми: {2:F1}МБайт|ИÑпользуетÑÑ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ файлами: {3:F1}МБайт</value>
</data>
- <data name="AutofillResult" xml:space="preserve">
- <value>Данные автоматичеÑки заполнены Ð´Ð»Ñ {0} игр.</value>
+ <data name="NandDumped">
+ <value>NAND памÑÑ‚ÑŒ уÑпешно прочитана.</value>
</data>
- <data name="SelectAtLeastTwo" xml:space="preserve">
- <value>Ðужно выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ две кнопки.</value>
+ <data name="NewGamesUnsorted">
+ <value>Ðовые игры помещены в папку "ÐеотÑортированные".</value>
</data>
- <data name="AutofireHelp1" xml:space="preserve">
- <value>Зажмите Select+A/B на Ñекунду, чтобы включить турбо на кнопках A/B.</value>
+ <data name="NewPreset">
+ <value>Создание преÑета</value>
</data>
- <data name="ExtraArgsInfo" xml:space="preserve">
- <value>Ð’Ñ‹ можете задать глобальные параметры командной Ñтроки, которые будут добавлены ко вÑем играм, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ðµ. Только Ð´Ð»Ñ ÑкÑпертов!</value>
+ <data name="No">
+ <value>Ðет</value>
</data>
- <data name="ExtraArgsTitle" xml:space="preserve">
- <value>Глобальные параметры командной Ñтроки</value>
+ <data name="NoForAll">
+ <value>Ðет Ð´Ð»Ñ Ð²Ñех</value>
</data>
- <data name="DownloadAllCoversTitle" xml:space="preserve">
- <value>Качаем обложки Ð´Ð»Ñ Ð²Ñех игр (Мне повезёт!)</value>
+ <data name="NoKernel">
+ <value>Ðе найден образ Ñдра</value>
</data>
- <data name="GooglingFor" xml:space="preserve">
- <value>Гуглим</value>
+ <data name="NoKernelWarning">
+ <value>Прежде вÑего, необходимо Ñдампить образ Ñдра NES Mini. Эту процедуру нужно проделать только один раз. Продолжить?</value>
</data>
- <data name="NotFound" xml:space="preserve">
- <value>Ðе найдено:</value>
+ <data name="NoKernelYouNeed">
+ <value>Ðе найден образ Ñдра NES Mini. Сначала необходимо его Ñдампить.</value>
</data>
- <data name="ParticallyBody" xml:space="preserve">
- <value>Ð’Ñ‹ выбрали очень много игр. Это не Ñтрашно, но за один раз их закачать не получитÑÑ. Будем закачивать в неÑколько заходов. ПожалуйÑта, подождите, пока погаÑнет Ñветодиод, нажмите OK и Ñледуйте инÑтрукциÑм.</value>
+ <data name="NoTelnet">
+ <value>Ðе могу открыть Telnet клиент. Похоже, что он выключен. Включите его в "Панели управлениÑ" -&gt; "Программы и компоненты" -&gt; "Компоненты Windows".</value>
</data>
- <data name="ParticallyTitle" xml:space="preserve">
- <value>Очень много игр</value>
+ <data name="NotFound">
+ <value>Ðе найдено:</value>
</data>
- <data name="LoadingGames" xml:space="preserve">
- <value>Загружаем игры...</value>
+ <data name="OriginalKernelQ">
+ <value>Прошить оригинальный образ Ñдра?</value>
</data>
- <data name="No" xml:space="preserve">
- <value>Ðет</value>
+ <data name="PatchAvailable">
+ <value>ДоÑтупен патч</value>
</data>
- <data name="NoForAll" xml:space="preserve">
- <value>Ðет Ð´Ð»Ñ Ð²Ñех</value>
+ <data name="PatchQ">
+ <value>Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° "{0}" доÑтупен патч. Хотите его применить?</value>
</data>
- <data name="Yes" xml:space="preserve">
- <value>Да</value>
+ <data name="PleaseTryAgainUSB">
+ <value>ЕÑли проблема повторÑетÑÑ, попробуйте другой USB порт или другой USB кабель.</value>
</data>
- <data name="YesForAll" xml:space="preserve">
- <value>Да Ð´Ð»Ñ Ð²Ñех</value>
+ <data name="PleaseWait">
+ <value>ПожалуйÑта, подождите...</value>
</data>
- <data name="GGCodeDelete" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить код "{0}"?</value>
+ <data name="PressOkToContinue">
+ <value>Ðажмите OK Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ.</value>
</data>
- <data name="GGCodeEmpty" xml:space="preserve">
- <value>Ð’Ñ‹ должны ввеÑти код!</value>
+ <data name="ReplaceKernelQ">
+ <value>Уже ÑущеÑтвует Ñохранённый образ Ñдра. ЕÑли вы ДЕЙСТВИТЕЛЬÐО хотите заменить оригинальную копию Ñдра и ДЕЙСТВИТЕЛЬÐО понимаете, что делаете, удалите папку "hakchi2\dump" вручную.</value>
</data>
- <data name="GGCodeExists" xml:space="preserve">
- <value>Этот код уже еÑÑ‚ÑŒ в базе. Отредактировать его?</value>
+ <data name="SavesFlterName">
+ <value>Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ NES Mini</value>
</data>
- <data name="GGDescriptionEmpty" xml:space="preserve">
- <value>Ð’Ñ‹ должны ввеÑти опиÑание!</value>
+ <data name="SelectAtLeast">
+ <value>Ðеобходимо выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ одну игру.</value>
</data>
- <data name="DeleteElement" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить "{0}"?</value>
+ <data name="SelectAtLeastTwo">
+ <value>Ðужно выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ две кнопки.</value>
</data>
- <data name="FolderContent" xml:space="preserve">
- <value>Контент будет перемещён в папку "Корзина". Ð’Ñ‹ можете удалить её наÑовÑем или перемеÑтить игры в другие директории.</value>
+ <data name="SelectModsInstall">
+ <value>Выберите модули Ð´Ð»Ñ ÑƒÑтановки на NES Mini</value>
</data>
- <data name="MainMenu" xml:space="preserve">
- <value>Главное меню</value>
+ <data name="SelectModsUninstall">
+ <value>Выберите модули, которые нужно удалить Ñ NES Mini</value>
</data>
- <data name="BuildingFolders" xml:space="preserve">
- <value>Строим дерево папок...</value>
+ <data name="SizeOfSaves">
+ <value>Размер выбранных Ñохранений:</value>
</data>
- <data name="FolderNameUnsorted" xml:space="preserve">
- <value>ÐеотÑортированные</value>
+ <data name="UninstallFactoryNote">
+ <value>Ð’ÑÑ‘. Ðе забудьте также Ñделать ÑÐ±Ñ€Ð¾Ñ Ðº заводÑким наÑтройкам, еÑли хотите удалить ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€.</value>
</data>
- <data name="FoldersSaveQ" xml:space="preserve">
- <value>Сохранить Ñто дерево папок?</value>
+ <data name="UninstallQ1">
+ <value>Ð’Ñ‹ дейÑтвительно хотите удалить вÑе файлы hakchi2 Ñ Ð²Ð°ÑˆÐµÐ¹ NES Mini и вернуть её в девÑтвенное ÑоÑтоÑние?</value>
</data>
- <data name="FolderStatistics" xml:space="preserve">
- <value>Папка "{0}" Ñодержит {1} Ñлементов.</value>
+ <data name="UninstallQ2">
+ <value>Готово. Только подождите, пока погаÑнет Ñветодиод. И ещё необходимо прошить назад оригинальное Ñдро. Сделать Ñто ÑейчаÑ?</value>
</data>
- <data name="NewFolder" xml:space="preserve">
- <value>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</value>
+ <data name="Uninstalling">
+ <value>УдалÑемÑÑ...</value>
</data>
- <data name="NewGamesUnsorted" xml:space="preserve">
- <value>Ðовые игры помещены в папку "ÐеотÑортированные".</value>
+ <data name="UninstallingMods">
+ <value>УдалÑем модули...</value>
</data>
- <data name="AddingGames" xml:space="preserve">
- <value>Обрабатываем и добавлÑем в базу игры. ПожалуйÑта, подождите...</value>
+ <data name="UnknownGame">
+ <value>ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¸Ð³Ñ€Ð°</value>
</data>
- <data name="DeleteElements" xml:space="preserve">
- <value>Ð’Ñ‹ дейÑтвительно хотите удалить {0} Ñлементов?</value>
+ <data name="UploadingConfig">
+ <value>ОбновлÑем наÑтройки...</value>
</data>
- <data name="FolderNameBack" xml:space="preserve">
- <value>Ðазад</value>
+ <data name="UploadingFes1">
+ <value>Загружаем и выполнÑем fes1...</value>
</data>
- <data name="FolderNameNewFolder" xml:space="preserve">
- <value>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</value>
+ <data name="UploadingGames">
+ <value>Загружаем игры...</value>
</data>
- <data name="FolderNameOriginalGames" xml:space="preserve">
- <value>Оригинальные игры</value>
+ <data name="UploadingKernel">
+ <value>Загружаем образ Ñдра...</value>
</data>
- <data name="FolderNameTrashBin" xml:space="preserve">
- <value>Корзина</value>
+ <data name="UploadingOriginalGames">
+ <value>РаÑпределÑем оригинальные игры...</value>
</data>
- <data name="InstallingMods" xml:space="preserve">
- <value>УÑтанавливаем модули...</value>
+ <data name="VerifyFailed">
+ <value>Проверка закончилаÑÑŒ неуÑпешно. Это плохо :o</value>
</data>
- <data name="SelectModsInstall" xml:space="preserve">
- <value>Выберите модули Ð´Ð»Ñ ÑƒÑтановки на NES Mini</value>
+ <data name="Verifying">
+ <value>ПроверÑем...</value>
</data>
- <data name="SelectModsUninstall" xml:space="preserve">
- <value>Выберите модули, которые нужно удалить Ñ NES Mini</value>
+ <data name="WaitingForDevice">
+ <value>Ожидаем уÑтройÑтво...</value>
</data>
- <data name="UninstallingMods" xml:space="preserve">
- <value>УдалÑем модули...</value>
+ <data name="Warning">
+ <value>Внимание!</value>
</data>
- <data name="GameTooBig" xml:space="preserve">
- <value>ПроÑтите, но игра "{0}" Ñлишком большаÑ.</value>
+ <data name="Wow">
+ <value>Ура</value>
</data>
- <data name="MemoryFull" xml:space="preserve">
- <value>ПроÑтите, Ñлишком уж много игр, на {0}МБ, NES Mini такое не оÑилит.</value>
+ <data name="Yes">
+ <value>Да</value>
</data>
- <data name="FolderNameMoreGames" xml:space="preserve">
- <value>Больше игр...</value>
+ <data name="YesForAll">
+ <value>Да Ð´Ð»Ñ Ð²Ñех</value>
</data>
</root> \ No newline at end of file
diff --git a/Properties/Resources.sk-SK.resx b/Properties/Resources.sk-SK.resx
new file mode 100644
index 00000000..8181a036
--- /dev/null
+++ b/Properties/Resources.sk-SK.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Spracúvanie hier, prosím poÄkajte...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Všetky súbory</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Ste si istý?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Údaje boli automaticky doplnené pre {0} hry).</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>StlaÄte a držte Select+A/B na sekundu pre povolenie/zruÅ¡enie autofire A/B</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Vytvára sa vlastný obraz kernelu</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Vytvára sa Å¡truktúra prieÄinkov</value>
+ </data>
+ <data name="Congratulations">
+ <value>Gratulujeme!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Vlastný kernel</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Chcete flashnúť vlastný kernel?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Teraz potrebujete flashnúť vlastný kernel do NES Mini. Je to potrebné urobiÅ¥ iba raz. Chcete pokraÄovaÅ¥?</value>
+ </data>
+ <data name="Default30games">
+ <value>Originálnych 30 hier</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Naozaj chcte odstrániť "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Naozaj chcete ostrániť {0} položiek?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Naozaj chcete odstrániť "{0}" hier?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Naozaj chcete odstrániť "{0}" predvoľbu?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Naozaj chcete odstrániť tieto uložené pozície hier?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Chcete zrušiť aktuálnu operáciu?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Chcete pokraÄovaÅ¥?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Ak sa vám táto aplikácia páÄi, môžete mi poslaÅ¥ dar. Môj PayPal e-mail nájdete v záložke "Informácie".</value>
+ </data>
+ <data name="Done">
+ <value>Hotovo!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>DokonÄené! Teraz môžete nahrávaÅ¥ hry do vaÅ¡ej NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Stiahnutie obalu pre všetky hry (Skúsim štastie!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Chcete zálohovať kernel?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Zálohovanie kernelu...</value>
+ </data>
+ <data name="Error">
+ <value>Chyba</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Vykonanie príkazu:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Môžete pridať globálne argumenty pre príkazový riadok, ktoré budú pripojené k všetkým hrám vrátane 30 povodných. Táto možnosť je len pre odborníkov!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Extra argumenty príkazového riadku</value>
+ </data>
+ <data name="FirstRun">
+ <value>Ahoj! Som veľmi rád že používate hakchi2. Je veľmi jednoduchý na používanie. StaÄí kliknúť na tlaÄidlo "PridaÅ¥ viac hier", vybraÅ¥ niektoré hry, stlaÄiÅ¥ tlaÄidlo "SynchronizovaÅ¥" a postupovaÅ¥ podľa pokynov. Veľa Å¡tastia!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashovanie vlastného kernelu...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashovanie originálneho kernelu...</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Späť</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Viac hier...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Nový prieÄinok</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Originálnych 30 hier</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Odpadkový kôš</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Nezatriedené</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Zložka "{0}" obsahuje {1} položiek.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Chcete uložiÅ¥ túto Å¡truktúru prieÄinkov?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>PrepáÄte, {0} používa režim na Å¡tyri obrazovky (napr. hra má ÄalÅ¡iu VRAM pamäť na kartridži), a táto funkcia nie je podporovaná NES Mini. Hru pravdepodobne nebude možné spustiÅ¥ pomocou predvoleného emulátora. Ale mala by fungovaÅ¥ s použitím iného modulu emulátora. Chcete pridaÅ¥ túto hru?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Naozaj chcte odstrániť "{0}" kód?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Musíte zadať kód!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Tento kód už existuje. Chcete ho upraviť?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Musíte zadať popis!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Neplatný Game Genie kód "{0}" pre hru "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Nie je možné použiť Game Genie kód "{0}" pre hru "{1}" - hodnota nebola nájdená. Možno je tento kód pre inú hru?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Hry a aplikácie:</value>
+ </data>
+ <data name="GamesSelected">
+ <value>hier vybraných</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Vyhľadávanie na Google</value>
+ </data>
+ <data name="Hello">
+ <value>Ahoj</value>
+ </data>
+ <data name="Images">
+ <value>Obrázky</value>
+ </data>
+ <data name="InputPreset">
+ <value>Prosím zadajte názov predvoľby pre aktuálny výber hier.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Inštalácia modulov...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Neplatný header kernelu.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Neplatná veľkosť kernelu.</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Váš originálny kernel je uložený v zložke "hakchi2\dump". Nestraťte ho.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>NaÄítavanie hier...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kernel je zálohovaný ale kontrolný súÄet MD5 nie je známy:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Kernel je už opravený alebo je neznámej revízie. Prosím poÅ¡lite mi túto správu (stlaÄte Ctrl+C). PokraÄujte na vlastné riziko.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Hlavné menu</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>PrepáÄte, "{0}" používa mapper #{1} ale tento mapper nie je podporovaný NES Mini a hru pravdepodobne nebude možné spustiÅ¥ pomocou predvoleného emulátora. Ale mala by fungovaÅ¥ s použitím iného modulu emulátora. Chcete pridaÅ¥ túto hru?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>PrepáÄte, je tu {0}MBytov hier, je to príliÅ¡ veľa.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Celková zapisovateľná pamäť: {0:F1}MBytov|Dostupná pamäť pre hry: {1:F1}MBytov|Použitá save: {2:F1}MBytov|Použitá inými súbormi: {3:F1}MBytov</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Nové hry sú presunuté do zložky "Nezatriedené".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Nová predvoľba pre výber</value>
+ </data>
+ <data name="No">
+ <value>Nie</value>
+ </data>
+ <data name="NoForAll">
+ <value>Nie pre všetky</value>
+ </data>
+ <data name="NoKernel">
+ <value>Nenájdený žiadny zálohovaný kernel</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Najprv zálohujte kernel vášho NES Mini. Je to potrebné urobiÅ¥ len raz. Chcete pokraÄovaÅ¥?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Nenájdený žiadny zálohovaný kernel. Musíte najprv zálohovať kernel.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Nie je možné spustiť Telnet klient zdá sa že je zakázaný. Najprv ho potrebujete spustiť, možete to spraviť v "Olvádací panel" -&gt; "programy" -&gt; "Zapnúť alebo vypnúť funkcie systému Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Nenájdené:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Chcete flashnúť originálny kernel?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Dostupný patch/oprava</value>
+ </data>
+ <data name="PatchQ">
+ <value>Je dostupný patch/oprava pre "{0}". Chcete patchnúť túto hru?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Ak tento problém pretrváva, skúste použiť iný USB port alebo kábel.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Prosím poÄkajte...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>PokraÄujte stlaÄením OK.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Už máte zálohovaný kernel. Ak NAOZAJ chcete nahradiÅ¥ zálohu vášho kernelu a NAOZAJ rozumiete Äo robíte, odstráňte prieÄinok "hakchi2\dump".</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini zálohy uložených pozícií hier</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Vyberte aspoň jednu hru.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Vyberte aspoň dve tlaÄidlá.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Vyberte moduly, ktoré chcete nainštalovať do NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Vyberte moduly, ktoré chcete odstrániť z NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Veľkosť vybraných uložených pozícií:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Nezabudnite vykonať obnovenie továrenského nastavenia, ak chcete odstrániť všetky uložené pozície v hrách.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Naozaj chcete odstrániť všetky stopy po hakchi2 a vrátiť NES Mini do pôvodného stavu?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>DokonÄené. PoÄkajte kým prestane svietiÅ¥ LED indikátor. Tiež je potrebné flashnúť originálny kernel. Chcete flashnúť originálny kernel teraz?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Odinštalovanie...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Odinštalovanie módov...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Neznáma hra</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Nahrávanie nového nastavenia...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Nahrávanie a spúštanie FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Nahrávanie hier...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Nahrávanie kernelu...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Spracúvanie originálnych hier...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verifikácie zlyhala :O To nie je dobré.</value>
+ </data>
+ <data name="Verifying">
+ <value>Verifikácia...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>ÄŒakanie na zariadenie...</value>
+ </data>
+ <data name="Warning">
+ <value>Upozornenie!</value>
+ </data>
+ <data name="Wow">
+ <value>Wow</value>
+ </data>
+ <data name="Yes">
+ <value>Ãno</value>
+ </data>
+ <data name="YesForAll">
+ <value>Ãno pre vÅ¡etky</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Deleted content will be moved to the Recycle Bin. You can delete this folder permanently or move the games to other folders.</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.sv-SE.resx b/Properties/Resources.sv-SE.resx
new file mode 100644
index 00000000..e7fc5216
--- /dev/null
+++ b/Properties/Resources.sv-SE.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>Bearbetar spel, vänta...</value>
+ </data>
+ <data name="AllFiles">
+ <value>Alla filer</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Är du säker?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Data automatisk ifyllt för {0} spel.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Håll Select+A/B i en sekund för att aktivera/inaktivera autofire A/B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Bygger den anpassade kärnan…</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Bygger mappstrukturen...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Grattis!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Anpassad kärna</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Vill du flasha den anpassade kärnan?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Nu behöver du flasha den anpassade kärnan till din NES Mini. Detta krävs bara en gång. Vill du fortsätta?</value>
+ </data>
+ <data name="Default30games">
+ <value>30 orginalspelen</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Vill du verkligen ta bort "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Vill du verkligen ta bort element {0}?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Vill du verkligen ta bort spelet "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Vill du verkligen ta bort "{0}" förinställningen?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Vill du verkligen ta bort dessa Save-States?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Vill du avbryta den aktuella operationen?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Vill du fortsätta?</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. Om du gillar detta kan du donera till mig. Du hittar min PayPal i rutan "Om".</value>
+ </data>
+ <data name="Done">
+ <value>Klar!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Klar! Du kan ladda upp spel till din NES Mini nu.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Ladda ner omslag för alla spel (jag har tur!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Vill du dumpa kärnan?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Dumpar kärnan…</value>
+ </data>
+ <data name="Error">
+ <value>Fel</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Utför kommando:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Du kan lägga till globala kommandoradsargument som kommer att läggas till alla spel inklusive de 30 orginalspelen. Detta är endast för experter!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Extra kommandoradsargument</value>
+ </data>
+ <data name="FirstRun">
+ <value>Hej där! Jag är mycket glad att du använder hakchi2. Den är väldigt enkelt att använda. Klicka bara på "Lägg till fler spel", välj några ROMs, tryck på "Synkronisera" och följ instruktionerna. Lycka till!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Flashar anpassad kärna…</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Flashar original kärna…</value>
+ </data>
+ <data name="FolderContent">
+ <value>Raderat innehåll kommer att flyttas till papperskorgen. Du kan ta bort den här mappen permanent eller flytta spelen till andra mappar.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Tillbaka</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Fler spel…</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Ny mapp</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>30 orginalspelen</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Papperskorgen</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>Osorterat</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Mappen "{0}" innehåller {1} element.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Vill du spara den här mappstrukturen?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Tyvärr, {0} använder fyrskärmsläge (dvs spelet har ytterligare VRAM-minne i sin cartridge), och den här funktionen stöds inte av NES Mini. Spelet kommer förmodligen inte att starta. Men det ska fungera om en annan emulatormodul installeras. Vill du lägga till det här spelet ändå?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Vill du ta bort koden "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Du måste ange en kod!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Denna kod finns redan. Vill du redigera den?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Du måste ange en beskrivning!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Ogiltig Game Genie-kod "{0}" för spel "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Kan inte tillämpa Game Genie-koden "{0}" till spel "{1}" - värde inte hittat. Kanske är den här koden för ett annat spel?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Spel och appar</value>
+ </data>
+ <data name="GamesSelected">
+ <value>spel valda</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Googling för</value>
+ </data>
+ <data name="Hello">
+ <value>Hej</value>
+ </data>
+ <data name="Images">
+ <value>Bilder</value>
+ </data>
+ <data name="InputPreset">
+ <value>Ange ett namn för förinställningen för det aktuella spelvalet.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Installerar mods…</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ogiltigt kärnhuvud.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ogiltig kärnstorlek:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Din ursprungliga kärna sparas i mappen "hakchi2\dump". Tappa inte bort den.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Laddar spel…</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Kärnan dumpad men MD5-kontrollsumman är okänd:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Kärnan är redan patchad eller det är en okänd revision. Vänligen skicka detta meddelande till mig (tryck Ctrl + C). Fortsätt på egen risk.</value>
+ </data>
+ <data name="MainMenu">
+ <value>HEMMA Meny</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Tyvärr, "{0}" använder mappning # {1} men den här mappningen stöds inte av NES Mini och spelet kommer förmodligen inte att starta med standardemulatorn. Men det ska fungera om en annan emulatormodul installeras. Vill du lägga till det här spelet?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Tyvärr, det finns {0} MBytes av spel, det är för mycket.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Totalt skrivbart minne: {0:F1} MBytes | Tillgängligt minne för spel: {1:F1} MBytes | Används av Save-States {2:F1} MBytes | Används av andra filer: {3:F1} MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Nya spel flyttas till mappen "Osorterat".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Ny valbar förinställning</value>
+ </data>
+ <data name="No">
+ <value>Nej</value>
+ </data>
+ <data name="NoForAll">
+ <value>Nej för alla</value>
+ </data>
+ <data name="NoKernel">
+ <value>Ingen dumpad kärna hittades</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Dumpa först kärnan på din NES Mini. Du behöver bara göra det här en gång. Vill du fortsätta?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Ingen dumpad kärna hittades. Du måste dumpa kärnan först.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Kan inte starta Telnet-klienten, det verkar som om den är inaktiverad. Du måste aktivera det först, du kan göra det i "Kontrollpanelen" - &gt; "Program" - &gt; "Slå av eller på funktioner i Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Hittades inte:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Vill du flasha originalkärnan?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>Patch tillgänglig</value>
+ </data>
+ <data name="PatchQ">
+ <value>Det finns en patch för "{0}". Vill du patcha det här spelet?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Om problemet kvarstår kan du försöka använda en annan USB-port eller kabel.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Vänligen vänta…</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>Tryck OK för att fortsätta.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Du har redan dumpat kärnan Om du verkligen vill byta säkerhetskopiering av din kärna och du verkligen förstår vad du gör, ta bort mappen "hakchi2\dump" manuellt.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>NES Mini Save-States backuper</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Välj minst ett spel.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Välj minst två knappar.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Välj de moduler som ska installeras på din NES Mini.</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Välj de moduler som ska avinstalleras på din NES Mini.</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Storlek på valda Save-States:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>Glöm inte att göra en fabriksåterställning om du vill ta bort alla inställningspunkter.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Vill du verkligen ta bort alla spår av hakchi2 och återställa din NES Mini till sitt ursprungliga tillstånd?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Klart. Vänta tills LEDen släcks. Du måste också flasha originalkärnan. Vill du flasha originalkärnan nu?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>Avinstallerar…</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>Avinstallerar mods…</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Okänt spel</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Överför ny konfiguration...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Laddar upp och kör FES-1…</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Laddar upp spel…</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Laddar upp kärnan…</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>Bearbetar orginal spelen...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Verifiera misslyckades: O Det här är inte bra.</value>
+ </data>
+ <data name="Verifying">
+ <value>Verifierar...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Väntar på enheten…</value>
+ </data>
+ <data name="Warning">
+ <value>Varning!</value>
+ </data>
+ <data name="Wow">
+ <value>nej men</value>
+ </data>
+ <data name="Yes">
+ <value>Ja</value>
+ </data>
+ <data name="YesForAll">
+ <value>Ja för alla</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.uk-UA.resx b/Properties/Resources.uk-UA.resx
new file mode 100644
index 00000000..79da7d66
--- /dev/null
+++ b/Properties/Resources.uk-UA.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>ОброблÑємо Ñ– додаємо в базу ігри. Будь лаÑка зачекайте...</value>
+ </data>
+ <data name="AllFiles">
+ <value>УÑÑ– файли</value>
+ </data>
+ <data name="AreYouSure">
+ <value>Ви впевнені?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>Дані автоматично заповнені Ð´Ð»Ñ {0} ігор.</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>ЗатиÑніть Select + A/B на Ñекунду, щоб включити турбо на кнопках A/B.</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>Патчим Ñдро...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>Будуємо дерево папок...</value>
+ </data>
+ <data name="Congratulations">
+ <value>Вітаємо!</value>
+ </data>
+ <data name="CustomKernel">
+ <value>Модифіковане Ñдро</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>Хочете прошити модифікований образ Ñдра?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>Тепер необхідно вÑтановити модифіковане Ñдро на NES Mini. Цю процедуру теж потрібно виконати тільки один раз. Продовжити?</value>
+ </data>
+ <data name="Default30games">
+ <value>Оригінальні 30 ігор</value>
+ </data>
+ <data name="DeleteElement">
+ <value>Ви дійÑно хочете видалити "{0}"?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>Ви дійÑно хочете видалити {0} елементів?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>Ви дійÑно хочете видалити гру "{0}"?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>Ви дійÑно хочете видалити преÑет "{0}"?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>Ви дійÑно хочете видалити ці збереженнÑ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>Хочете ÑкаÑувати поточну операцію?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>Продовжити?</value>
+ </data>
+ <data name="Done">
+ <value>Готово!</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>Готово! Тепер можна завантажувати Ñвої ігри в NES Mini.</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>Качаємо обкладинки длÑуÑÑ–Ñ… ігор (Мені пощаÑтить!)</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>Здампити образ Ñдра NES Mini?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>Читаємо образ Ñдра...</value>
+ </data>
+ <data name="Error">
+ <value>Помилка</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>Виконуємо команду:</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>Ви можете задати глобальні параметри командного Ñ€Ñдка, Ñкі будуть додані до уÑÑ–Ñ… ігор, включаючи оригінальні. Тільки Ð´Ð»Ñ ÐµÐºÑпертів!</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>Глобальні параметри командного Ñ€Ñдка</value>
+ </data>
+ <data name="FirstRun">
+ <value>Привіт! Я дуже радий, що ви кориÑтуєтеÑÑ Ð¼Ð¾Ñ”ÑŽ програмою. Її дуже проÑто кориÑтуватиÑÑŒ: натиÑніть кнопку "Додати ігор", виберіть ROMи, потім натиÑніть"Синхронізувати" Ñ– дотримуйтеÑÑŒ інÑтрукцій. УÑпіхів!</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>Прошиваємо модифіковане Ñдро...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>Прошиваємо оригінальне Ñдро...</value>
+ </data>
+ <data name="FolderContent">
+ <value>Контент буде переміщений в папку "Кошик". Ви можете видалити Ñ—Ñ— назовÑім або переміÑтити гри в інші директорії.</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>Ðазад</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>Більше ігор...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>Ðова папка</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>Оригінальні 30 ігор</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Кошик</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>ÐевідÑортовані</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>Папка "{0}" міÑтить {1} елементів.</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>Зберегти це дерево папок?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>Ðа жаль, {0} викориÑтовує four-screen режим (тобто це рідкіÑний випадок, коли у гри в картриджі розширена відеопам'ÑÑ‚ÑŒ), а NES Mini його не підтримує, Ñ– гра швидше за вÑе не запуÑтитьÑÑ Ð½Ð° Ñтандартному емулÑторі. Ðле вона повинна запрацювати, Ñкщо вÑтановлено модуль з іншим емулÑтором. Додати цю гру?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>Ви дійÑно хочете видалити код "{0}"?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>Ви повинні ввеÑти код!</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>Цей код вже є у базі. Відредагувати його?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>Ви повинні ввеÑти опиÑ!</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>Ðекоректний Game Genie код "{0}" Ð´Ð»Ñ Ð³Ñ€Ð¸ "{1}".</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>Ðе вдалоÑÑ Ð·Ð°ÑтоÑувати Game Genie код "{0}" до гри "{1}", тому що Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ було знайдено. Може, це код не Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— гри?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>Ігри та додатки</value>
+ </data>
+ <data name="GamesSelected">
+ <value>гра(ігри) вибрано</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Гуглим</value>
+ </data>
+ <data name="Hello">
+ <value>Привіт!</value>
+ </data>
+ <data name="Images">
+ <value>ЗображеннÑ</value>
+ </data>
+ <data name="InputPreset">
+ <value>Введіть назву Ð´Ð»Ñ Ð¿Ñ€ÐµÑету обраних ігор.</value>
+ </data>
+ <data name="InstallingMods">
+ <value>Ð’Ñтановлюємо модулі...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>Ðекоректний заголовок образу Ñдра.</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>Ðекоректний розмір Ñдра:</value>
+ </data>
+ <data name="KernelDumped">
+ <value>Оригінальний образ Ñдра збережений в папці "hakchi2\dump". Бажано його не втратити Ñ– не Ñтерти.</value>
+ </data>
+ <data name="LoadingGames">
+ <value>Завантажуємо ігри...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>Образ Ñдра здамплен, але MD5 некоректний:</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>Можливо, Ñдро вже модифіковано, або нам ще невідома така верÑÑ–Ñ. Ðадішліть це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ñƒ програми (натиÑніть Ctrl + C). Продовжуйте на Ñвій Ñтрах Ñ– ризик.</value>
+ </data>
+ <data name="MainMenu">
+ <value>Головне меню</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>Ðажаль, "{0}" викориÑтовує маппер #{1}, а NES Mini його, мабуть, не підтримує, Ñ– гра, швидше за вÑе, не запуÑтитьÑÑ Ð½Ð° Ñтандартному емумулÑторі. Ðле вона повинна заробити, Ñкщо вÑтановлений модуль з іншим емулÑтором. Додати цю игру?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>Вибачте, дуже вже багато ігор, на {0} МБайт, NES Mini таке не подужає.</value>
+ </data>
+ <data name="MemoryStats">
+ <value>Ð’Ñього можна перезапиÑувати пам'ÑÑ‚Ñ–: {0:F1}МБайт|ДоÑтупно Ð´Ð»Ñ Ñ–Ð³Ð¾Ñ€: {1:F1}МБайт|ВикориÑтовуєтьÑÑ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñми: {2:F1}МБайт|ВикориÑтовуєтьÑÑ Ñ–Ð½ÑˆÐ¸Ð¼Ð¸ файлами: {3:F1}МБайт</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>Ðові ігри поміщені в папку "ÐевідÑортовані".</value>
+ </data>
+ <data name="NewPreset">
+ <value>Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€ÐµÑету</value>
+ </data>
+ <data name="No">
+ <value>ÐÑ–</value>
+ </data>
+ <data name="NoForAll">
+ <value>ÐÑ– Ð´Ð»Ñ ÑƒÑÑ–Ñ…</value>
+ </data>
+ <data name="NoKernel">
+ <value>Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ образ Ñдра</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>Перш за вÑе, необхідно здампити образ Ñдра NES Mini. Цю процедуру потрібно зробити лише один раз. Продовжити?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>Ðе найден образ Ñдра NES Mini. Сначала необходимо его Ñдампить.</value>
+ </data>
+ <data name="NoTelnet">
+ <value>Ðе можу відкрити Telnet клієнт. Схоже, що він вимкнений. Увімкніть його в "Панели управліннÑ" -&gt; "Програми Ñ– компоненти" -&gt; "Компоненти Windows".</value>
+ </data>
+ <data name="NotFound">
+ <value>Ðе знайдено:</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>Прошити оригінальний образ Ñдра?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>ДоÑтупний патч</value>
+ </data>
+ <data name="PatchQ">
+ <value>Ð”Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ "{0}" доÑтупний патч. Хочете його заÑтоÑувати?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>Якщо проблема повторюєтьÑÑ, Ñпробуйте інший USB порт або інший USB кабель.</value>
+ </data>
+ <data name="PleaseWait">
+ <value>Будь лаÑка зачекайте...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>ÐатиÑніть OK Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ.</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>Вже Ñ–Ñнує збережений образ Ñдра. Якщо ви ДІЙСÐО хочете замінити оригінальну копію Ñдра Ñ– СПРÐВДІ розумієте, що робите, видаліть папку "hakchi2 \ dump" вручну.</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ NES Mini</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>Ðеобхідно вибрати хоча б одну гру.</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>Потрібно вибрати хоча б дві кнопки.</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>Виберіть модулі Ð´Ð»Ñ ÑƒÑтановки на NES Mini</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>Виберіть модулі, Ñкі потрібно видалити з NES Mini</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>Розмір обраних збережень:</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>УÑе. Ðе забудьте також зробити ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ заводÑьких налаштувань, Ñкщо хочете видалити Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ñ–Ð³Ð¾Ñ€.</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>Ви дійÑно хочете видалити вÑÑ– файли hakchi2 з вашої NES Mini Ñ– повернути Ñ—Ñ— в незайманий Ñтан?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>Готово. Тільки почекайте, поки згаÑне Ñвітлодіод. І ще необхідно прошити назад оригінальне Ñдро. Зробити це зараз?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>УдалÑемÑÑ...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>ВидалÑємо модулі...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>Ðевідома гра</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>Оновлюємо наÑтройки...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>Завантажуємо і виконуємо fes1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>Завантажуємо ігри...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>Завантажуємо образ Ñдра...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>РозподілÑємо оригінальні ігри...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>Перевірка закінчилаÑÑ Ð½ÐµÑƒÑпішно. Це погано: o</value>
+ </data>
+ <data name="Verifying">
+ <value>ПеревірÑємо...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>Очікуємо приÑтрій...</value>
+ </data>
+ <data name="Warning">
+ <value>Увага!</value>
+ </data>
+ <data name="Wow">
+ <value>Ура</value>
+ </data>
+ <data name="Yes">
+ <value>Так</value>
+ </data>
+ <data name="YesForAll">
+ <value>Так Ð´Ð»Ñ ÑƒÑÑ–Ñ…</value>
+ </data>
+ <data name="Donate">
+ <value>P.S. If you like it, you can donate to me. You can find my PayPal in the "About" box.</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.zh-CHS.resx b/Properties/Resources.zh-CHS.resx
new file mode 100644
index 00000000..c8c45f89
--- /dev/null
+++ b/Properties/Resources.zh-CHS.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>处ç†æ¸¸æˆæ¡£æ¡ˆä¸­ , 请ç¨å€™ ...</value>
+ </data>
+ <data name="AllFiles">
+ <value>所有档案</value>
+ </data>
+ <data name="AreYouSure">
+ <value>æ‚¨ç¡®å®šå— ?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>会自动填满为 { 0 } 款游æˆ</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Selecté”®(按ä½ä¸æ”¾) + Aé”® 或 Bé”® æ¥å¯ç”¨æˆ–åœç”¨è‡ªåŠ¨è¿žå‘ Aé”® 或 Bé”®</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>正在建构自定义核心映åƒæ¡£æ¡ˆ...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>建立文件夹结构 ...</value>
+ </data>
+ <data name="Congratulations">
+ <value>æ­å–œ !</value>
+ </data>
+ <data name="CustomKernel">
+ <value>自定义核心</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>你确定è¦å¼€å§‹è¦†å†™è‡ªå®šä¹‰æ ¸å¿ƒå— ?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>现在您需è¦è¦†å†™è‡ªå®šä¹‰æ ¸å¿ƒåˆ°ä½ çš„迷你红白机,这åªä¼šæ‰§è¡Œä¸€æ¬¡ã€‚您è¦ç»§ç»­å— ?</value>
+ </data>
+ <data name="Default30games">
+ <value>原厂内建30款ç»å…¸æ¸¸æˆ</value>
+ </data>
+ <data name="DeleteElement">
+ <value>您真的è¦åˆ é™¤ "{0}" å— ?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>您确定è¦åˆ é™¤ { 0 } å…ƒç´ å— ?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>您真的è¦åˆ é™¤ "{0}" 游æˆå— ?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>您真的è¦åˆ é™¤ "{0}" 默认组åˆå— ?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>你确定è¦åˆ é™¤è¿·ä½ çº¢ç™½æœºçš„å¿«é€Ÿå­˜æ¡£å— ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>您è¦å–消目å‰çš„ä½œä¸šå— ?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>您è¦ç»§ç»­å— ?</value>
+ </data>
+ <data name="Donate">
+ <value>附注: 如果您喜欢,欢迎æ赠给开å‘者。 您å¯ä»¥åˆ°ã€Œå…³äºŽã€ä¸­æ‰¾åˆ°å¼€å‘者的PayPal</value>
+ </data>
+ <data name="Done">
+ <value>å®Œæˆ !</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>å®Œæˆ ! 您已ç»å¯ä»¥ä¸Šä¼ å…¶ä»–游æˆåˆ°ä½ çš„迷你红白机了ï¼</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>自动从Google下载所有游æˆå°é¢å›¾ç‰‡ ( 结果如何就看人å“了XD )</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>您是å¦æƒ³è¦å€¾å°æ ¸å¿ƒæ¡£æ¡ˆ ?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>正在倾å°æ ¸å¿ƒ...</value>
+ </data>
+ <data name="Error">
+ <value>错误</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>执行命令 :</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>您å¯ä»¥æ–°å¢žå…¨å±€é€šç”¨çš„命令行执行å‚数,让所有游æˆåŒ…括原厂内建的30款游æˆå…¨éƒ½é™„加此命令。 ( é™ä¸“业玩家使用 ! )</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>é¢å¤–的命令行å‚æ•°</value>
+ </data>
+ <data name="FirstRun">
+ <value>您好 ! 感谢您使用 hakchi2 ,åªè¦æŒ‰ä¸‹ã€Œæ–°å¢žæ›´å¤šæ¸¸æˆã€ï¼Œé€‰æ‹©æ¸¸æˆROM档,å†æŒ‰ä¸‹ã€Œå¼€å§‹åŒæ­¥å¤„ç†ã€å¹¶ä¾ç…§æŒ‡ç¤ºè¿›è¡ŒåŠ¨ä½œå³å¯ã€‚éžå¸¸ç®€å•ï¼Œç¥æ‚¨å¥½è¿ !</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>正在覆写自定义核心...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>正在覆写原厂核心...</value>
+ </data>
+ <data name="FolderContent">
+ <value>已删除的内容将会被移至回收站,您å¯ä»¥æ°¸ä¹…删除这个文件夹或移动游æˆåˆ°å…¶ä»–文件夹存放。</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>返回</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>更多游æˆ...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>新增文件夹</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>原厂内建30款ç»å…¸æ¸¸æˆ</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>未分类</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>文件夹 "{0}" åŒ…å« {1} 个元素。</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>您è¦å‚¨å­˜æ­¤æ–‡ä»¶å¤¹ç»“æž„å— ?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>抱歉 , "{0}" 使用四å±å¹•æ¨¡å¼(也就是游æˆç”¨äº†é¢å¤–çš„VRAM规格),但迷你红白机默认的仿真器并ä¸æ”¯æŒã€‚ 但若有安装其他仿真器扩充模å—则å¯èƒ½å¯ä»¥æ‰§è¡Œã€‚ 您确定è¦åŠ å…¥è¿™æ¬¾æ¸¸æˆå— ?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>您想è¦åˆ é™¤ "{0}" 的代ç å— ?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>æ‚¨å¿…é¡»è¾“å…¥å®Œæ•´çš„ä»£ç  !</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>此代ç å·²å­˜åœ¨ï¼Œæ‚¨æƒ³è¦ç¼–è¾‘å®ƒå— ?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>您必须输入详细说明 !</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>无效的游æˆä½œå¼Šä»£ç  "{0}" äºŽæ¸¸æˆ "{1}" 。</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>无法套用游æˆä½œå¼Šä»£ç  "{0}" ç»™æ¸¸æˆ "{1}" - 找ä¸åˆ°å€¼ã€‚ 也许这段代ç æ˜¯åˆ«æ¬¾æ¸¸æˆçš„ ?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>游æˆå’Œåº”用程åº</value>
+ </data>
+ <data name="GamesSelected">
+ <value>款游æˆå·²é€‰æ‹©</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Google正在查</value>
+ </data>
+ <data name="Hello">
+ <value>您好</value>
+ </data>
+ <data name="Images">
+ <value>图片</value>
+ </data>
+ <data name="InputPreset">
+ <value>请为目å‰æ‰€é€‰çš„游æˆï¼Œè¾“入命å的默认组åˆå称</value>
+ </data>
+ <data name="InstallingMods">
+ <value>正在安装扩充模å—...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>无效的核心档头</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>无效的核心大å°</value>
+ </data>
+ <data name="KernelDumped">
+ <value>您的原始核心档案储存在「hakchi2\dumpã€æ–‡ä»¶å¤¹ã€‚请ä¸è¦åˆ é™¤å®ƒã€‚</value>
+ </data>
+ <data name="LoadingGames">
+ <value>载入游æˆä¸­...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>核心倾å°å®Œæˆï¼Œä½†MD5检查ç ä¸æ˜Ž :</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>核心已ç»è¢«ä¿®æ”¹æˆ–它是一个ä¸æ˜Žçš„修改版。 请按Ctrl + C 将此讯æ¯ä¼ é€ç»™æˆ‘。若è¦ç»§ç»­ä½¿ç”¨è´£ä»»è‡ªè´Ÿã€‚</value>
+ </data>
+ <data name="MainMenu">
+ <value>首页èœå•</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>抱歉 , "{0}" 使用了Mapper #{1} 但迷你红白机默认的仿真器并ä¸æ”¯æŒã€‚ 但若有安装其他仿真器扩充模å—则å¯èƒ½å¯ä»¥æ‰§è¡Œã€‚ 您确定è¦åŠ å…¥è¿™æ¬¾æ¸¸æˆå— ?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>抱歉 , 此游æˆçš„档案有 {0} MB,真的太大了...</value>
+ </data>
+ <data name="MemoryStats">
+ <value>总共的储存空间大å°: {0:F1}MBytes|å¯å­˜æ”¾æ¸¸æˆçš„储存空间大å°: {1:F1}MBytes|ç›®å‰å·²ä½¿ç”¨çš„档案大å°: {2:F1}MBytes|其他已使用的档案大å°: {3:F1}MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>新的游æˆéƒ½ä¼šè¢«ç§»åˆ°ã€ŒUnsortedã€æœªåˆ†ç±»æ–‡ä»¶å¤¹ã€‚</value>
+ </data>
+ <data name="NewPreset">
+ <value>新增默认组åˆ</value>
+ </data>
+ <data name="No">
+ <value>ä¸è¦</value>
+ </data>
+ <data name="NoForAll">
+ <value>全部ä¸è¦</value>
+ </data>
+ <data name="NoKernel">
+ <value>找ä¸åˆ°å€¾å°çš„核心</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>首先,会将迷你红白机的核心倾å°è½¬æ¡£ï¼Œè¿™åªä¼šæ‰§è¡Œä¸€æ¬¡ã€‚您è¦ç»§ç»­å— ?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>找ä¸åˆ°å€¾å°çš„核心,首次使用需è¦å…ˆå°†æ ¸å¿ƒå€¾å°ã€‚</value>
+ </data>
+ <data name="NoTelnet">
+ <value>无法å¯åŠ¨ Telnet 客户端。看起æ¥å†…建的客户端程åºå·²è¢«åœç”¨ï¼Œæ‚¨å¿…须先å¯ç”¨å®ƒï¼Œä½ å¯ä»¥åœ¨Windows的「控制å°ã€ -&gt; 「程åºä¸ŽåŠŸèƒ½ã€ -&gt; 「开å¯æˆ–关闭Windows功能ã€ä¸­æ‰¾åˆ°ï¼Œæˆ–者å¦å¤–安装使用其他Telnet软件。</value>
+ </data>
+ <data name="NotFound">
+ <value>找ä¸åˆ° :</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>您是å¦æƒ³è¦è¦†å†™åŽŸåŽ‚核心 ?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>å¯ä¿®è¡¥ç¨‹åº</value>
+ </data>
+ <data name="PatchQ">
+ <value>有修补程åºä¾› "{0} 使用。 您是å¦æƒ³è¦ä¿®è¡¥è¿™ä¸ªæ¸¸æˆå— ?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>如果此问题ä»ç„¶å­˜åœ¨ , 请å°è¯•ä½¿ç”¨å¦ä¸€æ¡USB连接线或别的端å£ã€‚</value>
+ </data>
+ <data name="PleaseWait">
+ <value>请ç¨å€™...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>按下「确定ã€ä»¥ç»§ç»­è¿›è¡Œæ“作。</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>您已倾å°è¿‡æ ¸å¿ƒã€‚如果您真的è¦æ›´æ¢æ‚¨çš„核心备份,并且你知é“你正在åšä»€ä¹ˆï¼Œæ‚¨å¯ä»¥è‡ªè¡Œåˆ é™¤ã€Œhakchi2\dumpã€æ–‡ä»¶å¤¹ã€‚</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>迷你红白机的快速存档备份</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>请选å–至少一款游æˆ</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>至少需è¦ä¸¤ä¸ªæŒ‰é”®ç»„åˆã€‚</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>选择你è¦å®‰è£…的扩充模å—至你的迷你红白机中</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>选择你è¦ç§»é™¤çš„扩充模å—自你的迷你红白机中</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>é€‰æ‹©å¿«é€Ÿå­˜æ¡£çš„å¤§å° :</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>如果您想è¦åˆ é™¤æ‰€æœ‰å¿«é€Ÿå­˜ç›˜ï¼Œåˆ«å¿˜äº†æ‰§è¡Œé‡è®¾ä¸ºåŽŸåŽ‚值</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>您真的è¦å°†ä½ çš„迷你红白机移除所有hakchi2内容并æ¢å¤ä¸ºåŽŸåŽ‚的状æ€å— ?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>完æˆï¼è¯·ç­‰å€™ç”µæºLED指示ç¯ç†„ç­ã€‚您会需è¦è¦†å†™åŽŸåŽ‚核心。 您是å¦è¦çŽ°åœ¨å¼€å§‹è¦†å†™åŽŸåŽ‚核心呢 ?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>å¸è½½...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>正在移除扩充模å—...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>未知游æˆ</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>正在上传新的设定值...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>正在上传并执行 FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>上传游æˆä¸­...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>上载核心中...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>处ç†åŽŸåŽ‚内建游æˆä¸­...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>验è¯å¤±è´¥ QQ 这有点糟。</value>
+ </data>
+ <data name="Verifying">
+ <value>验è¯ä¸­...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>等待装置中...</value>
+ </data>
+ <data name="Warning">
+ <value>警告 !</value>
+ </data>
+ <data name="Wow">
+ <value>哇</value>
+ </data>
+ <data name="Yes">
+ <value>è¦</value>
+ </data>
+ <data name="YesForAll">
+ <value>全部都è¦</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.zh-CHT.resx b/Properties/Resources.zh-CHT.resx
new file mode 100644
index 00000000..40f2f308
--- /dev/null
+++ b/Properties/Resources.zh-CHT.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>處ç†éŠæˆ²æª”案中 , è«‹ç¨å€™ ...</value>
+ </data>
+ <data name="AllFiles">
+ <value>所有檔案</value>
+ </data>
+ <data name="AreYouSure">
+ <value>您確定嗎 ?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>會自動填滿為 { 0 } 款éŠæˆ²</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Selectéµ(按ä½ä¸æ”¾) + Aéµ æˆ– Béµ ä¾†å•Ÿç”¨æˆ–åœç”¨è‡ªå‹•é€£ç™¼ Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>正在建構自訂核心映åƒæª”案...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>建立資料夾çµæ§‹ ...</value>
+ </data>
+ <data name="Congratulations">
+ <value>æ­å–œ !</value>
+ </data>
+ <data name="CustomKernel">
+ <value>自訂核心</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>你確定è¦é–‹å§‹è¦†å¯«è‡ªè¨‚核心嗎 ?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>ç¾åœ¨æ‚¨éœ€è¦è¦†å¯«è‡ªè¨‚核心到你的迷你紅白機,這åªæœƒåŸ·è¡Œä¸€æ¬¡ã€‚您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="Default30games">
+ <value>原廠內建30款經典éŠæˆ²</value>
+ </data>
+ <data name="DeleteElement">
+ <value>您真的è¦åˆªé™¤ "{0}" å—Ž ?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>您確定è¦åˆªé™¤ { 0 } 元素嗎 ?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>您真的è¦åˆªé™¤ "{0}" éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>您真的è¦åˆªé™¤ "{0}" é è¨­çµ„åˆå—Ž ?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>你確定è¦åˆªé™¤è¿·ä½ ç´…白機的快速存檔嗎 ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>您è¦å–消目å‰çš„作業嗎 ?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="Donate">
+ <value>附註: 如果您喜歡,歡迎æ贈給開發者。您å¯ä»¥åˆ°ã€Œé—œæ–¼ã€ä¸­æ‰¾åˆ°é–‹ç™¼è€…çš„PayPal</value>
+ </data>
+ <data name="Done">
+ <value>å®Œæˆ !</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>å®Œæˆ ! 您已經å¯ä»¥ä¸Šå‚³å…¶ä»–éŠæˆ²åˆ°ä½ çš„迷你紅白機了ï¼</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>自動從Google下載所有éŠæˆ²å°é¢åœ–片 ( çµæžœå¦‚何就看人å“了XD )</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>您是å¦æƒ³è¦å‚¾å°æ ¸å¿ƒæª”案 ?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>正在傾å°æ ¸å¿ƒ...</value>
+ </data>
+ <data name="Error">
+ <value>錯誤</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>執行命令 :</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>您å¯ä»¥æ–°å¢žå…¨åŸŸé€šç”¨çš„命令列執行åƒæ•¸ï¼Œè®“所有éŠæˆ²åŒ…括原廠內建的30款éŠæˆ²å…¨éƒ½é™„加此命令。 ( é™å°ˆæ¥­çŽ©å®¶ä½¿ç”¨ ! )</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>é¡å¤–的命令列åƒæ•¸</value>
+ </data>
+ <data name="FirstRun">
+ <value>您好 ! æ„Ÿè¬æ‚¨ä½¿ç”¨ hakchi2 ,åªè¦æŒ‰ä¸‹ã€Œæ–°å¢žæ›´å¤šéŠæˆ²ã€ï¼Œé¸æ“‡éŠæˆ²ROM檔,å†æŒ‰ä¸‹ã€Œé–‹å§‹åŒæ­¥è™•ç†ã€ä¸¦ä¾ç…§æŒ‡ç¤ºé€²è¡Œå‹•ä½œå³å¯ã€‚éžå¸¸ç°¡å–®ï¼Œç¥æ‚¨å¥½é‹ !</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>正在覆寫自訂核心...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>正在覆寫原廠核心...</value>
+ </data>
+ <data name="FolderContent">
+ <value>已刪除的內容將會被移至資æºå›žæ”¶ç­’,您å¯ä»¥æ°¸ä¹…刪除這個資料夾或移動éŠæˆ²åˆ°å…¶ä»–資料夾存放。</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>返回</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>更多éŠæˆ²...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>新增資料夾</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>原廠內建30款經典éŠæˆ²</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>未分類</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>資料夾 "{0}" åŒ…å« {1} 個元素。</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>您è¦å„²å­˜æ­¤è³‡æ–™å¤¾çµæ§‹å—Ž ?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>抱歉 , "{0}" 使用四螢幕模å¼(也就是éŠæˆ²ç”¨äº†é¡å¤–çš„VRAMè¦æ ¼),但迷你紅白機é è¨­çš„模擬器並ä¸æ”¯æ´ã€‚ 但若有安è£å…¶ä»–模擬器擴充模組則å¯èƒ½å¯ä»¥åŸ·è¡Œã€‚ 您確定è¦åŠ å…¥é€™æ¬¾éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>您想è¦åˆªé™¤ "{0}" 的代碼嗎 ?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>您必須輸入完整的代碼 !</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>此代碼已存在,您想è¦ç·¨è¼¯å®ƒå—Ž ?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>您必須輸入詳細說明 !</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>無效的éŠæˆ²ä½œå¼Šä»£ç¢¼ "{0}" æ–¼éŠæˆ² "{1}" 。</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>無法套用éŠæˆ²ä½œå¼Šä»£ç¢¼ "{0}" 給éŠæˆ² "{1}" - 找ä¸åˆ°å€¼ã€‚ 也許這段代碼是別款éŠæˆ²çš„ ?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>éŠæˆ²å’Œæ‡‰ç”¨ç¨‹å¼</value>
+ </data>
+ <data name="GamesSelected">
+ <value>款éŠæˆ²å·²é¸æ“‡</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Google正在查</value>
+ </data>
+ <data name="Hello">
+ <value>您好</value>
+ </data>
+ <data name="Images">
+ <value>圖片</value>
+ </data>
+ <data name="InputPreset">
+ <value>請為目å‰æ‰€é¸çš„éŠæˆ²ï¼Œè¼¸å…¥å‘½åçš„é è¨­çµ„åˆå稱</value>
+ </data>
+ <data name="InstallingMods">
+ <value>正在安è£æ“´å……模組...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>無效的核心檔頭</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>無效的核心大å°</value>
+ </data>
+ <data name="KernelDumped">
+ <value>您的原始核心檔案儲存在「hakchi2\dumpã€è³‡æ–™å¤¾ã€‚è«‹ä¸è¦åˆªé™¤å®ƒã€‚</value>
+ </data>
+ <data name="LoadingGames">
+ <value>載入éŠæˆ²ä¸­...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>核心傾å°å®Œæˆï¼Œä½†MD5檢查碼ä¸æ˜Ž :</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>核心已經被修改或它是一個ä¸æ˜Žçš„修改版。 請按Ctrl + C 將此訊æ¯å‚³é€çµ¦æˆ‘。若è¦ç¹¼çºŒä½¿ç”¨è²¬ä»»è‡ªè² ã€‚</value>
+ </data>
+ <data name="MainMenu">
+ <value>首é åŠŸèƒ½è¡¨</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>抱歉 , "{0}" 使用了Mapper #{1} 但迷你紅白機é è¨­çš„模擬器並ä¸æ”¯æ´ã€‚ 但若有安è£å…¶ä»–模擬器擴充模組則å¯èƒ½å¯ä»¥åŸ·è¡Œã€‚ 您確定è¦åŠ å…¥é€™æ¬¾éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>抱歉 , æ­¤éŠæˆ²çš„檔案有 {0} MB,真的太大了...</value>
+ </data>
+ <data name="MemoryStats">
+ <value>總共的儲存空間大å°: {0:F1}MBytes|å¯å­˜æ”¾éŠæˆ²çš„儲存空間大å°: {1:F1}MBytes|ç›®å‰å·²ä½¿ç”¨çš„檔案大å°: {2:F1}MBytes|其他已使用的檔案大å°: {3:F1}MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>æ–°çš„éŠæˆ²éƒ½æœƒè¢«ç§»åˆ°ã€ŒUnsortedã€æœªåˆ†é¡žè³‡æ–™å¤¾ã€‚</value>
+ </data>
+ <data name="NewPreset">
+ <value>新增é è¨­çµ„åˆ</value>
+ </data>
+ <data name="No">
+ <value>ä¸è¦</value>
+ </data>
+ <data name="NoForAll">
+ <value>全部ä¸è¦</value>
+ </data>
+ <data name="NoKernel">
+ <value>找ä¸åˆ°å‚¾å°çš„核心</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>首先,會將迷你紅白機的核心傾å°è½‰æª”,這åªæœƒåŸ·è¡Œä¸€æ¬¡ã€‚您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>找ä¸åˆ°å‚¾å°çš„核心,首次使用需è¦å…ˆå°‡æ ¸å¿ƒå‚¾å°ã€‚</value>
+ </data>
+ <data name="NoTelnet">
+ <value>無法啟動 Telnet 用戶端。看起來內建的用戶端程å¼å·²è¢«åœç”¨ï¼Œæ‚¨å¿…須先啟用它,你å¯ä»¥åœ¨Windows的「控制å°ã€ -&gt; 「程å¼èˆ‡åŠŸèƒ½ã€ -&gt; 「開啟或關閉Windows功能ã€ä¸­æ‰¾åˆ°ï¼Œæˆ–者å¦å¤–安è£ä½¿ç”¨å…¶ä»–Telnet軟體。</value>
+ </data>
+ <data name="NotFound">
+ <value>找ä¸åˆ° :</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>您是å¦æƒ³è¦è¦†å¯«åŽŸå» æ ¸å¿ƒ ?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>å¯ä¿®è£œç¨‹å¼</value>
+ </data>
+ <data name="PatchQ">
+ <value>有修補程å¼ä¾› "{0} 使用。 您是å¦æƒ³è¦ä¿®è£œé€™å€‹éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>如果此å•é¡Œä»ç„¶å­˜åœ¨ , 請嘗試使用å¦ä¸€æ¢USB連接線或別的連接埠。</value>
+ </data>
+ <data name="PleaseWait">
+ <value>è«‹ç¨å€™...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>按下「確定ã€ä»¥ç¹¼çºŒé€²è¡Œæ“作。</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>您已傾å°éŽæ ¸å¿ƒã€‚如果您真的è¦æ›´æ›æ‚¨çš„核心備份,並且你知é“你正在åšä»€éº¼ï¼Œæ‚¨å¯ä»¥è‡ªè¡Œåˆªé™¤ã€Œhakchi2\dumpã€è³‡æ–™å¤¾ã€‚</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>迷你紅白機的快速存檔備份</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>è«‹é¸å–至少一款éŠæˆ²</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>至少需è¦å…©å€‹æŒ‰éµçµ„åˆã€‚</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>é¸æ“‡ä½ è¦å®‰è£çš„擴充模組至你的迷你紅白機中</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>é¸æ“‡ä½ è¦ç§»é™¤çš„擴充模組自你的迷你紅白機中</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>é¸æ“‡å¿«é€Ÿå­˜æª”çš„å¤§å° :</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>如果您想è¦åˆªé™¤æ‰€æœ‰å¿«é€Ÿå­˜æª”,別忘了執行é‡è¨­ç‚ºåŽŸå» å€¼</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>您真的è¦å°‡ä½ çš„迷你紅白機移除所有hakchi2內容並æ¢å¾©ç‚ºåŽŸå» çš„狀態嗎 ?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>完æˆï¼è«‹ç­‰å€™é›»æºLED指示燈熄滅。您會需è¦è¦†å¯«åŽŸå» æ ¸å¿ƒã€‚ 您是å¦è¦ç¾åœ¨é–‹å§‹è¦†å¯«åŽŸå» æ ¸å¿ƒå‘¢ ?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>解除安è£...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>正在移除擴充模組...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>未知éŠæˆ²</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>正在上傳新的設定值...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>正在上傳並執行 FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>上傳éŠæˆ²ä¸­...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>上載核心中...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>處ç†åŽŸå» å…§å»ºéŠæˆ²ä¸­...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>驗證失敗 =.= 這有點糟。</value>
+ </data>
+ <data name="Verifying">
+ <value>驗證中...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>等待è£ç½®ä¸­...</value>
+ </data>
+ <data name="Warning">
+ <value>警告 !</value>
+ </data>
+ <data name="Wow">
+ <value>哇</value>
+ </data>
+ <data name="Yes">
+ <value>è¦</value>
+ </data>
+ <data name="YesForAll">
+ <value>全部都è¦</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/Resources.zh-TW.resx b/Properties/Resources.zh-TW.resx
new file mode 100644
index 00000000..40f2f308
--- /dev/null
+++ b/Properties/Resources.zh-TW.resx
@@ -0,0 +1,382 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="AddingGames">
+ <value>處ç†éŠæˆ²æª”案中 , è«‹ç¨å€™ ...</value>
+ </data>
+ <data name="AllFiles">
+ <value>所有檔案</value>
+ </data>
+ <data name="AreYouSure">
+ <value>您確定嗎 ?</value>
+ </data>
+ <data name="AutofillResult">
+ <value>會自動填滿為 { 0 } 款éŠæˆ²</value>
+ </data>
+ <data name="AutofireHelp1">
+ <value>Selectéµ(按ä½ä¸æ”¾) + Aéµ æˆ– Béµ ä¾†å•Ÿç”¨æˆ–åœç”¨è‡ªå‹•é€£ç™¼ Aéµ æˆ– Béµ</value>
+ </data>
+ <data name="BuildingCustom">
+ <value>正在建構自訂核心映åƒæª”案...</value>
+ </data>
+ <data name="BuildingFolders">
+ <value>建立資料夾çµæ§‹ ...</value>
+ </data>
+ <data name="Congratulations">
+ <value>æ­å–œ !</value>
+ </data>
+ <data name="CustomKernel">
+ <value>自訂核心</value>
+ </data>
+ <data name="CustomKernelQ">
+ <value>你確定è¦é–‹å§‹è¦†å¯«è‡ªè¨‚核心嗎 ?</value>
+ </data>
+ <data name="CustomWarning">
+ <value>ç¾åœ¨æ‚¨éœ€è¦è¦†å¯«è‡ªè¨‚核心到你的迷你紅白機,這åªæœƒåŸ·è¡Œä¸€æ¬¡ã€‚您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="Default30games">
+ <value>原廠內建30款經典éŠæˆ²</value>
+ </data>
+ <data name="DeleteElement">
+ <value>您真的è¦åˆªé™¤ "{0}" å—Ž ?</value>
+ </data>
+ <data name="DeleteElements">
+ <value>您確定è¦åˆªé™¤ { 0 } 元素嗎 ?</value>
+ </data>
+ <data name="DeleteGame">
+ <value>您真的è¦åˆªé™¤ "{0}" éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="DeletePreset">
+ <value>您真的è¦åˆªé™¤ "{0}" é è¨­çµ„åˆå—Ž ?</value>
+ </data>
+ <data name="DeleteSavesQ">
+ <value>你確定è¦åˆªé™¤è¿·ä½ ç´…白機的快速存檔嗎 ?</value>
+ </data>
+ <data name="DoYouWantCancel">
+ <value>您è¦å–消目å‰çš„作業嗎 ?</value>
+ </data>
+ <data name="DoYouWantToContinue">
+ <value>您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="Donate">
+ <value>附註: 如果您喜歡,歡迎æ贈給開發者。您å¯ä»¥åˆ°ã€Œé—œæ–¼ã€ä¸­æ‰¾åˆ°é–‹ç™¼è€…çš„PayPal</value>
+ </data>
+ <data name="Done">
+ <value>å®Œæˆ !</value>
+ </data>
+ <data name="DoneYouCanUpload">
+ <value>å®Œæˆ ! 您已經å¯ä»¥ä¸Šå‚³å…¶ä»–éŠæˆ²åˆ°ä½ çš„迷你紅白機了ï¼</value>
+ </data>
+ <data name="DownloadAllCoversTitle">
+ <value>自動從Google下載所有éŠæˆ²å°é¢åœ–片 ( çµæžœå¦‚何就看人å“了XD )</value>
+ </data>
+ <data name="DumpKernelQ">
+ <value>您是å¦æƒ³è¦å‚¾å°æ ¸å¿ƒæª”案 ?</value>
+ </data>
+ <data name="DumpingKernel">
+ <value>正在傾å°æ ¸å¿ƒ...</value>
+ </data>
+ <data name="Error">
+ <value>錯誤</value>
+ </data>
+ <data name="ExecutingCommand">
+ <value>執行命令 :</value>
+ </data>
+ <data name="ExtraArgsInfo">
+ <value>您å¯ä»¥æ–°å¢žå…¨åŸŸé€šç”¨çš„命令列執行åƒæ•¸ï¼Œè®“所有éŠæˆ²åŒ…括原廠內建的30款éŠæˆ²å…¨éƒ½é™„加此命令。 ( é™å°ˆæ¥­çŽ©å®¶ä½¿ç”¨ ! )</value>
+ </data>
+ <data name="ExtraArgsTitle">
+ <value>é¡å¤–的命令列åƒæ•¸</value>
+ </data>
+ <data name="FirstRun">
+ <value>您好 ! æ„Ÿè¬æ‚¨ä½¿ç”¨ hakchi2 ,åªè¦æŒ‰ä¸‹ã€Œæ–°å¢žæ›´å¤šéŠæˆ²ã€ï¼Œé¸æ“‡éŠæˆ²ROM檔,å†æŒ‰ä¸‹ã€Œé–‹å§‹åŒæ­¥è™•ç†ã€ä¸¦ä¾ç…§æŒ‡ç¤ºé€²è¡Œå‹•ä½œå³å¯ã€‚éžå¸¸ç°¡å–®ï¼Œç¥æ‚¨å¥½é‹ !</value>
+ </data>
+ <data name="FlasingCustom">
+ <value>正在覆寫自訂核心...</value>
+ </data>
+ <data name="FlasingOriginal">
+ <value>正在覆寫原廠核心...</value>
+ </data>
+ <data name="FolderContent">
+ <value>已刪除的內容將會被移至資æºå›žæ”¶ç­’,您å¯ä»¥æ°¸ä¹…刪除這個資料夾或移動éŠæˆ²åˆ°å…¶ä»–資料夾存放。</value>
+ </data>
+ <data name="FolderNameBack">
+ <value>返回</value>
+ </data>
+ <data name="FolderNameMoreGames">
+ <value>更多éŠæˆ²...</value>
+ </data>
+ <data name="FolderNameNewFolder">
+ <value>新增資料夾</value>
+ </data>
+ <data name="FolderNameOriginalGames">
+ <value>原廠內建30款經典éŠæˆ²</value>
+ </data>
+ <data name="FolderNameTrashBin">
+ <value>Recycle Bin</value>
+ </data>
+ <data name="FolderNameUnsorted">
+ <value>未分類</value>
+ </data>
+ <data name="FolderStatistics">
+ <value>資料夾 "{0}" åŒ…å« {1} 個元素。</value>
+ </data>
+ <data name="FoldersSaveQ">
+ <value>您è¦å„²å­˜æ­¤è³‡æ–™å¤¾çµæ§‹å—Ž ?</value>
+ </data>
+ <data name="FourScreenNotSupported">
+ <value>抱歉 , "{0}" 使用四螢幕模å¼(也就是éŠæˆ²ç”¨äº†é¡å¤–çš„VRAMè¦æ ¼),但迷你紅白機é è¨­çš„模擬器並ä¸æ”¯æ´ã€‚ 但若有安è£å…¶ä»–模擬器擴充模組則å¯èƒ½å¯ä»¥åŸ·è¡Œã€‚ 您確定è¦åŠ å…¥é€™æ¬¾éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="GGCodeDelete">
+ <value>您想è¦åˆªé™¤ "{0}" 的代碼嗎 ?</value>
+ </data>
+ <data name="GGCodeEmpty">
+ <value>您必須輸入完整的代碼 !</value>
+ </data>
+ <data name="GGCodeExists">
+ <value>此代碼已存在,您想è¦ç·¨è¼¯å®ƒå—Ž ?</value>
+ </data>
+ <data name="GGDescriptionEmpty">
+ <value>您必須輸入詳細說明 !</value>
+ </data>
+ <data name="GameGenieFormatError">
+ <value>無效的éŠæˆ²ä½œå¼Šä»£ç¢¼ "{0}" æ–¼éŠæˆ² "{1}" 。</value>
+ </data>
+ <data name="GameGenieNotFound">
+ <value>無法套用éŠæˆ²ä½œå¼Šä»£ç¢¼ "{0}" 給éŠæˆ² "{1}" - 找ä¸åˆ°å€¼ã€‚ 也許這段代碼是別款éŠæˆ²çš„ ?</value>
+ </data>
+ <data name="GamesAndApps">
+ <value>éŠæˆ²å’Œæ‡‰ç”¨ç¨‹å¼</value>
+ </data>
+ <data name="GamesSelected">
+ <value>款éŠæˆ²å·²é¸æ“‡</value>
+ </data>
+ <data name="GooglingFor">
+ <value>Google正在查</value>
+ </data>
+ <data name="Hello">
+ <value>您好</value>
+ </data>
+ <data name="Images">
+ <value>圖片</value>
+ </data>
+ <data name="InputPreset">
+ <value>請為目å‰æ‰€é¸çš„éŠæˆ²ï¼Œè¼¸å…¥å‘½åçš„é è¨­çµ„åˆå稱</value>
+ </data>
+ <data name="InstallingMods">
+ <value>正在安è£æ“´å……模組...</value>
+ </data>
+ <data name="InvalidKernelHeader">
+ <value>無效的核心檔頭</value>
+ </data>
+ <data name="InvalidKernelSize">
+ <value>無效的核心大å°</value>
+ </data>
+ <data name="KernelDumped">
+ <value>您的原始核心檔案儲存在「hakchi2\dumpã€è³‡æ–™å¤¾ã€‚è«‹ä¸è¦åˆªé™¤å®ƒã€‚</value>
+ </data>
+ <data name="LoadingGames">
+ <value>載入éŠæˆ²ä¸­...</value>
+ </data>
+ <data name="MD5Failed">
+ <value>核心傾å°å®Œæˆï¼Œä½†MD5檢查碼ä¸æ˜Ž :</value>
+ </data>
+ <data name="MD5Failed2">
+ <value>核心已經被修改或它是一個ä¸æ˜Žçš„修改版。 請按Ctrl + C 將此訊æ¯å‚³é€çµ¦æˆ‘。若è¦ç¹¼çºŒä½¿ç”¨è²¬ä»»è‡ªè² ã€‚</value>
+ </data>
+ <data name="MainMenu">
+ <value>首é åŠŸèƒ½è¡¨</value>
+ </data>
+ <data name="MapperNotSupported">
+ <value>抱歉 , "{0}" 使用了Mapper #{1} 但迷你紅白機é è¨­çš„模擬器並ä¸æ”¯æ´ã€‚ 但若有安è£å…¶ä»–模擬器擴充模組則å¯èƒ½å¯ä»¥åŸ·è¡Œã€‚ 您確定è¦åŠ å…¥é€™æ¬¾éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="MemoryFull">
+ <value>抱歉 , æ­¤éŠæˆ²çš„檔案有 {0} MB,真的太大了...</value>
+ </data>
+ <data name="MemoryStats">
+ <value>總共的儲存空間大å°: {0:F1}MBytes|å¯å­˜æ”¾éŠæˆ²çš„儲存空間大å°: {1:F1}MBytes|ç›®å‰å·²ä½¿ç”¨çš„檔案大å°: {2:F1}MBytes|其他已使用的檔案大å°: {3:F1}MBytes</value>
+ </data>
+ <data name="NewGamesUnsorted">
+ <value>æ–°çš„éŠæˆ²éƒ½æœƒè¢«ç§»åˆ°ã€ŒUnsortedã€æœªåˆ†é¡žè³‡æ–™å¤¾ã€‚</value>
+ </data>
+ <data name="NewPreset">
+ <value>新增é è¨­çµ„åˆ</value>
+ </data>
+ <data name="No">
+ <value>ä¸è¦</value>
+ </data>
+ <data name="NoForAll">
+ <value>全部ä¸è¦</value>
+ </data>
+ <data name="NoKernel">
+ <value>找ä¸åˆ°å‚¾å°çš„核心</value>
+ </data>
+ <data name="NoKernelWarning">
+ <value>首先,會將迷你紅白機的核心傾å°è½‰æª”,這åªæœƒåŸ·è¡Œä¸€æ¬¡ã€‚您è¦ç¹¼çºŒå—Ž ?</value>
+ </data>
+ <data name="NoKernelYouNeed">
+ <value>找ä¸åˆ°å‚¾å°çš„核心,首次使用需è¦å…ˆå°‡æ ¸å¿ƒå‚¾å°ã€‚</value>
+ </data>
+ <data name="NoTelnet">
+ <value>無法啟動 Telnet 用戶端。看起來內建的用戶端程å¼å·²è¢«åœç”¨ï¼Œæ‚¨å¿…須先啟用它,你å¯ä»¥åœ¨Windows的「控制å°ã€ -&gt; 「程å¼èˆ‡åŠŸèƒ½ã€ -&gt; 「開啟或關閉Windows功能ã€ä¸­æ‰¾åˆ°ï¼Œæˆ–者å¦å¤–安è£ä½¿ç”¨å…¶ä»–Telnet軟體。</value>
+ </data>
+ <data name="NotFound">
+ <value>找ä¸åˆ° :</value>
+ </data>
+ <data name="OriginalKernelQ">
+ <value>您是å¦æƒ³è¦è¦†å¯«åŽŸå» æ ¸å¿ƒ ?</value>
+ </data>
+ <data name="PatchAvailable">
+ <value>å¯ä¿®è£œç¨‹å¼</value>
+ </data>
+ <data name="PatchQ">
+ <value>有修補程å¼ä¾› "{0} 使用。 您是å¦æƒ³è¦ä¿®è£œé€™å€‹éŠæˆ²å—Ž ?</value>
+ </data>
+ <data name="PleaseTryAgainUSB">
+ <value>如果此å•é¡Œä»ç„¶å­˜åœ¨ , 請嘗試使用å¦ä¸€æ¢USB連接線或別的連接埠。</value>
+ </data>
+ <data name="PleaseWait">
+ <value>è«‹ç¨å€™...</value>
+ </data>
+ <data name="PressOkToContinue">
+ <value>按下「確定ã€ä»¥ç¹¼çºŒé€²è¡Œæ“作。</value>
+ </data>
+ <data name="ReplaceKernelQ">
+ <value>您已傾å°éŽæ ¸å¿ƒã€‚如果您真的è¦æ›´æ›æ‚¨çš„核心備份,並且你知é“你正在åšä»€éº¼ï¼Œæ‚¨å¯ä»¥è‡ªè¡Œåˆªé™¤ã€Œhakchi2\dumpã€è³‡æ–™å¤¾ã€‚</value>
+ </data>
+ <data name="SavesFlterName">
+ <value>迷你紅白機的快速存檔備份</value>
+ </data>
+ <data name="SelectAtLeast">
+ <value>è«‹é¸å–至少一款éŠæˆ²</value>
+ </data>
+ <data name="SelectAtLeastTwo">
+ <value>至少需è¦å…©å€‹æŒ‰éµçµ„åˆã€‚</value>
+ </data>
+ <data name="SelectModsInstall">
+ <value>é¸æ“‡ä½ è¦å®‰è£çš„擴充模組至你的迷你紅白機中</value>
+ </data>
+ <data name="SelectModsUninstall">
+ <value>é¸æ“‡ä½ è¦ç§»é™¤çš„擴充模組自你的迷你紅白機中</value>
+ </data>
+ <data name="SizeOfSaves">
+ <value>é¸æ“‡å¿«é€Ÿå­˜æª”çš„å¤§å° :</value>
+ </data>
+ <data name="UninstallFactoryNote">
+ <value>如果您想è¦åˆªé™¤æ‰€æœ‰å¿«é€Ÿå­˜æª”,別忘了執行é‡è¨­ç‚ºåŽŸå» å€¼</value>
+ </data>
+ <data name="UninstallQ1">
+ <value>您真的è¦å°‡ä½ çš„迷你紅白機移除所有hakchi2內容並æ¢å¾©ç‚ºåŽŸå» çš„狀態嗎 ?</value>
+ </data>
+ <data name="UninstallQ2">
+ <value>完æˆï¼è«‹ç­‰å€™é›»æºLED指示燈熄滅。您會需è¦è¦†å¯«åŽŸå» æ ¸å¿ƒã€‚ 您是å¦è¦ç¾åœ¨é–‹å§‹è¦†å¯«åŽŸå» æ ¸å¿ƒå‘¢ ?</value>
+ </data>
+ <data name="Uninstalling">
+ <value>解除安è£...</value>
+ </data>
+ <data name="UninstallingMods">
+ <value>正在移除擴充模組...</value>
+ </data>
+ <data name="UnknownGame">
+ <value>未知éŠæˆ²</value>
+ </data>
+ <data name="UploadingConfig">
+ <value>正在上傳新的設定值...</value>
+ </data>
+ <data name="UploadingFes1">
+ <value>正在上傳並執行 FES-1...</value>
+ </data>
+ <data name="UploadingGames">
+ <value>上傳éŠæˆ²ä¸­...</value>
+ </data>
+ <data name="UploadingKernel">
+ <value>上載核心中...</value>
+ </data>
+ <data name="UploadingOriginalGames">
+ <value>處ç†åŽŸå» å…§å»ºéŠæˆ²ä¸­...</value>
+ </data>
+ <data name="VerifyFailed">
+ <value>驗證失敗 =.= 這有點糟。</value>
+ </data>
+ <data name="Verifying">
+ <value>驗證中...</value>
+ </data>
+ <data name="WaitingForDevice">
+ <value>等待è£ç½®ä¸­...</value>
+ </data>
+ <data name="Warning">
+ <value>警告 !</value>
+ </data>
+ <data name="Wow">
+ <value>哇</value>
+ </data>
+ <data name="Yes">
+ <value>è¦</value>
+ </data>
+ <data name="YesForAll">
+ <value>全部都è¦</value>
+ </data>
+ <data name="DumpingNand">
+ <value>Dumping NAND...</value>
+ </data>
+ <data name="NandDumped">
+ <value>NAND memory is dumped successfully.</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Properties/app.manifest b/Properties/app.manifest
new file mode 100644
index 00000000..c18985e1
--- /dev/null
+++ b/Properties/app.manifest
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
+ <security>
+ <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
+ <!-- UAC Manifest Options
+ If you want to change the Windows User Account Control level replace the
+ requestedExecutionLevel node with one of the following.
+
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
+ <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
+
+ Specifying requestedExecutionLevel node will disable file and registry virtualization.
+ If you want to utilize File and Registry Virtualization for backward
+ compatibility then delete the requestedExecutionLevel node.
+ -->
+ <requestedExecutionLevel level="asInvoker" uiAccess="false" />
+ </requestedPrivileges>
+ <applicationRequestMinimum>
+ <defaultAssemblyRequest permissionSetReference="Custom" />
+ <PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
+ </applicationRequestMinimum>
+ </security>
+ </trustInfo>
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ <!-- A list of all Windows versions that this application is designed to work with.
+ Windows will automatically select the most compatible environment.-->
+ <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
+ <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>-->
+ <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
+ <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
+ <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
+ <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>-->
+ <!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node-->
+ <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>-->
+ </application>
+ </compatibility>
+ <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
+ <!-- <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="*"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>-->
+</asmv1:assembly> \ No newline at end of file
diff --git a/README.md b/README.md
index c2f5ddab..bca2f770 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# hakchi2
-This is GUI for hakchi by madmonkey.
+This is a GUI for hakchi by madmonkey.
This application can add more games (game ROMs) to your Nintendo Classic Mini or Famicom Mini. All you need is to connect it to a Windows PC via Micro-USB cable. No soldering or disassembling required.
@@ -11,7 +11,7 @@ https://github.com/ClusterM/hakchi2
* Fill all game data automatically using included database
* Automatically check for supported games
* Search for box art using Google Images
-* Use [Game Genie](https://en.wikipedia.org/wiki/Game_Genie) codes, includes Game Genie database
+* Use [Game Genie](https://en.wikipedia.org/wiki/Game_Genie) codes; includes Game Genie database
* Automatically patch problem games (patches for many popular games included)
* Upload hundreds of games at once
* Return to the HOME menu with a button combination instead of the Reset button
@@ -20,13 +20,17 @@ https://github.com/ClusterM/hakchi2
* Disable seizure protection
* Allows to install user-mods to add more features (even support for SNES/N64/Genesis/etc., music replacement, themes, etc.)
-## So you was first to hack NES Classic Mini?
-No! It was my Russian Ñomrade, madmonkey, who first published a successful hack of the the NES Classic Mini. He created the original “hakchi†tool. It was however not very user-friendly so I decided to create a tool which is simple to use by anyone, and not only Linux users. I named it “hakchi2†because I don’t like to coming up with names. So my first version was a 2.0 release :)
+## So you were the first to hack the NES Classic Mini?
+No! It was my Russian Ñomrade, madmonkey, who first published a successful hack of the the NES Classic Mini. He created the original “hakchi†tool. However, it was not very user-friendly, so I decided to create a tool which is simple to use by anyone--not only Linux users. I named it “hakchi2†because I don’t like to come up with names. So my first version was a 2.0 release :)
-## How to use the tool?
+## How do I use the tool?
Basically you just need to unpack it somewhere on your harddrive (installation is not required), run it, press “Add more gamesâ€, select some game ROMs and press “Synchronizeâ€. The application will guide you through this process.
## How does the tool actually work?
-You don’t need to worry about it. But if you really want to know it’s using FEL mode. FEL is a low-level subroutine contained in the BootROM on Allwinner devices. It is used for initial programming and recovery of devices using USB. So we can upload some code into RAM and execute it. In this way we can read Linux kernel (yes the NES Classic Mini and Famicom Mini runs an Linux operating-system), write kernel or execute kernel from memory without writing it to flash. So we can dump kernel image of NES Mini, unpack it, add some games and runt a script which will copy them back to flash, repack, upload and execute. But as the games directory is on read-only partition. Therefore we also need to create and flash a custom kernel with a special script that creates a sandbox folder on writable partition and mounts it over the original games folder.This means that your original files are safe. You can not delete or harm the original files in any way, even if you wanted. For kernel patching my application just executes other applications, that is why there is a “tools†folder.
+You don’t need to worry about it. But if you really want to know, it’s using FEL mode. FEL is a low-level subroutine contained in the BootROM on Allwinner devices. It is used for initial programming and recovery of devices using USB. So we can upload some code into RAM and execute it. In this way we can read the Linux kernel (yes the NES Classic Mini and Famicom Mini runs an Linux operating-system), write kernel or execute kernel from memory without writing it to flash. So we can dump the kernel image of the NES Mini, unpack it, add some games and run a script which will copy them back to flash, repack, upload and execute. However, the games directory is on a read-only partition. Therefore we also need to create and flash a custom kernel with a special script that creates a sandbox folder on a writable partition and mounts it over the original games folder. This means that your original files are safe: you cannot delete or harm the original files in any way, even if you wanted. For kernel patching my application just executes other applications, which is why there is a “tools†folder.
+
+## What if I have another question?
+Many more commonly asked questions are answered in the FAQ:
+https://github.com/ClusterM/hakchi2/wiki/FAQ
// Alexey 'Cluster' Avdyukhin ("ClusterM" on GitHub)
diff --git a/SaveStateManager.Designer.cs b/SaveStateManager.Designer.cs
new file mode 100644
index 00000000..ee3c1689
--- /dev/null
+++ b/SaveStateManager.Designer.cs
@@ -0,0 +1,206 @@
+namespace com.clusterrr.hakchi_gui
+{
+ partial class SaveStateManager
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SaveStateManager));
+ this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
+ this.exportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.importToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.buttonExport = new System.Windows.Forms.Button();
+ this.buttonImport = new System.Windows.Forms.Button();
+ this.buttonDelete = new System.Windows.Forms.Button();
+ this.labelLoading = new System.Windows.Forms.Label();
+ this.statusStrip = new System.Windows.Forms.StatusStrip();
+ this.toolStripStatusLabelSize = new System.Windows.Forms.ToolStripStatusLabel();
+ this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();
+ this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
+ this.listViewSaves = new System.Windows.Forms.ListView();
+ this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.colCode = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.colSize = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.colFlags = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.contextMenuStrip.SuspendLayout();
+ this.statusStrip.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // contextMenuStrip
+ //
+ this.contextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.exportToolStripMenuItem,
+ this.importToolStripMenuItem,
+ this.deleteToolStripMenuItem});
+ this.contextMenuStrip.Name = "contextMenuStrip";
+ resources.ApplyResources(this.contextMenuStrip, "contextMenuStrip");
+ this.contextMenuStrip.Closed += new System.Windows.Forms.ToolStripDropDownClosedEventHandler(this.contextMenuStrip_Closed);
+ this.contextMenuStrip.Opened += new System.EventHandler(this.contextMenuStrip_Opened);
+ this.contextMenuStrip.ItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.contextMenuStrip_ItemClicked);
+ //
+ // exportToolStripMenuItem
+ //
+ resources.ApplyResources(this.exportToolStripMenuItem, "exportToolStripMenuItem");
+ this.exportToolStripMenuItem.Name = "exportToolStripMenuItem";
+ this.exportToolStripMenuItem.Click += new System.EventHandler(this.buttonExport_Click);
+ //
+ // importToolStripMenuItem
+ //
+ resources.ApplyResources(this.importToolStripMenuItem, "importToolStripMenuItem");
+ this.importToolStripMenuItem.Name = "importToolStripMenuItem";
+ this.importToolStripMenuItem.Click += new System.EventHandler(this.buttonImport_Click);
+ //
+ // deleteToolStripMenuItem
+ //
+ resources.ApplyResources(this.deleteToolStripMenuItem, "deleteToolStripMenuItem");
+ this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
+ this.deleteToolStripMenuItem.Click += new System.EventHandler(this.buttonDelete_Click);
+ //
+ // buttonExport
+ //
+ resources.ApplyResources(this.buttonExport, "buttonExport");
+ this.buttonExport.Name = "buttonExport";
+ this.buttonExport.UseVisualStyleBackColor = true;
+ this.buttonExport.Click += new System.EventHandler(this.buttonExport_Click);
+ //
+ // buttonImport
+ //
+ resources.ApplyResources(this.buttonImport, "buttonImport");
+ this.buttonImport.Name = "buttonImport";
+ this.buttonImport.UseVisualStyleBackColor = true;
+ this.buttonImport.Click += new System.EventHandler(this.buttonImport_Click);
+ //
+ // buttonDelete
+ //
+ resources.ApplyResources(this.buttonDelete, "buttonDelete");
+ this.buttonDelete.Name = "buttonDelete";
+ this.buttonDelete.UseVisualStyleBackColor = true;
+ this.buttonDelete.Click += new System.EventHandler(this.buttonDelete_Click);
+ //
+ // labelLoading
+ //
+ resources.ApplyResources(this.labelLoading, "labelLoading");
+ this.labelLoading.Name = "labelLoading";
+ //
+ // statusStrip
+ //
+ this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.toolStripStatusLabelSize});
+ resources.ApplyResources(this.statusStrip, "statusStrip");
+ this.statusStrip.Name = "statusStrip";
+ //
+ // toolStripStatusLabelSize
+ //
+ this.toolStripStatusLabelSize.Name = "toolStripStatusLabelSize";
+ resources.ApplyResources(this.toolStripStatusLabelSize, "toolStripStatusLabelSize");
+ //
+ // saveFileDialog
+ //
+ this.saveFileDialog.DefaultExt = "clvs";
+ //
+ // openFileDialog
+ //
+ this.openFileDialog.DefaultExt = "clvs";
+ this.openFileDialog.Multiselect = true;
+ //
+ // listViewSaves
+ //
+ resources.ApplyResources(this.listViewSaves, "listViewSaves");
+ this.listViewSaves.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.colName,
+ this.colCode,
+ this.colSize,
+ this.colFlags});
+ this.listViewSaves.ContextMenuStrip = this.contextMenuStrip;
+ this.listViewSaves.HideSelection = false;
+ this.listViewSaves.Name = "listViewSaves";
+ this.listViewSaves.UseCompatibleStateImageBehavior = false;
+ this.listViewSaves.View = System.Windows.Forms.View.Details;
+ this.listViewSaves.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewSaves_ColumnClick);
+ this.listViewSaves.ItemMouseHover += new System.Windows.Forms.ListViewItemMouseHoverEventHandler(this.listViewSaves_ItemMouseHover);
+ this.listViewSaves.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listViewSaves_ItemSelectionChanged);
+ this.listViewSaves.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listViewSaves_KeyDown);
+ this.listViewSaves.MouseMove += new System.Windows.Forms.MouseEventHandler(this.listViewSaves_MouseMove);
+ //
+ // colName
+ //
+ resources.ApplyResources(this.colName, "colName");
+ //
+ // colCode
+ //
+ resources.ApplyResources(this.colCode, "colCode");
+ //
+ // colSize
+ //
+ resources.ApplyResources(this.colSize, "colSize");
+ //
+ // colFlags
+ //
+ resources.ApplyResources(this.colFlags, "colFlags");
+ //
+ // SaveStateManager
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.listViewSaves);
+ this.Controls.Add(this.statusStrip);
+ this.Controls.Add(this.buttonDelete);
+ this.Controls.Add(this.buttonImport);
+ this.Controls.Add(this.buttonExport);
+ this.Controls.Add(this.labelLoading);
+ this.Name = "SaveStateManager";
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.SaveStateManager_FormClosed);
+ this.contextMenuStrip.ResumeLayout(false);
+ this.statusStrip.ResumeLayout(false);
+ this.statusStrip.PerformLayout();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button buttonExport;
+ private System.Windows.Forms.Button buttonImport;
+ private System.Windows.Forms.Button buttonDelete;
+ private System.Windows.Forms.Label labelLoading;
+ private System.Windows.Forms.StatusStrip statusStrip;
+ private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabelSize;
+ private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+ private System.Windows.Forms.ToolStripMenuItem exportToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem importToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem;
+ private System.Windows.Forms.SaveFileDialog saveFileDialog;
+ private System.Windows.Forms.OpenFileDialog openFileDialog;
+ private System.Windows.Forms.ListView listViewSaves;
+ private System.Windows.Forms.ColumnHeader colCode;
+ private System.Windows.Forms.ColumnHeader colName;
+ private System.Windows.Forms.ColumnHeader colSize;
+ private System.Windows.Forms.ColumnHeader colFlags;
+ }
+} \ No newline at end of file
diff --git a/SaveStateManager.bg-BG.resx b/SaveStateManager.bg-BG.resx
new file mode 100644
index 00000000..4daaee5d
--- /dev/null
+++ b/SaveStateManager.bg-BG.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Управление на запазеното ÑÑŠÑтоÑние</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Изтрий избраното</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>ЕкÑпортираното е избрано</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Импорт</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Код</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Запазете Ñлотовете</value>
+ </data>
+ <data name="colName.Text">
+ <value>Име</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Размер</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Изтрий избраното</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>ЕкÑпортираното е избрано</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Импорт</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.ca-ES.resx b/SaveStateManager.ca-ES.resx
new file mode 100644
index 00000000..2234772d
--- /dev/null
+++ b/SaveStateManager.ca-ES.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestió dels punts de suspensió</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Eliminar seleccionats</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportar seleccionats</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Codi</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Ranures de punts de suspensió utilitzades</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nom del joc</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Grandària</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar seleccionats</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportar seleccionats</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.cs b/SaveStateManager.cs
new file mode 100644
index 00000000..13bd0a63
--- /dev/null
+++ b/SaveStateManager.cs
@@ -0,0 +1,450 @@
+using com.clusterrr.hakchi_gui.Properties;
+using SevenZip;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.IO;
+using System.Text;
+using System.Threading;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class SaveStateManager : Form
+ {
+ Dictionary<string, string> gameNames;
+ ImagesForm imagesForm = null;
+ Point lastPosition = Cursor.Position;
+
+ public SaveStateManager(Dictionary<string, string> gameNames)
+ {
+ InitializeComponent();
+ labelLoading.Text = Resources.PleaseWait;
+ this.gameNames = gameNames;
+ openFileDialog.Filter = saveFileDialog.Filter = Resources.SavesFlterName + " (*.clvs)|*.clvs|" + Resources.AllFiles + "|*.*";
+ try
+ {
+ new Thread(LoadSaveStatesList).Start();
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ Close();
+ }
+ }
+
+ void LoadSaveStatesList()
+ {
+ try
+ {
+ while (!this.IsHandleCreated) Thread.Sleep(100);
+ if (!(bool)Invoke(new Func<bool>(delegate
+ {
+ listViewSaves.Visible = false;
+ exportToolStripMenuItem.Enabled = importToolStripMenuItem.Enabled =
+ buttonExport.Enabled = buttonImport.Enabled = false;
+ if (!WaitingClovershellForm.WaitForDevice(this))
+ return false;
+ return true;
+ })))
+ {
+ Close();
+ return;
+ }
+
+ var clovershell = MainForm.Clovershell;
+ WorkerForm.ShowSplashScreen();
+ var listSavesScript =
+ "#!/bin/sh\n" +
+ "savespath=/var/lib/clover/profiles/0\n" +
+ "find $savespath -mindepth 1 -maxdepth 1 -type d -name \"CLV-*\" | sed 's#.*/##' | while read code ; do\n" +
+ " flags=F\n" +
+ " [ -f $savespath/$code/save.sram ] && flags=${flags}-S\n" +
+ " [ -f $savespath/$code/cartridge.sram ] && [ $(wc -c <$savespath/$code/cartridge.sram) -gt 20 ] && flags=${flags}-S\n" +
+ " [ -f $savespath/$code/1.state ] && flags=${flags}-1\n" +
+ " [ -d $savespath/$code/suspendpoint1 ] && flags=${flags}-1\n" +
+ " [ -f $savespath/$code/2.state ] && flags=${flags}-2\n" +
+ " [ -d $savespath/$code/suspendpoint2 ] && flags=${flags}-2\n" +
+ " [ -f $savespath/$code/3.state ] && flags=${flags}-3\n" +
+ " [ -d $savespath/$code/suspendpoint3 ] && flags=${flags}-3\n" +
+ " [ -f $savespath/$code/4.state ] && flags=${flags}-4\n" +
+ " [ -d $savespath/$code/suspendpoint4 ] && flags=${flags}-4\n" +
+ " if [ \"$flags\" != \"F\" ]; then\n" +
+ " size=$(du -d 0 $savespath/$code | awk '{ print $1 }')\n" +
+ " name=$(find /var/lib -type f -name \"$code.desktop\" -exec cat {} + | sed -n 's/Name=\\(.*\\)/\\1/p')\n" +
+ " [ -z \"$name\" ] && name=UNKNOWN\n" +
+ " echo $code $size $flags $name\n" +
+ " unset flags\n" +
+ " unset name\n" +
+ " else\n" +
+ " rm -rf $savespath/$code\n" +
+ " fi\n" +
+ "done";
+ var listSavesScriptStream = new MemoryStream(Encoding.UTF8.GetBytes(listSavesScript));
+ listSavesScriptStream.Seek(0, SeekOrigin.Begin);
+ var output = new MemoryStream();
+ clovershell.Execute("sh", listSavesScriptStream, output, null, 10000, true);
+ var lines = Encoding.UTF8.GetString(output.ToArray()).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
+ Invoke(new Action(delegate
+ {
+ listViewSaves.Items.Clear();
+ foreach (var line in lines)
+ {
+ var l = line;
+ var code = l.Substring(0, l.IndexOf(' '));
+ l = l.Substring(l.IndexOf(' ') + 1);
+ var size = l.Substring(0, l.IndexOf(' ')) + "KB";
+ l = l.Substring(l.IndexOf(' ') + 1);
+ var flags = l.Substring(0, l.IndexOf(' ')).Replace("F-", "").Replace("-", " ").Trim();
+ l = l.Substring(l.IndexOf(' ') + 1);
+ var name = l;
+ if (name == "UNKNOWN")
+ {
+ if (gameNames.ContainsKey(code))
+ name = gameNames[code];
+ else
+ name = Resources.UnknownGame;
+ }
+ listViewSaves.Items.Add(new ListViewItem(new ListViewItem.ListViewSubItem[] {
+ new ListViewItem.ListViewSubItem() { Name = "colName", Text = name},
+ new ListViewItem.ListViewSubItem() { Name = "colCode", Text = code},
+ new ListViewItem.ListViewSubItem() { Name = "colSize", Text = size},
+ new ListViewItem.ListViewSubItem() { Name = "colFlags", Text = flags}
+ }, 0));
+ listViewSaves.ListViewItemSorter = new SavesSorter(0, false);
+ listViewSaves.Sort();
+ }
+ listViewSaves.Visible = true;
+ importToolStripMenuItem.Enabled = true;
+ buttonImport.Enabled = true;
+ }));
+ }
+ catch (ThreadAbortException) { }
+ catch (ObjectDisposedException) { }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ try
+ {
+ Invoke(new Action(delegate
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ Close();
+ }));
+ }
+ catch { }
+ }
+ }
+
+ private void buttonDelete_Click(object sender, EventArgs e)
+ {
+ if (MessageBox.Show(this, Resources.DeleteSavesQ, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ != System.Windows.Forms.DialogResult.Yes)
+ return;
+ var savesToDelete = new List<ListViewItem>();
+ foreach (ListViewItem item in listViewSaves.SelectedItems)
+ savesToDelete.Add(item);
+ new Thread(deleteRowsThread).Start(savesToDelete);
+ }
+
+ void deleteRowsThread(object o)
+ {
+ try
+ {
+ var savesToDelete = (IEnumerable<ListViewItem>)o;
+ if (!(bool)Invoke(new Func<bool>(delegate
+ {
+ if (!WaitingClovershellForm.WaitForDevice(this))
+ return false;
+ return true;
+ }))) return;
+ foreach (ListViewItem game in savesToDelete)
+ {
+ var clovershell = MainForm.Clovershell;
+ clovershell.ExecuteSimple("rm -rf /var/lib/clover/profiles/0/" + game.SubItems["colCode"].Text, 3000, true);
+ Invoke(new Action(delegate
+ {
+ listViewSaves.Items.Remove(game);
+ }));
+ }
+ }
+ catch (ThreadAbortException) { }
+ catch (ObjectDisposedException) { }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ try
+ {
+ Invoke(new Action(delegate
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }));
+ }
+ catch { }
+ }
+ }
+
+ private void buttonExport_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ foreach (ListViewItem game in listViewSaves.SelectedItems)
+ {
+ saveFileDialog.FileName = game.SubItems["colName"].Text + ".clvs";
+ var name = game.SubItems["colName"].Text != null ? game.SubItems["colName"].Text : "save";
+ saveFileDialog.Title = name;
+ if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ if (!WaitingClovershellForm.WaitForDevice(this))
+ return;
+ var clovershell = MainForm.Clovershell;
+ using (var save = new MemoryStream())
+ {
+ clovershell.Execute("cd /var/lib/clover/profiles/0 && tar -cz " + game.SubItems["colCode"].Text, null, save, null, 10000, true);
+ var buffer = save.ToArray();
+ File.WriteAllBytes(saveFileDialog.FileName, buffer);
+ }
+ }
+ else break;
+ }
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ try
+ {
+ Invoke(new Action(delegate
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }));
+ }
+ catch { }
+ }
+ }
+
+ private void buttonImport_Click(object sender, EventArgs e)
+ {
+ openFileDialog.Title = buttonImport.Text;
+ if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
+ {
+ var files = openFileDialog.FileNames;
+ listViewSaves.Visible = false;
+ buttonDelete.Enabled = buttonExport.Enabled = buttonImport.Enabled =
+ deleteToolStripMenuItem.Enabled = exportToolStripMenuItem.Enabled = importToolStripMenuItem.Enabled = false;
+ new Thread(importSaves).Start(files);
+ }
+ }
+
+ void importSaves(object o)
+ {
+ try
+ {
+ var files = (string[])o;
+ if (!(bool)Invoke(new Func<bool>(delegate
+ {
+ if (!WaitingClovershellForm.WaitForDevice(this))
+ return false;
+ return true;
+ }))) return;
+ foreach (var file in files)
+ {
+ var clovershell = MainForm.Clovershell;
+ using (var f = new FileStream(file, FileMode.Open))
+ {
+ clovershell.Execute("cd /var/lib/clover/profiles/0 && tar -xvz", f, null, null, 10000, true);
+ }
+ }
+ }
+ catch (ThreadAbortException) { }
+ catch (ObjectDisposedException) { }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ try
+ {
+ Invoke(new Action(delegate
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }));
+ }
+ catch { }
+ }
+ LoadSaveStatesList();
+ }
+
+ private void SaveStateManager_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ if (imagesForm != null)
+ imagesForm.Dispose();
+ try
+ {
+ var clovershell = MainForm.Clovershell;
+ if (clovershell.IsOnline)
+ clovershell.ExecuteSimple("reboot", 100);
+ }
+ catch { }
+ }
+
+ // Mouse on cell? Show some screenshots to remember game!
+ void loadImagesThread(object s)
+ {
+ var code = s.ToString();
+ try
+ {
+ var clovershell = MainForm.Clovershell;
+ var images = new List<Image>();
+ using (var save = new MemoryStream())
+ {
+ clovershell.Execute("cd /var/lib/clover/profiles/0 && tar -cz " + code, null, save, null, 10000, true);
+ save.Seek(0, SeekOrigin.Begin);
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ using (var szExtractor = new SevenZipExtractor(save))
+ {
+ var tar = new MemoryStream();
+ szExtractor.ExtractFile(0, tar);
+ tar.Seek(0, SeekOrigin.Begin);
+ using (var szExtractorTar = new SevenZipExtractor(tar))
+ {
+ foreach (var f in szExtractorTar.ArchiveFileNames)
+ {
+ if (Path.GetExtension(f).ToLower() == ".png")
+ {
+ var o = new MemoryStream();
+ szExtractorTar.ExtractFile(f, o);
+ o.Seek(0, SeekOrigin.Begin);
+ images.Add(Image.FromStream(o));
+ }
+ }
+ }
+ }
+
+ }
+ Debug.WriteLine("Loaded " + images.Count + " imags");
+ if (images.Count == 0) return;
+ if (menuOpened) return; // Right click...
+ Invoke(new Action(delegate
+ {
+ // Maybe it's too late?
+ var p = listViewSaves.PointToClient(Cursor.Position);
+ var item = listViewSaves.GetItemAt(p.X, p.Y);
+ if (item == null) return; // No rows at all
+ if (item.SubItems["colCode"].Text != code) return; // Other item
+
+ if (imagesForm == null)
+ imagesForm = new ImagesForm();
+ imagesForm.Left = Cursor.Position.X + 5;
+ imagesForm.Top = Cursor.Position.Y + 5;
+ imagesForm.Text = item.SubItems["colName"].Text;
+ imagesForm.ShowImages(images);
+ imagesForm.Show();
+ }));
+ }
+ catch (Exception ex)
+ {
+ Debug.WriteLine(ex.Message + ex.StackTrace);
+ }
+ }
+
+ private void listViewSaves_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
+ {
+ exportToolStripMenuItem.Enabled = deleteToolStripMenuItem.Enabled =
+ buttonExport.Enabled = buttonDelete.Enabled = listViewSaves.SelectedItems.Count > 0;
+ if (listViewSaves.SelectedItems.Count > 0)
+ {
+ var size = 0;
+ foreach (ListViewItem game in listViewSaves.SelectedItems)
+ if (game.SubItems["colSize"].Text != null)
+ size += int.Parse(game.SubItems["colSize"].Text.Replace("KB", ""));
+ toolStripStatusLabelSize.Text = Resources.SizeOfSaves + " " + size + "KB";
+ }
+ else toolStripStatusLabelSize.Text = "";
+ }
+
+ private void listViewSaves_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e)
+ {
+ new Thread(loadImagesThread).Start(e.Item.SubItems["colCode"].Text);
+ }
+
+ private void listViewSaves_MouseMove(object sender, MouseEventArgs e)
+ {
+ if (lastPosition.Equals(Cursor.Position)) return;
+ lastPosition = Cursor.Position;
+ if (imagesForm != null)
+ imagesForm.Hide();
+ }
+
+ bool menuOpened = false;
+ private void contextMenuStrip_Opened(object sender, EventArgs e)
+ {
+ menuOpened = true;
+ }
+
+ private void contextMenuStrip_Closed(object sender, ToolStripDropDownClosedEventArgs e)
+ {
+ menuOpened = false;
+ }
+
+ private void contextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
+ {
+ if (imagesForm != null)
+ imagesForm.Hide();
+ }
+
+ private void listViewSaves_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete && buttonDelete.Enabled)
+ {
+ buttonDelete_Click(null, null);
+ }
+ }
+
+ private void listViewSaves_ColumnClick(object sender, ColumnClickEventArgs e)
+ {
+ listViewSaves.ListViewItemSorter = new SavesSorter(e.Column,
+ ((listViewSaves.ListViewItemSorter as SavesSorter).Column == e.Column &&
+ !(listViewSaves.ListViewItemSorter as SavesSorter).Reverse));
+ listViewSaves.Sort();
+ }
+
+ private class SavesSorter : IComparer
+ {
+ public readonly int Column;
+ public readonly bool Reverse;
+
+ public SavesSorter(int column, bool reverse)
+ {
+ Column = column;
+ Reverse = reverse;
+ }
+
+ public int Compare(object o1, object o2)
+ {
+ var l1 = o1 as ListViewItem;
+ var l2 = o2 as ListViewItem;
+ int r = Reverse ? -1 : 1;
+ try
+ {
+ switch (Column)
+ {
+ case 0:
+ default:
+ return l1.SubItems["colName"].Text.CompareTo(l2.SubItems["colName"].Text) * r;
+ case 1:
+ return l1.SubItems["colCode"].Text.CompareTo(l2.SubItems["colCode"].Text) * r;
+ case 2:
+ return (int.Parse(l1.SubItems["colSize"].Text.Replace("KB", "")) - int.Parse(l2.SubItems["colSize"].Text.Replace("KB", ""))) * r;
+ case 3:
+ return (l1.SubItems["colFlags"].Text.Length - l2.SubItems["colFlags"].Text.Length) * r;
+ }
+ }
+ catch
+ {
+ return 0;
+ }
+ }
+ }
+ }
+}
diff --git a/SaveStateManager.da-DK.resx b/SaveStateManager.da-DK.resx
new file mode 100644
index 00000000..078567d8
--- /dev/null
+++ b/SaveStateManager.da-DK.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="buttonImport.Text">
+ <value>Importér</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importér</value>
+ </data>
+ <data name="$this.Text">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Delete selected</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Export selected</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Code</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Save slots</value>
+ </data>
+ <data name="colName.Text">
+ <value>Name</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Size</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Delete selected</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Export selected</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.de-DE.resx b/SaveStateManager.de-DE.resx
new file mode 100644
index 00000000..ab6f7a21
--- /dev/null
+++ b/SaveStateManager.de-DE.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Manager der Speicherstände</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Löschen ausgewählt</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Export ausgewählt</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importieren</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Code</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Speicherstandplatz</value>
+ </data>
+ <data name="colName.Text">
+ <value>Name</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Größe</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Löschen ausgewählt</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Export ausgewählt</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importieren</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.el-GR.resx b/SaveStateManager.el-GR.resx
new file mode 100644
index 00000000..7d28a141
--- /dev/null
+++ b/SaveStateManager.el-GR.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>ΔιαχειÏιστής Αποθηκευμένων Σημείων</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>ΔιαγÏαφή επιλεγμένων</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Εξαγωγή επιλεγμένων</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Εισαγωγή</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Κωδικός</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Υποδοχές αποθήκευσης</value>
+ </data>
+ <data name="colName.Text">
+ <value>Όνομα</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Μέγεθος</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>ΔιαγÏαφή επιλεγμένων</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Εξαγωγή επιλεγμένων</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Εισαγωγή</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.en-GB.resx b/SaveStateManager.en-GB.resx
new file mode 100644
index 00000000..a32b330a
--- /dev/null
+++ b/SaveStateManager.en-GB.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Savestate Manager</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Delete selected</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Export selected</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Import</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Code</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Save slots</value>
+ </data>
+ <data name="colName.Text">
+ <value>Name</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Size</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Delete selected</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Export selected</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Import</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.es-AR.resx b/SaveStateManager.es-AR.resx
new file mode 100644
index 00000000..1aaca054
--- /dev/null
+++ b/SaveStateManager.es-AR.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Administrador de puntos de suspensión</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Eliminar lo seleccionado</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportar lo seleccionado</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Código</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Ranura de punto de suspensión</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nombre</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Tamaño</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar lo seleccionado</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportar lo seleccionado</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.es-ES.resx b/SaveStateManager.es-ES.resx
new file mode 100644
index 00000000..eb4f7699
--- /dev/null
+++ b/SaveStateManager.es-ES.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestión de los puntos de suspensión</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Eliminar seleccionados</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportar seleccionados</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Código</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Ranuras de puntos de suspensión utilizadas</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nombre del juego</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Tamaño</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Eliminar seleccionados</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportar seleccionados</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.fi-FI.resx b/SaveStateManager.fi-FI.resx
new file mode 100644
index 00000000..aa8dbf04
--- /dev/null
+++ b/SaveStateManager.fi-FI.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Tallennusten hallinta</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Poista valitut</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Vie valitut</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Tuo</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Koodi</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Tallennuspaikkoja</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nimi</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Koko</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Poista valitut</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Vie valitut</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Tuo</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.fr-FR.resx b/SaveStateManager.fr-FR.resx
new file mode 100644
index 00000000..3c6b6a52
--- /dev/null
+++ b/SaveStateManager.fr-FR.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gestionnaire des sauvegardes</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Supprimer la sélection</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exporter la sélection</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importer</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Code</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Emplacements des sauvegardes</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nom</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Taille</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Supprimer la sélection</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exporter la sélection</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importer</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.id-ID.resx b/SaveStateManager.id-ID.resx
new file mode 100644
index 00000000..99e0d506
--- /dev/null
+++ b/SaveStateManager.id-ID.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Save-State Manager</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Hapus pilihan</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Ekspor pilian</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Impor</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Kode</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Save Slot</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nama</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Ukuran</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Hapus pilihan</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Ekspor pilian</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Impor</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.it-IT.resx b/SaveStateManager.it-IT.resx
new file mode 100644
index 00000000..cd7493d0
--- /dev/null
+++ b/SaveStateManager.it-IT.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Manager dei punti di sospensione</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Cancella selezionati</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Esporta selezionati</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importa</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Codice</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Slots dei punti di sospensione</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nome:</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Dimensioni</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Cancella selezionati</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Esporta selezionati</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importa</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.nl.resx b/SaveStateManager.nl.resx
new file mode 100644
index 00000000..93161c87
--- /dev/null
+++ b/SaveStateManager.nl.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>onderbrekingspunt Manager</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Verwijderen geselecteerd</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Export geselecteerd</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importeer</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Code</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Bewaar posities</value>
+ </data>
+ <data name="colName.Text">
+ <value>Naam</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Grootte</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Verwijderen geselecteerd</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Export geselecteerd</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importeer</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.pl-PL.resx b/SaveStateManager.pl-PL.resx
new file mode 100644
index 00000000..95303dfd
--- /dev/null
+++ b/SaveStateManager.pl-PL.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Menadżer Save'ów</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Usuń zaznaczone</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Eksportuj zaznaczone</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importuj</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Kod</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Save'y</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nazwa</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Rozmiar</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Usuń zaznaczone</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Eksportuj zaznaczone</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importuj</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.pt-PT.resx b/SaveStateManager.pt-PT.resx
new file mode 100644
index 00000000..a8fc0bc5
--- /dev/null
+++ b/SaveStateManager.pt-PT.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Gerente de Save-State</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Excluir selecionado</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportar selecionado</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importar</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Código</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Salvar slots</value>
+ </data>
+ <data name="colName.Text">
+ <value>Nome</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Tamanho</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Excluir selecionado</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportar selecionado</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importar</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingForm.ru-RU.resx b/SaveStateManager.resx
index c1221cdd..eb96ffa7 100644
--- a/WaitingForm.ru-RU.resx
+++ b/SaveStateManager.resx
@@ -117,54 +117,266 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
+ <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>126, 17</value>
+ </metadata>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="exportToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>222, 13</value>
+ <data name="exportToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>153, 22</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text" xml:space="preserve">
+ <value>Export selected</value>
+ </data>
+ <data name="importToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="importToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>153, 22</value>
+ </data>
+ <data name="importToolStripMenuItem.Text" xml:space="preserve">
+ <value>Import</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+ <value>153, 22</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text" xml:space="preserve">
+ <value>Delete selected</value>
+ </data>
+ <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>154, 70</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
+ <value>contextMenuStrip</value>
+ </data>
+ <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="buttonExport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="buttonExport.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="buttonExport.Location" type="System.Drawing.Point, System.Drawing">
+ <value>185, 451</value>
+ </data>
+ <data name="buttonExport.Size" type="System.Drawing.Size, System.Drawing">
+ <value>175, 23</value>
+ </data>
+ <data name="buttonExport.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="buttonExport.Text" xml:space="preserve">
+ <value>Export selected</value>
+ </data>
+ <data name="&gt;&gt;buttonExport.Name" xml:space="preserve">
+ <value>buttonExport</value>
+ </data>
+ <data name="&gt;&gt;buttonExport.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonExport.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonExport.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="buttonImport.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="buttonImport.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="buttonImport.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="buttonImport.Location" type="System.Drawing.Point, System.Drawing">
+ <value>366, 451</value>
+ </data>
+ <data name="buttonImport.Size" type="System.Drawing.Size, System.Drawing">
+ <value>175, 23</value>
+ </data>
+ <data name="buttonImport.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="buttonImport.Text" xml:space="preserve">
+ <value>Import</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.Name" xml:space="preserve">
+ <value>buttonImport</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonImport.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="buttonDelete.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Bottom, Right</value>
+ </data>
+ <data name="buttonDelete.Enabled" type="System.Boolean, mscorlib">
+ <value>False</value>
+ </data>
+ <data name="buttonDelete.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+ <value>NoControl</value>
+ </data>
+ <data name="buttonDelete.Location" type="System.Drawing.Point, System.Drawing">
+ <value>547, 451</value>
+ </data>
+ <data name="buttonDelete.Size" type="System.Drawing.Size, System.Drawing">
+ <value>175, 23</value>
+ </data>
+ <data name="buttonDelete.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="buttonDelete.Text" xml:space="preserve">
+ <value>Delete selected</value>
+ </data>
+ <data name="&gt;&gt;buttonDelete.Name" xml:space="preserve">
+ <value>buttonDelete</value>
+ </data>
+ <data name="&gt;&gt;buttonDelete.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonDelete.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonDelete.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="labelLoading.Font" type="System.Drawing.Font, System.Drawing">
+ <value>Microsoft Sans Serif, 30pt</value>
</data>
- <data name="label1.Text" xml:space="preserve">
- <value>ПожалуйÑта, выполните Ñледующие шаги:</value>
+ <data name="labelLoading.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 12</value>
</data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>242, 13</value>
+ <data name="labelLoading.Size" type="System.Drawing.Size, System.Drawing">
+ <value>710, 445</value>
</data>
- <data name="label2.Text" xml:space="preserve">
- <value>1. УбедитеÑÑŒ, что кнопка POWER выключена.</value>
+ <data name="labelLoading.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
</data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>275, 13</value>
+ <data name="labelLoading.Text" xml:space="preserve">
+ <value>Loading, please wait...</value>
</data>
- <data name="label3.Text" xml:space="preserve">
- <value>2. (Пере)подключите NES Mini к компьютеру по USB.</value>
+ <data name="labelLoading.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+ <value>MiddleCenter</value>
</data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>284, 13</value>
+ <data name="&gt;&gt;labelLoading.Name" xml:space="preserve">
+ <value>labelLoading</value>
</data>
- <data name="label4.Text" xml:space="preserve">
- <value>3. Зажмите кнопку RESET и нажмите кнопку POWER.</value>
+ <data name="&gt;&gt;labelLoading.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>362, 13</value>
+ <data name="&gt;&gt;labelLoading.Parent" xml:space="preserve">
+ <value>$this</value>
</data>
- <data name="label5.Text" xml:space="preserve">
- <value>4. Через пару Ñекунд отпуÑтите RESET, Ñветодиод не должен гореть.</value>
+ <data name="&gt;&gt;labelLoading.ZOrder" xml:space="preserve">
+ <value>6</value>
</data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>275, 13</value>
+ <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <data name="toolStripStatusLabelSize.Size" type="System.Drawing.Size, System.Drawing">
+ <value>0, 17</value>
</data>
- <data name="label6.Text" xml:space="preserve">
- <value>5. УÑтановите драйвер, еÑли он ещё не уÑтановлен: </value>
+ <data name="statusStrip.Location" type="System.Drawing.Point, System.Drawing">
+ <value>0, 480</value>
</data>
- <data name="buttonDriver.Location" type="System.Drawing.Point, System.Drawing">
- <value>298, 175</value>
+ <data name="statusStrip.Size" type="System.Drawing.Size, System.Drawing">
+ <value>734, 22</value>
</data>
- <data name="buttonDriver.Size" type="System.Drawing.Size, System.Drawing">
- <value>83, 23</value>
+ <data name="statusStrip.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
</data>
- <data name="buttonDriver.Text" xml:space="preserve">
- <value>УÑтановить</value>
+ <data name="statusStrip.Text" xml:space="preserve">
+ <value>statusStrip1</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Name" xml:space="preserve">
+ <value>statusStrip</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Type" xml:space="preserve">
+ <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;statusStrip.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <metadata name="saveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>275, 17</value>
+ </metadata>
+ <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>404, 17</value>
+ </metadata>
+ <data name="listViewSaves.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+ <value>Top, Bottom, Left, Right</value>
+ </data>
+ <data name="colName.Text" xml:space="preserve">
+ <value>Name</value>
+ </data>
+ <data name="colName.Width" type="System.Int32, mscorlib">
+ <value>400</value>
+ </data>
+ <data name="colCode.Text" xml:space="preserve">
+ <value>Code</value>
+ </data>
+ <data name="colCode.Width" type="System.Int32, mscorlib">
+ <value>100</value>
+ </data>
+ <data name="colSize.Text" xml:space="preserve">
+ <value>Size</value>
+ </data>
+ <data name="colSize.Width" type="System.Int32, mscorlib">
+ <value>100</value>
+ </data>
+ <data name="colFlags.Text" xml:space="preserve">
+ <value>Save slots</value>
+ </data>
+ <data name="colFlags.Width" type="System.Int32, mscorlib">
+ <value>100</value>
+ </data>
+ <data name="listViewSaves.Location" type="System.Drawing.Point, System.Drawing">
+ <value>12, 12</value>
+ </data>
+ <data name="listViewSaves.Size" type="System.Drawing.Size, System.Drawing">
+ <value>710, 433</value>
+ </data>
+ <data name="listViewSaves.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="&gt;&gt;listViewSaves.Name" xml:space="preserve">
+ <value>listViewSaves</value>
+ </data>
+ <data name="&gt;&gt;listViewSaves.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;listViewSaves.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;listViewSaves.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>407, 218</value>
+ <value>734, 502</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
@@ -1298,11 +1510,79 @@
//////////////////////////////////8=
</value>
</data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>Inherit</value>
+ <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
+ <value>600, 400</value>
+ </data>
+ <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+ <value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
- <value>Ожидаем NES Mini...</value>
+ <value>Save-State Manager</value>
+ </data>
+ <data name="&gt;&gt;exportToolStripMenuItem.Name" xml:space="preserve">
+ <value>exportToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;exportToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;importToolStripMenuItem.Name" xml:space="preserve">
+ <value>importToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;importToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;deleteToolStripMenuItem.Name" xml:space="preserve">
+ <value>deleteToolStripMenuItem</value>
+ </data>
+ <data name="&gt;&gt;deleteToolStripMenuItem.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Name" xml:space="preserve">
+ <value>toolStripStatusLabelSize</value>
+ </data>
+ <data name="&gt;&gt;toolStripStatusLabelSize.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;saveFileDialog.Name" xml:space="preserve">
+ <value>saveFileDialog</value>
+ </data>
+ <data name="&gt;&gt;saveFileDialog.Type" xml:space="preserve">
+ <value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;openFileDialog.Name" xml:space="preserve">
+ <value>openFileDialog</value>
+ </data>
+ <data name="&gt;&gt;openFileDialog.Type" xml:space="preserve">
+ <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;colName.Name" xml:space="preserve">
+ <value>colName</value>
+ </data>
+ <data name="&gt;&gt;colName.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;colCode.Name" xml:space="preserve">
+ <value>colCode</value>
+ </data>
+ <data name="&gt;&gt;colCode.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;colSize.Name" xml:space="preserve">
+ <value>colSize</value>
+ </data>
+ <data name="&gt;&gt;colSize.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;colFlags.Name" xml:space="preserve">
+ <value>colFlags</value>
+ </data>
+ <data name="&gt;&gt;colFlags.Type" xml:space="preserve">
+ <value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>SaveStateManager</value>
+ </data>
+ <data name="&gt;&gt;$this.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root> \ No newline at end of file
diff --git a/SaveStateManager.ru-RU.resx b/SaveStateManager.ru-RU.resx
new file mode 100644
index 00000000..b53ce4e8
--- /dev/null
+++ b/SaveStateManager.ru-RU.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Менеджер Ñохранений</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Удалить выделенные</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>ЭкÑпортировать выделенные</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Импорт</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Код</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Слоты</value>
+ </data>
+ <data name="colName.Text">
+ <value>Ðазвание</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Размер</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Удалить выделенные</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>ЭкÑпортировать выделенные</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Импорт</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.sk-SK.resx b/SaveStateManager.sk-SK.resx
new file mode 100644
index 00000000..acb4f514
--- /dev/null
+++ b/SaveStateManager.sk-SK.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Správca uložených pozícií v hrách</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Odstrániť vybrané</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportovať vybrané</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importovať</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Kód</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Pozície pre uložeie</value>
+ </data>
+ <data name="colName.Text">
+ <value>Názov</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Veľkosť</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Odstrániť vybrané</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportovať vybrané</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importovať</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.sv-SE.resx b/SaveStateManager.sv-SE.resx
new file mode 100644
index 00000000..40d9af7f
--- /dev/null
+++ b/SaveStateManager.sv-SE.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Save-State hanterare</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Radera valda</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>Exportera valda</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Importera</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Kod</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Minnesplatser</value>
+ </data>
+ <data name="colName.Text">
+ <value>Namn</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Storlek</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Radera valda</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>Exportera valda</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Importera</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.uk-UA.resx b/SaveStateManager.uk-UA.resx
new file mode 100644
index 00000000..fbb5d1e2
--- /dev/null
+++ b/SaveStateManager.uk-UA.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Менеджер збережень</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>Видалити виділені</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>ЕкÑпортувати виділені</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>Імпорт</value>
+ </data>
+ <data name="colCode.Text">
+ <value>Код</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>Слоти</value>
+ </data>
+ <data name="colName.Text">
+ <value>Ðазва</value>
+ </data>
+ <data name="colSize.Text">
+ <value>Розмір</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>Видалити виділені</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>ЕкÑпортувати виділені</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>Імпорт</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.zh-CHS.resx b/SaveStateManager.zh-CHS.resx
new file mode 100644
index 00000000..47c373ae
--- /dev/null
+++ b/SaveStateManager.zh-CHS.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>快速存档管ç†å·¥å…·</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>删除所选</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>汇出所选</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>汇入</value>
+ </data>
+ <data name="colCode.Text">
+ <value>代ç </value>
+ </data>
+ <data name="colFlags.Text">
+ <value>储存槽</value>
+ </data>
+ <data name="colName.Text">
+ <value>å称</value>
+ </data>
+ <data name="colSize.Text">
+ <value>大å°</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>删除所选</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>汇出所选</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>汇入</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.zh-CHT.resx b/SaveStateManager.zh-CHT.resx
new file mode 100644
index 00000000..fa13f758
--- /dev/null
+++ b/SaveStateManager.zh-CHT.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>快速存檔管ç†å·¥å…·</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>刪除所é¸</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>匯出所é¸</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>匯入</value>
+ </data>
+ <data name="colCode.Text">
+ <value>代碼</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>儲存槽</value>
+ </data>
+ <data name="colName.Text">
+ <value>å稱</value>
+ </data>
+ <data name="colSize.Text">
+ <value>大å°</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>刪除所é¸</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>匯出所é¸</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>匯入</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SaveStateManager.zh-TW.resx b/SaveStateManager.zh-TW.resx
new file mode 100644
index 00000000..fa13f758
--- /dev/null
+++ b/SaveStateManager.zh-TW.resx
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>快速存檔管ç†å·¥å…·</value>
+ </data>
+ <data name="buttonDelete.Text">
+ <value>刪除所é¸</value>
+ </data>
+ <data name="buttonExport.Text">
+ <value>匯出所é¸</value>
+ </data>
+ <data name="buttonImport.Text">
+ <value>匯入</value>
+ </data>
+ <data name="colCode.Text">
+ <value>代碼</value>
+ </data>
+ <data name="colFlags.Text">
+ <value>儲存槽</value>
+ </data>
+ <data name="colName.Text">
+ <value>å稱</value>
+ </data>
+ <data name="colSize.Text">
+ <value>大å°</value>
+ </data>
+ <data name="deleteToolStripMenuItem.Text">
+ <value>刪除所é¸</value>
+ </data>
+ <data name="exportToolStripMenuItem.Text">
+ <value>匯出所é¸</value>
+ </data>
+ <data name="importToolStripMenuItem.Text">
+ <value>匯入</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.bg-BG.resx b/SearchForm.bg-BG.resx
new file mode 100644
index 00000000..11352fe4
--- /dev/null
+++ b/SearchForm.bg-BG.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Въведи първите букви от заглавието на играта</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.ca-ES.resx b/SearchForm.ca-ES.resx
new file mode 100644
index 00000000..c03c1c63
--- /dev/null
+++ b/SearchForm.ca-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Escriu les primeres lletres del joc</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.da-DK.resx b/SearchForm.da-DK.resx
new file mode 100644
index 00000000..c83a0b18
--- /dev/null
+++ b/SearchForm.da-DK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Indtast første bogstaver af spillets navn</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.de-DE.resx b/SearchForm.de-DE.resx
index e0ec2c2b..58f03e55 100644
--- a/SearchForm.de-DE.resx
+++ b/SearchForm.de-DE.resx
@@ -1,64 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1181 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="textBoxSearch.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 10</value>
- </data>
- <data name="textBoxSearch.Size" type="System.Drawing.Size, System.Drawing">
- <value>375, 20</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="textBoxSearch.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="&gt;&gt;textBoxSearch.Name" xml:space="preserve">
- <value>textBoxSearch</value>
- </data>
- <data name="&gt;&gt;textBoxSearch.Type" xml:space="preserve">
- <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;textBoxSearch.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;textBoxSearch.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>399, 39</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>Manual</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Gebe den ersten Buchstaben des Spielnamens ein...</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>SearchForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
</root> \ No newline at end of file
diff --git a/SearchForm.el-GR.resx b/SearchForm.el-GR.resx
new file mode 100644
index 00000000..daca344b
--- /dev/null
+++ b/SearchForm.el-GR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>ΠληκτÏολογήστε τα Ï€Ïώτα γÏάμματα του ονόματος του παιχνιδιοÏ…</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.en-GB.resx b/SearchForm.en-GB.resx
new file mode 100644
index 00000000..c59ee489
--- /dev/null
+++ b/SearchForm.en-GB.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Enter the first letters of the game name...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.es-AR.resx b/SearchForm.es-AR.resx
new file mode 100644
index 00000000..4dd7e8b7
--- /dev/null
+++ b/SearchForm.es-AR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Ingresá las primeras letras del nombre del juego…</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.es-ES.resx b/SearchForm.es-ES.resx
new file mode 100644
index 00000000..df623a55
--- /dev/null
+++ b/SearchForm.es-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Escribe las primeras letras del juego</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.fi-FI.resx b/SearchForm.fi-FI.resx
new file mode 100644
index 00000000..d51e349c
--- /dev/null
+++ b/SearchForm.fi-FI.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Kirjoita pelin alkukirjaimet...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.fr-FR.resx b/SearchForm.fr-FR.resx
new file mode 100644
index 00000000..3e1e9633
--- /dev/null
+++ b/SearchForm.fr-FR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Entrez les premières lettres du nom du jeu…</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.id-ID.resx b/SearchForm.id-ID.resx
new file mode 100644
index 00000000..4be340d9
--- /dev/null
+++ b/SearchForm.id-ID.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Masukkan huruf pertama judul game...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.it-IT.resx b/SearchForm.it-IT.resx
new file mode 100644
index 00000000..a82795d0
--- /dev/null
+++ b/SearchForm.it-IT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Inserisci le prime lettere del nome del gioco...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.nl.resx b/SearchForm.nl.resx
new file mode 100644
index 00000000..95af7403
--- /dev/null
+++ b/SearchForm.nl.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Voer de eerste letters van het spel in...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.pl-PL.resx b/SearchForm.pl-PL.resx
index 36c22d4c..0a8d5800 100644
--- a/SearchForm.pl-PL.resx
+++ b/SearchForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wprowadź pierwszą literę nazwy gry...</value>
</data>
</root> \ No newline at end of file
diff --git a/SearchForm.pt-PT.resx b/SearchForm.pt-PT.resx
new file mode 100644
index 00000000..c4dfb8e0
--- /dev/null
+++ b/SearchForm.pt-PT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Digite as primeiras letras do nome do jogo ...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.ru-RU.resx b/SearchForm.ru-RU.resx
index a592b867..7c3e2966 100644
--- a/SearchForm.ru-RU.resx
+++ b/SearchForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,7 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Введите первые буквы Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¸Ð³Ñ€Ñ‹...</value>
</data>
</root> \ No newline at end of file
diff --git a/SearchForm.sk-SK.resx b/SearchForm.sk-SK.resx
new file mode 100644
index 00000000..e9e02329
--- /dev/null
+++ b/SearchForm.sk-SK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Zadajte prvé písmena názvu hry...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.sv-SE.resx b/SearchForm.sv-SE.resx
new file mode 100644
index 00000000..3e36509b
--- /dev/null
+++ b/SearchForm.sv-SE.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Skriv första bokstäverna i spelnamnet…</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.uk-UA.resx b/SearchForm.uk-UA.resx
new file mode 100644
index 00000000..69b90a54
--- /dev/null
+++ b/SearchForm.uk-UA.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Введіть перші літери назви гри...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.zh-CHS.resx b/SearchForm.zh-CHS.resx
new file mode 100644
index 00000000..e058e3d4
--- /dev/null
+++ b/SearchForm.zh-CHS.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>输入游æˆå称的第一个字æ¯...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.zh-CHT.resx b/SearchForm.zh-CHT.resx
new file mode 100644
index 00000000..c79341b2
--- /dev/null
+++ b/SearchForm.zh-CHT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>輸入éŠæˆ²å稱的第一個字æ¯...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SearchForm.zh-TW.resx b/SearchForm.zh-TW.resx
new file mode 100644
index 00000000..c79341b2
--- /dev/null
+++ b/SearchForm.zh-TW.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>輸入éŠæˆ²å稱的第一個字æ¯...</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.Designer.cs b/SelectButtonsForm.Designer.cs
index 6ea34072..408c7b31 100644
--- a/SelectButtonsForm.Designer.cs
+++ b/SelectButtonsForm.Designer.cs
@@ -138,7 +138,6 @@
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "SelectButtonsForm";
- this.Load += new System.EventHandler(this.SelectButtonsForm_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBoxController)).EndInit();
this.ResumeLayout(false);
diff --git a/SelectButtonsForm.bg-BG.resx b/SelectButtonsForm.bg-BG.resx
new file mode 100644
index 00000000..a0e37559
--- /dev/null
+++ b/SelectButtonsForm.bg-BG.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Избери нулиране на комбинациÑта от бутони</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.ca-ES.resx b/SelectButtonsForm.ca-ES.resx
new file mode 100644
index 00000000..7b31e7f7
--- /dev/null
+++ b/SelectButtonsForm.ca-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecciona una combinació de botons per a Reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.cs b/SelectButtonsForm.cs
index aec9ea40..020f8f51 100644
--- a/SelectButtonsForm.cs
+++ b/SelectButtonsForm.cs
@@ -62,10 +62,5 @@ namespace com.clusterrr.hakchi_gui
DialogResult = DialogResult.OK;
Close();
}
-
- private void SelectButtonsForm_Load(object sender, EventArgs e)
- {
-
- }
}
}
diff --git a/SelectButtonsForm.da-DK.resx b/SelectButtonsForm.da-DK.resx
new file mode 100644
index 00000000..42324c11
--- /dev/null
+++ b/SelectButtonsForm.da-DK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Vælg nulstil knap kombination</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.de-DE.resx b/SelectButtonsForm.de-DE.resx
index 49f3858c..2ba5403c 100644
--- a/SelectButtonsForm.de-DE.resx
+++ b/SelectButtonsForm.de-DE.resx
@@ -1,64 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1430 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>265, 49</value>
- </data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>73, 37</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>8</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>8</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="checkBoxUp.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxUp.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxUp.Location" type="System.Drawing.Point, System.Drawing">
- <value>67, 79</value>
- </data>
- <data name="checkBoxUp.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxUp.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="&gt;&gt;checkBoxUp.Name" xml:space="preserve">
- <value>checkBoxUp</value>
- </data>
- <data name="&gt;&gt;checkBoxUp.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxUp.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxUp.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="checkBoxDown.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxDown.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxDown.Location" type="System.Drawing.Point, System.Drawing">
- <value>67, 125</value>
- </data>
- <data name="checkBoxDown.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxDown.TabIndex" type="System.Int32, mscorlib">
- <value>12</value>
- </data>
- <data name="&gt;&gt;checkBoxDown.Name" xml:space="preserve">
- <value>checkBoxDown</value>
- </data>
- <data name="&gt;&gt;checkBoxDown.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxDown.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxDown.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="checkBoxA.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxA.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxA.Location" type="System.Drawing.Point, System.Drawing">
- <value>322, 116</value>
- </data>
- <data name="checkBoxA.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxA.TabIndex" type="System.Int32, mscorlib">
- <value>18</value>
- </data>
- <data name="&gt;&gt;checkBoxA.Name" xml:space="preserve">
- <value>checkBoxA</value>
- </data>
- <data name="&gt;&gt;checkBoxA.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxA.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxA.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="checkBoxLeft.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxLeft.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxLeft.Location" type="System.Drawing.Point, System.Drawing">
- <value>43, 102</value>
- </data>
- <data name="checkBoxLeft.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxLeft.TabIndex" type="System.Int32, mscorlib">
- <value>13</value>
- </data>
- <data name="&gt;&gt;checkBoxLeft.Name" xml:space="preserve">
- <value>checkBoxLeft</value>
- </data>
- <data name="&gt;&gt;checkBoxLeft.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxLeft.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxLeft.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="checkBoxB.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxB.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxB.Location" type="System.Drawing.Point, System.Drawing">
- <value>268, 116</value>
- </data>
- <data name="checkBoxB.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxB.TabIndex" type="System.Int32, mscorlib">
- <value>17</value>
- </data>
- <data name="&gt;&gt;checkBoxB.Name" xml:space="preserve">
- <value>checkBoxB</value>
- </data>
- <data name="&gt;&gt;checkBoxB.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxB.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxB.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="checkBoxRight.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxRight.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxRight.Location" type="System.Drawing.Point, System.Drawing">
- <value>90, 102</value>
- </data>
- <data name="checkBoxRight.Size" type="System.Drawing.Size, System.Drawing">
- <value>10, 10</value>
- </data>
- <data name="checkBoxRight.TabIndex" type="System.Int32, mscorlib">
- <value>14</value>
- </data>
- <data name="&gt;&gt;checkBoxRight.Name" xml:space="preserve">
- <value>checkBoxRight</value>
- </data>
- <data name="&gt;&gt;checkBoxRight.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxRight.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxRight.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="checkBoxStart.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxStart.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxStart.Location" type="System.Drawing.Point, System.Drawing">
- <value>198, 119</value>
- </data>
- <data name="checkBoxStart.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxStart.TabIndex" type="System.Int32, mscorlib">
- <value>16</value>
- </data>
- <data name="&gt;&gt;checkBoxStart.Name" xml:space="preserve">
- <value>checkBoxStart</value>
- </data>
- <data name="&gt;&gt;checkBoxStart.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxStart.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxStart.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="checkBoxSelect.FlatStyle" type="System.Windows.Forms.FlatStyle, System.Windows.Forms">
- <value>Flat</value>
- </data>
- <data name="checkBoxSelect.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="checkBoxSelect.Location" type="System.Drawing.Point, System.Drawing">
- <value>150, 119</value>
- </data>
- <data name="checkBoxSelect.Size" type="System.Drawing.Size, System.Drawing">
- <value>11, 11</value>
- </data>
- <data name="checkBoxSelect.TabIndex" type="System.Int32, mscorlib">
- <value>15</value>
- </data>
- <data name="&gt;&gt;checkBoxSelect.Name" xml:space="preserve">
- <value>checkBoxSelect</value>
- </data>
- <data name="&gt;&gt;checkBoxSelect.Type" xml:space="preserve">
- <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;checkBoxSelect.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;checkBoxSelect.ZOrder" xml:space="preserve">
- <value>7</value>
- </data>
- <data name="pictureBoxController.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="pictureBoxController.Location" type="System.Drawing.Point, System.Drawing">
- <value>-6, 0</value>
- </data>
- <data name="pictureBoxController.Size" type="System.Drawing.Size, System.Drawing">
- <value>399, 181</value>
- </data>
- <data name="pictureBoxController.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
- <value>CenterImage</value>
- </data>
- <data name="pictureBoxController.TabIndex" type="System.Int32, mscorlib">
- <value>19</value>
- </data>
- <data name="&gt;&gt;pictureBoxController.Name" xml:space="preserve">
- <value>pictureBoxController</value>
- </data>
- <data name="&gt;&gt;pictureBoxController.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxController.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;pictureBoxController.ZOrder" xml:space="preserve">
- <value>9</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>390, 180</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Wähle Resetknopf Kombination</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>SelectButtonsForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="$this.Text">
+ <value>Wähle Kombination, um ins Menu zu gehen</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectButtonsForm.el-GR.resx b/SelectButtonsForm.el-GR.resx
new file mode 100644
index 00000000..3dced335
--- /dev/null
+++ b/SelectButtonsForm.el-GR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Επιλογή ÏƒÏ…Î½Î´Ï…Î±ÏƒÎ¼Î¿Ï Ï€Î»Î®ÎºÏ„Ïων για επαναφοÏά</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.en-GB.resx b/SelectButtonsForm.en-GB.resx
new file mode 100644
index 00000000..88fb8d14
--- /dev/null
+++ b/SelectButtonsForm.en-GB.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Change the reset button combination</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.es-AR.resx b/SelectButtonsForm.es-AR.resx
new file mode 100644
index 00000000..4253d6b9
--- /dev/null
+++ b/SelectButtonsForm.es-AR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar combinación de botones para resetear</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.es-ES.resx b/SelectButtonsForm.es-ES.resx
new file mode 100644
index 00000000..d9420f89
--- /dev/null
+++ b/SelectButtonsForm.es-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecciona una combinación de botones para Reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.fi-FI.resx b/SelectButtonsForm.fi-FI.resx
new file mode 100644
index 00000000..db99a4f2
--- /dev/null
+++ b/SelectButtonsForm.fi-FI.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Valitse resetointinäppäinyhdistelmä</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.fr-FR.resx b/SelectButtonsForm.fr-FR.resx
new file mode 100644
index 00000000..87ae0982
--- /dev/null
+++ b/SelectButtonsForm.fr-FR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Sélectionner la combinaison du bouton Reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.id-ID.resx b/SelectButtonsForm.id-ID.resx
new file mode 100644
index 00000000..cce35232
--- /dev/null
+++ b/SelectButtonsForm.id-ID.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Pilih kombinasi tombol reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.it-IT.resx b/SelectButtonsForm.it-IT.resx
new file mode 100644
index 00000000..d8d3f362
--- /dev/null
+++ b/SelectButtonsForm.it-IT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleziona combinazione tasti per simulare il pulsante reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.nl.resx b/SelectButtonsForm.nl.resx
new file mode 100644
index 00000000..017f4e32
--- /dev/null
+++ b/SelectButtonsForm.nl.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecteer de reset knop combinatie</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.pl-PL.resx b/SelectButtonsForm.pl-PL.resx
index 239590e7..d899f340 100644
--- a/SelectButtonsForm.pl-PL.resx
+++ b/SelectButtonsForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wybierz komibnacjÄ™ klawiszy resetu</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectButtonsForm.pt-PT.resx b/SelectButtonsForm.pt-PT.resx
new file mode 100644
index 00000000..6521f4ac
--- /dev/null
+++ b/SelectButtonsForm.pt-PT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecionar combinação de botão de reset</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.resx b/SelectButtonsForm.resx
index e9332f35..7ff7195a 100644
--- a/SelectButtonsForm.resx
+++ b/SelectButtonsForm.resx
@@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
@@ -387,9 +387,6 @@
<data name="&gt;&gt;pictureBoxController.ZOrder" xml:space="preserve">
<value>9</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
@@ -1543,4 +1540,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
</root> \ No newline at end of file
diff --git a/SelectButtonsForm.ru-RU.resx b/SelectButtonsForm.ru-RU.resx
index 3f3f10c4..876c37cf 100644
--- a/SelectButtonsForm.ru-RU.resx
+++ b/SelectButtonsForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Выберите комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
+ <data name="$this.Text">
+ <value>Выбрать комбинацию кнопок Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° в меню</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectButtonsForm.sk-SK.resx b/SelectButtonsForm.sk-SK.resx
new file mode 100644
index 00000000..311d0f9d
--- /dev/null
+++ b/SelectButtonsForm.sk-SK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Vyberte kombináciu kláves pre resetovanie</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.sv-SE.resx b/SelectButtonsForm.sv-SE.resx
new file mode 100644
index 00000000..6dcbf83d
--- /dev/null
+++ b/SelectButtonsForm.sv-SE.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Välj reset knappkombination</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.uk-UA.resx b/SelectButtonsForm.uk-UA.resx
new file mode 100644
index 00000000..b6985c03
--- /dev/null
+++ b/SelectButtonsForm.uk-UA.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Вибрати комбінацію кнопок Ð´Ð»Ñ Ð²Ð¸Ñ…Ð¾Ð´Ñƒ у меню</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.zh-CHS.resx b/SelectButtonsForm.zh-CHS.resx
new file mode 100644
index 00000000..66683aa8
--- /dev/null
+++ b/SelectButtonsForm.zh-CHS.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>选择é‡å¯æŒ‰é’®ç»„åˆ</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.zh-CHT.resx b/SelectButtonsForm.zh-CHT.resx
new file mode 100644
index 00000000..0427289c
--- /dev/null
+++ b/SelectButtonsForm.zh-CHT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸æ“‡é‡å•ŸæŒ‰éˆ•çµ„åˆ</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectButtonsForm.zh-TW.resx b/SelectButtonsForm.zh-TW.resx
new file mode 100644
index 00000000..0427289c
--- /dev/null
+++ b/SelectButtonsForm.zh-TW.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸æ“‡é‡å•ŸæŒ‰éˆ•çµ„åˆ</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.bg-BG.resx b/SelectFileForm.bg-BG.resx
new file mode 100644
index 00000000..5c806b98
--- /dev/null
+++ b/SelectFileForm.bg-BG.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Изберете файл</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Import за архивиране</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.ca-ES.resx b/SelectFileForm.ca-ES.resx
new file mode 100644
index 00000000..44facf35
--- /dev/null
+++ b/SelectFileForm.ca-ES.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar arxiu</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importar un arxiu</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.da-DK.resx b/SelectFileForm.da-DK.resx
new file mode 100644
index 00000000..513e0fe7
--- /dev/null
+++ b/SelectFileForm.da-DK.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Vælg fil</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importér som arkiv</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.de-DE.resx b/SelectFileForm.de-DE.resx
index 4f54e7ae..22f50a92 100644
--- a/SelectFileForm.de-DE.resx
+++ b/SelectFileForm.de-DE.resx
@@ -1,64 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1247 +58,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="listBoxFiles.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="listBoxFiles.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 12</value>
- </data>
- <data name="listBoxFiles.Size" type="System.Drawing.Size, System.Drawing">
- <value>290, 238</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="listBoxFiles.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="&gt;&gt;listBoxFiles.Name" xml:space="preserve">
- <value>listBoxFiles</value>
- </data>
- <data name="&gt;&gt;listBoxFiles.Type" xml:space="preserve">
- <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;listBoxFiles.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;listBoxFiles.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Left</value>
- </data>
- <data name="buttonOk.Enabled" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 259</value>
- </data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 33</value>
- </data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonArchive.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Right</value>
- </data>
- <data name="buttonArchive.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="buttonArchive.Location" type="System.Drawing.Point, System.Drawing">
- <value>162, 259</value>
- </data>
- <data name="buttonArchive.Size" type="System.Drawing.Size, System.Drawing">
- <value>140, 33</value>
- </data>
- <data name="buttonArchive.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="buttonArchive.Text" xml:space="preserve">
- <value>Importiere als Archiv</value>
- </data>
- <data name="&gt;&gt;buttonArchive.Name" xml:space="preserve">
- <value>buttonArchive</value>
- </data>
- <data name="&gt;&gt;buttonArchive.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonArchive.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonArchive.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>314, 304</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
- <value>330, 200</value>
- </data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wähle Datei</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>SelectFileForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <data name="buttonArchive.Text">
+ <value>Importiere als Archiv</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectFileForm.el-GR.resx b/SelectFileForm.el-GR.resx
new file mode 100644
index 00000000..174cc67f
--- /dev/null
+++ b/SelectFileForm.el-GR.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Επιλογή αÏχείου</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Εισαγωγή ως συμπιεσμένο αÏχείο</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.en-GB.resx b/SelectFileForm.en-GB.resx
new file mode 100644
index 00000000..a0e29ef4
--- /dev/null
+++ b/SelectFileForm.en-GB.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Select file</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Import as archive</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.es-AR.resx b/SelectFileForm.es-AR.resx
new file mode 100644
index 00000000..c475ebb4
--- /dev/null
+++ b/SelectFileForm.es-AR.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar archivo</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importar como archivo</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.es-ES.resx b/SelectFileForm.es-ES.resx
new file mode 100644
index 00000000..c475ebb4
--- /dev/null
+++ b/SelectFileForm.es-ES.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar archivo</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importar como archivo</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.fi-FI.resx b/SelectFileForm.fi-FI.resx
new file mode 100644
index 00000000..bec8576b
--- /dev/null
+++ b/SelectFileForm.fi-FI.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Valitse tiedosto</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Tuo pakattuna</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.fr-FR.resx b/SelectFileForm.fr-FR.resx
new file mode 100644
index 00000000..ba7d140a
--- /dev/null
+++ b/SelectFileForm.fr-FR.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Sélectionner fichier</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importer comme archive</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.id-ID.resx b/SelectFileForm.id-ID.resx
new file mode 100644
index 00000000..f65b9575
--- /dev/null
+++ b/SelectFileForm.id-ID.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Pilih fail</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Impor sebagai arsip</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.it-IT.resx b/SelectFileForm.it-IT.resx
new file mode 100644
index 00000000..bcaa0492
--- /dev/null
+++ b/SelectFileForm.it-IT.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleziona file</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importa come archivio</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.nl.resx b/SelectFileForm.nl.resx
new file mode 100644
index 00000000..3a445a15
--- /dev/null
+++ b/SelectFileForm.nl.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecteer bestand</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importeer als archief</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.pl-PL.resx b/SelectFileForm.pl-PL.resx
index 8600f918..51a3c4e3 100644
--- a/SelectFileForm.pl-PL.resx
+++ b/SelectFileForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wybierz plik</value>
</data>
+ <data name="buttonArchive.Text">
+ <value>Importuj jako archiwum</value>
+ </data>
</root> \ No newline at end of file
diff --git a/SelectFileForm.pt-PT.resx b/SelectFileForm.pt-PT.resx
new file mode 100644
index 00000000..f1e68194
--- /dev/null
+++ b/SelectFileForm.pt-PT.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecione o ficheiro</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importar como arquivo</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.resx b/SelectFileForm.resx
index 53f064c7..d103f118 100644
--- a/SelectFileForm.resx
+++ b/SelectFileForm.resx
@@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listBoxFiles.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@@ -204,9 +204,6 @@
<data name="&gt;&gt;buttonArchive.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
@@ -1360,4 +1357,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
</root> \ No newline at end of file
diff --git a/SelectFileForm.ru-RU.resx b/SelectFileForm.ru-RU.resx
index 7b4919f2..3e95d877 100644
--- a/SelectFileForm.ru-RU.resx
+++ b/SelectFileForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1143 +58,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="buttonArchive.Text" xml:space="preserve">
- <value>ОÑтавить в виде архива</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Выберите файл</value>
</data>
+ <data name="buttonArchive.Text">
+ <value>ОÑтавить в виде архива</value>
+ </data>
</root> \ No newline at end of file
diff --git a/SelectFileForm.sk-SK.resx b/SelectFileForm.sk-SK.resx
new file mode 100644
index 00000000..b5ee55f7
--- /dev/null
+++ b/SelectFileForm.sk-SK.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Vybrať súbor</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importovať ako archív</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.sv-SE.resx b/SelectFileForm.sv-SE.resx
new file mode 100644
index 00000000..4cdf60a0
--- /dev/null
+++ b/SelectFileForm.sv-SE.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Välj fil</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Importera som arkiv</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.uk-UA.resx b/SelectFileForm.uk-UA.resx
new file mode 100644
index 00000000..d633b40d
--- /dev/null
+++ b/SelectFileForm.uk-UA.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Виберіть файл</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>Залишити в виглÑді архіву</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.zh-CHS.resx b/SelectFileForm.zh-CHS.resx
new file mode 100644
index 00000000..bdb06a5b
--- /dev/null
+++ b/SelectFileForm.zh-CHS.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>选择档案</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>汇入的档案</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.zh-CHT.resx b/SelectFileForm.zh-CHT.resx
new file mode 100644
index 00000000..768888e5
--- /dev/null
+++ b/SelectFileForm.zh-CHT.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸æ“‡æª”案</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>匯入的檔案</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectFileForm.zh-TW.resx b/SelectFileForm.zh-TW.resx
new file mode 100644
index 00000000..768888e5
--- /dev/null
+++ b/SelectFileForm.zh-TW.resx
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸æ“‡æª”案</value>
+ </data>
+ <data name="buttonArchive.Text">
+ <value>匯入的檔案</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.bg-BG.resx b/SelectIconForm.bg-BG.resx
new file mode 100644
index 00000000..b51c0cc2
--- /dev/null
+++ b/SelectIconForm.bg-BG.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Изберете икона на папка</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.ca-ES.resx b/SelectIconForm.ca-ES.resx
new file mode 100644
index 00000000..ef5e4747
--- /dev/null
+++ b/SelectIconForm.ca-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar icona de carpeta</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.da-DK.resx b/SelectIconForm.da-DK.resx
new file mode 100644
index 00000000..65530fb7
--- /dev/null
+++ b/SelectIconForm.da-DK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Vælg mappe ikon</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.de-DE.resx b/SelectIconForm.de-DE.resx
index 964e47e5..1f3baef8 100644
--- a/SelectIconForm.de-DE.resx
+++ b/SelectIconForm.de-DE.resx
@@ -1,64 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1247 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="listBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="listBox.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 12</value>
- </data>
- <data name="listBox.Size" type="System.Drawing.Size, System.Drawing">
- <value>306, 225</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="listBox.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="&gt;&gt;listBox.Name" xml:space="preserve">
- <value>listBox</value>
- </data>
- <data name="&gt;&gt;listBox.Type" xml:space="preserve">
- <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;listBox.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;listBox.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Bottom, Left, Right</value>
- </data>
- <data name="buttonOk.Enabled" type="System.Boolean, mscorlib">
- <value>False</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 247</value>
- </data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>517, 33</value>
- </data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="pictureBoxArt.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="pictureBoxArt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>324, 16</value>
- </data>
- <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>203, 203</value>
- </data>
- <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
- <value>Zoom</value>
- </data>
- <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>15</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>541, 288</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
- <value>447, 314</value>
- </data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wähle Ordner Icon</value>
</data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>SelectIconForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
</root> \ No newline at end of file
diff --git a/SelectIconForm.el-GR.resx b/SelectIconForm.el-GR.resx
new file mode 100644
index 00000000..a00e6f23
--- /dev/null
+++ b/SelectIconForm.el-GR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Επιλογή εικονίδιου φακέλου</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.en-GB.resx b/SelectIconForm.en-GB.resx
new file mode 100644
index 00000000..eba373cb
--- /dev/null
+++ b/SelectIconForm.en-GB.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Select folder icon</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.es-AR.resx b/SelectIconForm.es-AR.resx
new file mode 100644
index 00000000..098c2c68
--- /dev/null
+++ b/SelectIconForm.es-AR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar ícono de la carpeta</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.es-ES.resx b/SelectIconForm.es-ES.resx
new file mode 100644
index 00000000..1fa28a1f
--- /dev/null
+++ b/SelectIconForm.es-ES.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleccionar icono de carpeta</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.fi-FI.resx b/SelectIconForm.fi-FI.resx
new file mode 100644
index 00000000..2f0221db
--- /dev/null
+++ b/SelectIconForm.fi-FI.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Valitse kansion kuvake</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.fr-FR.resx b/SelectIconForm.fr-FR.resx
new file mode 100644
index 00000000..58424041
--- /dev/null
+++ b/SelectIconForm.fr-FR.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Sélectionner l'icône du dossier</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.id-ID.resx b/SelectIconForm.id-ID.resx
new file mode 100644
index 00000000..6a9fd7d6
--- /dev/null
+++ b/SelectIconForm.id-ID.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Pilih ikon folder</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.it-IT.resx b/SelectIconForm.it-IT.resx
new file mode 100644
index 00000000..3b5089bf
--- /dev/null
+++ b/SelectIconForm.it-IT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Seleziona icona cartella</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.nl.resx b/SelectIconForm.nl.resx
new file mode 100644
index 00000000..470c2db5
--- /dev/null
+++ b/SelectIconForm.nl.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecteer map icoon</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.pl-PL.resx b/SelectIconForm.pl-PL.resx
index 852d381c..ce6b81da 100644
--- a/SelectIconForm.pl-PL.resx
+++ b/SelectIconForm.pl-PL.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Wybierz ikonÄ™ folderu</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectIconForm.pt-PT.resx b/SelectIconForm.pt-PT.resx
new file mode 100644
index 00000000..dde52399
--- /dev/null
+++ b/SelectIconForm.pt-PT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Selecionar ícone de pasta</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.resx b/SelectIconForm.resx
index c0ce89d8..9adb7aad 100644
--- a/SelectIconForm.resx
+++ b/SelectIconForm.resx
@@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="listBox.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@@ -204,9 +204,6 @@
<data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
<value>0</value>
</data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
@@ -1360,4 +1357,7 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
</root> \ No newline at end of file
diff --git a/SelectIconForm.ru-RU.resx b/SelectIconForm.ru-RU.resx
index 4cf18249..65a29001 100644
--- a/SelectIconForm.ru-RU.resx
+++ b/SelectIconForm.ru-RU.resx
@@ -1,64 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
@@ -117,1140 +58,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
+ <data name="$this.Text">
<value>Выберите иконку Ð´Ð»Ñ Ð¿Ð°Ð¿ÐºÐ¸</value>
</data>
</root> \ No newline at end of file
diff --git a/SelectIconForm.sk-SK.resx b/SelectIconForm.sk-SK.resx
new file mode 100644
index 00000000..9cd15991
--- /dev/null
+++ b/SelectIconForm.sk-SK.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>VybraÅ¥ ikonu prieÄinku</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.sv-SE.resx b/SelectIconForm.sv-SE.resx
new file mode 100644
index 00000000..e06fd31e
--- /dev/null
+++ b/SelectIconForm.sv-SE.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Välj mappikon</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.uk-UA.resx b/SelectIconForm.uk-UA.resx
new file mode 100644
index 00000000..2c3fb89c
--- /dev/null
+++ b/SelectIconForm.uk-UA.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Виберіть іконку Ð´Ð»Ñ Ð¿Ð°Ð¿ÐºÐ¸</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.zh-CHS.resx b/SelectIconForm.zh-CHS.resx
new file mode 100644
index 00000000..f28ec68f
--- /dev/null
+++ b/SelectIconForm.zh-CHS.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>选å–文件夹图示</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.zh-CHT.resx b/SelectIconForm.zh-CHT.resx
new file mode 100644
index 00000000..dcde4c3a
--- /dev/null
+++ b/SelectIconForm.zh-CHT.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸å–資料夾圖示</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectIconForm.zh-TW.resx b/SelectIconForm.zh-TW.resx
new file mode 100644
index 00000000..dcde4c3a
--- /dev/null
+++ b/SelectIconForm.zh-TW.resx
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>é¸å–資料夾圖示</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/SelectModsForm.Designer.cs b/SelectModsForm.Designer.cs
index ae8f8c2b..6e27dd41 100644
--- a/SelectModsForm.Designer.cs
+++ b/SelectModsForm.Designer.cs
@@ -21,6 +21,7 @@
this.checkedListBoxMods.Location = new System.Drawing.Point(12, 12);
this.checkedListBoxMods.Name = "checkedListBoxMods";
this.checkedListBoxMods.Size = new System.Drawing.Size(258, 334);
+ this.checkedListBoxMods.Sorted = true;
this.checkedListBoxMods.TabIndex = 0;
this.checkedListBoxMods.SelectedIndexChanged += new System.EventHandler(this.checkedListBoxMods_SelectedIndexChanged);
//
@@ -64,6 +65,8 @@
this.Name = "SelectModsForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "ModsSelect";
+ this.DragDrop += new System.Windows.Forms.DragEventHandler(this.SelectModsForm_DragDrop);
+ this.DragEnter += new System.Windows.Forms.DragEventHandler(this.SelectModsForm_DragEnter);
this.ResumeLayout(false);
this.PerformLayout();
diff --git a/SelectModsForm.cs b/SelectModsForm.cs
index 424dc650..7b16803e 100644
--- a/SelectModsForm.cs
+++ b/SelectModsForm.cs
@@ -11,28 +11,48 @@ namespace com.clusterrr.hakchi_gui
{
public partial class SelectModsForm : Form
{
- private readonly string baseDirectory;
private readonly string usermodsDirectory;
private readonly string[] readmeFiles;
- public SelectModsForm()
+ public SelectModsForm(bool loadInstalledMods, bool allowDropMods, string[] filesToAdd = null)
{
InitializeComponent();
- baseDirectory = MainForm.BaseDirectory;
- usermodsDirectory = Path.Combine(baseDirectory, "user_mods");
+ usermodsDirectory = Path.Combine(Program.BaseDirectoryExternal, "user_mods");
var modsList = new List<string>();
- if (Directory.Exists(usermodsDirectory))
+ if (loadInstalledMods && MainForm.Clovershell.IsOnline)
{
- modsList.AddRange(from m
- in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
- select Path.GetFileNameWithoutExtension(m));
- modsList.AddRange(from m
- in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
- select Path.GetFileNameWithoutExtension(m));
+ var modsstr = MainForm.Clovershell.ExecuteSimple("ls /var/lib/hakchi/hmod/uninstall-*", 1000, true);
+ var installedMods = modsstr.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
+ foreach (var mod in installedMods)
+ {
+ var modname = mod;
+ int pos;
+ while ((pos = modname.IndexOf("/")) >= 0)
+ modname = modname.Substring(pos + 1);
+ modname = modname.Substring("uninstall-".Length);
+ if (MainForm.InternalMods.Contains(modname))
+ continue;
+ modsList.Add(modname);
+ }
+ }
+ else
+ {
+ if (Directory.Exists(usermodsDirectory))
+ {
+ modsList.AddRange(from m
+ in Directory.GetDirectories(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
+ select Path.GetFileNameWithoutExtension(m));
+ modsList.AddRange(from m
+ in Directory.GetFiles(usermodsDirectory, "*.hmod", SearchOption.TopDirectoryOnly)
+ select Path.GetFileNameWithoutExtension(m));
+ }
}
readmeFiles = new string[] { "readme.txt", "readme.md", "readme" };
checkedListBoxMods.Items.Clear();
checkedListBoxMods.Items.AddRange(modsList.ToArray());
+ checkedListBoxMods.Sorted = true;
+ if (filesToAdd != null) AddMods(filesToAdd);
+ this.AllowDrop = allowDropMods;
}
private void buttonOk_Click(object sender, EventArgs e)
@@ -76,7 +96,7 @@ namespace com.clusterrr.hakchi_gui
}
else if (File.Exists(dir))
{
- SevenZipExtractor.SetLibraryPath(Path.Combine(baseDirectory, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
using (var szExtractor = new SevenZipExtractor(dir))
{
var tar = new MemoryStream();
@@ -84,16 +104,15 @@ namespace com.clusterrr.hakchi_gui
tar.Seek(0, SeekOrigin.Begin);
using (var szExtractorTar = new SevenZipExtractor(tar))
{
- foreach (var f in readmeFiles)
+ foreach (var f in szExtractorTar.ArchiveFileNames)
{
- if (szExtractorTar.ArchiveFileNames.Contains(f))
+ if (readmeFiles.Contains(f.ToLower()))
{
var o = new MemoryStream();
szExtractorTar.ExtractFile(f, o);
- var rawData = new byte[o.Length];
- o.Seek(0, SeekOrigin.Begin);
- o.Read(rawData, 0, (int)o.Length);
- text = Encoding.UTF8.GetString(rawData);
+ text = Encoding.UTF8.GetString(o.ToArray());
+ if (!text.Contains("\r"))
+ text = text.Replace("\n", "\r\n");
break;
}
}
@@ -116,5 +135,52 @@ namespace com.clusterrr.hakchi_gui
textBoxReadme.Enabled = readme.Length > 0;
}
}
+
+ private void SelectModsForm_DragEnter(object sender, DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.FileDrop))
+ e.Effect = DragDropEffects.Copy;
+ }
+
+ private void SelectModsForm_DragDrop(object sender, DragEventArgs e)
+ {
+ var files = (string[])e.Data.GetData(DataFormats.FileDrop);
+ AddMods(files);
+ }
+
+ private void AddMods(string[] files)
+ {
+ var listAddedMods = new List<string>();
+ foreach (var file in files)
+ {
+ var ext = Path.GetExtension(file).ToLower();
+ if (ext == ".hmod")
+ {
+ File.Copy(file, Path.Combine(usermodsDirectory, Path.GetFileName(file)), true);
+ listAddedMods.Add(Path.GetFileNameWithoutExtension(file));
+ }
+ else if (ext == ".7z" || ext == ".zip" || ext == ".rar")
+ {
+ SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ using (var szExtractor = new SevenZipExtractor(file))
+ {
+ foreach (var f in szExtractor.ArchiveFileNames)
+ if (Path.GetExtension(f).ToLower() == ".hmod")
+ {
+ using (var outFile = new FileStream(Path.Combine(usermodsDirectory, Path.GetFileName(f)), FileMode.Create))
+ {
+ szExtractor.ExtractFile(f, outFile);
+ listAddedMods.Add(Path.GetFileNameWithoutExtension(f));
+ }
+ }
+ }
+ }
+ }
+ foreach (var mod in listAddedMods)
+ {
+ checkedListBoxMods.Items.Remove(mod);
+ checkedListBoxMods.Items.Add(mod, true);
+ }
+ }
}
}
diff --git a/TarStream.cs b/TarStream.cs
new file mode 100644
index 00000000..4ffcf3ea
--- /dev/null
+++ b/TarStream.cs
@@ -0,0 +1,305 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace com.clusterrr.util
+{
+ public class TarStream : Stream
+ {
+ List<string> entries = new List<string>();
+ readonly string rootDirectory;
+ const string LongLinkFlag = "././@LongLink";
+ long totalSize = 0;
+ long position = 0;
+ int currentEntry = 0;
+ long currentEntryPosition = 0;
+ long currentEntryLength = 0;
+ Stream currentFile = null;
+ byte[] currentHeader;
+
+ public delegate void OnProgressDelegate(long Position, long Length);
+ public event OnProgressDelegate OnReadProgress = delegate { };
+
+ [StructLayout(LayoutKind.Sequential)]
+ private struct TarHeader
+ {
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)]
+ public string FileName;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string FileMode;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string OwnerID;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string GroupID;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
+ public string FileSize;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
+ public string LastModificationTime;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
+ public byte[] Checksum;
+ [MarshalAs(UnmanagedType.U1)]
+ public char FileType;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)]
+ public string LinkedName;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string UstarMagic;
+ //[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
+ //public char[] UstarVersion;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
+ public string OwnerUserName;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
+ public string OwnerGroupName;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string DeviceMajorNumber;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8)]
+ public string DeviceMinorNumber;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 155)]
+ public string FileNamePrefix;
+ [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 12)]
+ string padding;
+
+ public void CalcChecksum()
+ {
+ Checksum = new byte[] { 32, 32, 32, 32, 32, 32, 32, 32 };
+ var bytes = getBytes();
+ uint summ = 0;
+ foreach (var b in bytes)
+ summ += b;
+ Array.Copy(Encoding.ASCII.GetBytes(Convert.ToString(summ, 8).PadLeft(6, '0')), 0, Checksum, 0, 6);
+ Checksum[6] = 0;
+ Checksum[7] = 32;
+ }
+
+ public byte[] getBytes()
+ {
+ int size = Marshal.SizeOf(this);
+ byte[] arr = new byte[size];
+
+ IntPtr ptr = Marshal.AllocHGlobal(size);
+ Marshal.StructureToPtr(this, ptr, true);
+ Marshal.Copy(ptr, arr, 0, size);
+ Marshal.FreeHGlobal(ptr);
+ return arr;
+ }
+ }
+
+ public TarStream(string directory, string rootDirectory = null)
+ {
+ if (rootDirectory == null) rootDirectory = directory;
+ if (!Directory.Exists(directory))
+ throw new Exception("Directory not exists");
+ directory = Path.GetFullPath(directory);
+ if (!Directory.Exists(rootDirectory))
+ throw new Exception("Root directory not exists");
+ rootDirectory = Path.GetFullPath(rootDirectory); // Full path
+ if (!directory.StartsWith(rootDirectory))
+ throw new Exception("Invarid root directory");
+
+ LoadDirectory(directory);
+ for (int i = entries.Count - 1; i >= 0; i--) // Checking filenames
+ {
+ var name = entries[i].Substring(rootDirectory.Length + 1).Replace(@"\", "/");
+ if (name.Length > 99) // Need to create LongLink
+ {
+ entries.Insert(i, LongLinkFlag);
+ int size = name.Length;
+ if (size % 512 != 0)
+ size += 512 - (size % 512);
+ totalSize += 512 + size;
+ }
+ }
+ if (totalSize % 10240 != 0)
+ totalSize += (10240 - (totalSize % 10240));
+ this.rootDirectory = rootDirectory;
+ }
+
+ private void LoadDirectory(string directory)
+ {
+ if (!Directory.Exists(directory)) return;
+ var directories = Directory.GetDirectories(directory);
+ foreach (var d in directories)
+ {
+ var dname = d;
+ if (!dname.EndsWith(@"\"))
+ dname += @"\";
+ entries.Add(dname);
+ totalSize += 512;
+ LoadDirectory(d);
+ }
+ var files = Directory.GetFiles(directory);
+ foreach (var f in files)
+ {
+ entries.Add(f);
+ var size = new FileInfo(f).Length;
+ if (size % 512 != 0)
+ size += 512 - (size % 512);
+ totalSize += 512 + size;
+ }
+ }
+
+ public override bool CanRead
+ {
+ get { return true; }
+ }
+
+ public override bool CanSeek
+ {
+ get { return false; }
+ }
+
+ public override bool CanWrite
+ {
+ get { return false; }
+ }
+
+ public override long Length
+ {
+ get { return totalSize; }
+ }
+
+ public override long Position
+ {
+ get
+ {
+ return position;
+ }
+ set
+ {
+ throw new NotImplementedException();
+ }
+ }
+
+ public override int Read(byte[] buffer, int offset, int count)
+ {
+ int origCount = count;
+
+ while (count > 0)
+ {
+ if (currentEntryLength > 0 && currentEntryPosition >= currentEntryLength) // Next entry
+ {
+ currentEntry++;
+ currentEntryPosition = 0;
+ }
+
+ if (currentEntry >= entries.Count) // end of archive, write zeros
+ {
+ if (currentFile != null)
+ {
+ currentFile.Dispose();
+ currentFile = null;
+ }
+ long l = Math.Min(count, totalSize - position);
+ var dummy = new byte[l];
+ Array.Copy(dummy, 0, buffer, offset, l);
+ count -= (int)l;
+ position += l;
+ currentEntryPosition += l;
+ offset += (int)l;
+ break;
+ }
+
+ if (currentEntryPosition == 0) // New entry
+ {
+ currentEntryLength = 512;
+ var header = new TarHeader();
+ if (entries[currentEntry] != LongLinkFlag)
+ header.FileName = entries[currentEntry].Substring(rootDirectory.Length + 1).Replace(@"\", "/");
+ if (currentFile != null)
+ {
+ currentFile.Dispose();
+ currentFile = null;
+ }
+ if (entries[currentEntry] == LongLinkFlag)
+ {
+ header.FileName = entries[currentEntry];
+ header.FileMode = "0000000";
+ var name = entries[currentEntry+1].Substring(rootDirectory.Length + 1).Replace(@"\", "/");
+ var nameBuff = Encoding.UTF8.GetBytes(name);
+ currentFile = new MemoryStream(nameBuff.Length + 1);
+ currentFile.Write(nameBuff, 0, nameBuff.Length);
+ currentFile.WriteByte(0);
+ currentFile.Seek(0, SeekOrigin.Begin);
+ currentEntryLength += currentFile.Length;
+ if (currentFile.Length % 512 != 0)
+ currentEntryLength += 512 - (currentFile.Length % 512);
+ header.FileSize = Convert.ToString(currentFile.Length, 8).PadLeft(11, '0');
+ header.LastModificationTime = "0".PadLeft(11, '0');
+ header.FileType = 'L';
+
+ }
+ else if (!header.FileName.EndsWith("/")) // It's a file!
+ {
+ currentFile = new FileStream(entries[currentEntry], FileMode.Open);
+ header.FileMode = "0100644";
+ currentEntryLength += currentFile.Length;
+ if (currentFile.Length % 512 != 0)
+ currentEntryLength += 512 - (currentFile.Length % 512);
+ header.FileSize = Convert.ToString(currentFile.Length, 8).PadLeft(11, '0');
+ header.LastModificationTime = Convert.ToString(
+ (long)new FileInfo(entries[currentEntry]).LastWriteTimeUtc.Subtract(new DateTime(1970, 1, 1)).TotalSeconds
+ , 8).PadLeft(11, '0');
+ header.FileType = '0';
+ }
+ else if (header.FileName.EndsWith("/")) // It's a directory...
+ {
+ header.FileMode = "0040755";
+ header.FileSize = "".PadLeft(11, '0');
+ header.LastModificationTime = Convert.ToString(
+ (long)new DirectoryInfo(entries[currentEntry]).LastWriteTimeUtc.Subtract(new DateTime(1970, 1, 1)).TotalSeconds
+ , 8).PadLeft(11, '0');
+ header.FileType = '5';
+ }
+ header.OwnerID = "0000000";
+ header.GroupID = "0000000";
+ header.UstarMagic = "ustar ";
+ //header.UstarVersion = new char[] {'0', '0'};
+ header.CalcChecksum();
+ currentHeader = header.getBytes();
+ }
+
+ if (currentEntryPosition < 512) // Header
+ {
+ long l = Math.Min(count, 512 - currentEntryPosition);
+ Array.Copy(currentHeader, currentEntryPosition, buffer, offset, l);
+ count -= (int)l;
+ position += l;
+ currentEntryPosition += l;
+ offset += (int)l;
+ }
+ else // Data
+ {
+ long l = Math.Min(count, currentEntryLength - currentEntryPosition);
+ currentFile.Read(buffer, offset, (int)l);
+ count -= (int)l;
+ position += l;
+ currentEntryPosition += l;
+ offset += (int)l;
+ }
+ }
+ OnReadProgress(Position, Length);
+ return origCount - count;
+ }
+
+ public override void Flush()
+ {
+ throw new NotImplementedException();
+ }
+
+ public override long Seek(long offset, SeekOrigin origin)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override void SetLength(long value)
+ {
+ throw new NotImplementedException();
+ }
+
+ public override void Write(byte[] buffer, int offset, int count)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/TaskbarProgress.cs b/TaskbarProgress.cs
index 11ecd945..bd957dd4 100644
--- a/TaskbarProgress.cs
+++ b/TaskbarProgress.cs
@@ -1,5 +1,7 @@
using System;
+using System.Diagnostics;
using System.Runtime.InteropServices;
+using System.Windows.Forms;
public static class TaskbarProgress
{
@@ -47,16 +49,23 @@ public static class TaskbarProgress
{
}
- private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1);
- public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
+ public static void SetState(Form form, TaskbarStates taskbarState)
{
- if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);
+ if (taskbarSupported)
+ {
+ var taskbarInstance = (ITaskbarList3)new TaskbarInstance();
+ taskbarInstance.SetProgressState(form.Handle, taskbarState);
+ }
}
- public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
+ public static void SetValue(Form form, double progressValue, double progressMax)
{
- if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
+ if (taskbarSupported)
+ {
+ var taskbarInstance = (ITaskbarList3)new TaskbarInstance();
+ taskbarInstance.SetProgressValue(form.Handle, (ulong)progressValue, (ulong)progressMax);
+ }
}
} \ No newline at end of file
diff --git a/TrackableFileStream.cs b/TrackableFileStream.cs
new file mode 100644
index 00000000..3ff953dd
--- /dev/null
+++ b/TrackableFileStream.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace com.clusterrr.util
+{
+ public class TrackableFileStream : FileStream
+ {
+ public delegate void OnProgressDelegate(long Position, long Length);
+ public event OnProgressDelegate OnProgress = delegate { };
+
+ public TrackableFileStream(string path, FileMode mode) : base(path, mode) { }
+
+ public override void Write(byte[] array, int offset, int count)
+ {
+ base.Write(array, offset, count);
+ OnProgress(this.Position, this.Length);
+ }
+ public override void WriteByte(byte value)
+ {
+ base.WriteByte(value);
+ OnProgress(this.Position, this.Length);
+ }
+ public override int Read(byte[] array, int offset, int count)
+ {
+ var r = base.Read(array, offset, count);
+ OnProgress(this.Position, this.Length);
+ return r;
+ }
+ public override int ReadByte()
+ {
+ var r = base.ReadByte();
+ OnProgress(this.Position, this.Length);
+ return r;
+ }
+ }
+}
diff --git a/TreeContructorForm.de-De.resx b/TreeContructorForm.de-De.resx
deleted file mode 100644
index 7fb71ada..00000000
--- a/TreeContructorForm.de-De.resx
+++ /dev/null
@@ -1,2151 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="splitContainer.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="splitContainer.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
- </data>
- <data name="treeView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
- <value>Fill</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="treeView.ImageIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
- <data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>
- AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
- LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+
- HAAAAk1TRnQBSQFMAgEBHAEAAdQBAAHUAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
- AwABQAMAAYADAAEBAQABCAYAASAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
- AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
- AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
- AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm
- AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM
- AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA
- ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz
- AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ
- AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM
- AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA
- AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA
- AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ
- AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/
- AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA
- AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm
- ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ
- Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz
- AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA
- AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM
- AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM
- ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM
- Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA
- AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM
- AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ
- AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz
- AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm
- AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw
- AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD//8A/wD/AP8ARgAOKwIA
- DpkiAAErAZoKMgGaASsCAAGZAcMKmgHDAZkiAAErAZoBMghZATIBmgErAgABmQHDCpoBwwGZAgAOEQIA
- Du0CAAErAZoBMghZATIBmgErAgABmQHDCpoBwwGZAgABEQHsCm0B7AERAgAB7QEHCu8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AFtCOwBbQHsARECAAHtAQcB7wgHAe8BBwHtAgABKwGa
- ATIIWQEyAZoBKwIAAZkBwwqaAcMBmQIAAREB7AptAewBEQIAAe0BBwrvAQcB7QIAASsCMghZAjIBKwIA
- AZkMmgGZAQABEQNtAhEEbQIRA20BEQHtA+8C7QTvAu0D7wHtAQACKwoyAisCAAKZCpoCmQEAAREB7QRt
- BBEEbQHtAREB7QG8BO8E7QTvAbwB7QEAASsBmgIyBpoCMgGaASsCAAGZAcMCmgbDApoBwwGZAQABEQ7t
- AREB7Q68Ae0BAAIrATIBKwYyAZoBMgIrAgACmQGaAZkGmgHDAZoCmQIADhECAA7tAgABKwMyBisCMgGa
- ASsCAAGZA5oGmQKaAcMBmSIAASsLmgIrAgABmQvDApkiAAwrBAAMmWYACe8HAAnwBQAObQIADu8DAALv
- AvQDBwL0Au8FAALwAvYD8QL2AvAEAAFtAbwK7QG8AW0CAAHvAfIKvAHyAe8DAAHvBPQBBwT0Ae8FAAHw
- BPYB8QT2AfAEAAFtAbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wMAAe8B9AcnAfQB7wUAAfAB9gft
- AfYB8AQAAW0BvAHtCO8B7QG8AW0CAAHvAfIBvAjxAbwB8gHvAwAB7wH0BycB9AHvBQAB8AH2B+0B9gHw
- BAABbQG8Ae0I7wHtAbwBbQIAAe8B8gG8CPEBvAHyAe8DAAHvAfQHJwH0Ae8FAAHwAfYH7QH2AfAEAAFt
- AbwB7QjvAe0BvAFtAgAB7wHyAbwI8QG8AfIB7wMAAe8B9AcnAfQB7wUAAfAB9gftAfYB8AQAAW0BvAHt
- CO8B7QG8AW0CAAHvAfIBvAjxAbwB8gHvAwAB7wH0BycB9AHvBQAB8AH2B+0B9gHwBAABbQG8Ae0I7wHt
- AbwBbQIAAe8B8gG8CPEBvAHyAe8DAAHvCfQB7wUAAfAJ9gHwBAABbQLtCO8C7QFtAgAB7wK8CPECvAHv
- AwAB7wL0BQAC9AHvBQAB8AL2BewC9gHwBAACbQrtAm0CAALvCrwC7wMAAe8B9AcAAfQB7wUAAfAB9gfs
- AfYB8AQAAW0BvALtBrwC7QG8AW0CAAHvAfICvAbyArwB8gHvAwAB7wH0BwAB9AHvBQAB8AH2B+wB9gHw
- BAACbQHtAW0G7QG8Ae0CbQIAAu8BvAHvBrwB8gG8Au8DAAHvAfQBAAErAQABKwEAASsBAAH0Ae8FAAHw
- AfYB7AGZAewBmQHsAZkB7AH2AfAEAAFtA+0GbQLtAbwBbQIAAe8DvAbvArwB8gHvAwAB7wn/Ae8FAAHw
- Cf8B8AQAAW0LvAJtAgAB7wvyAu8DAAvvBQAL8AQADG0EAAzvwwAQERDtEBEQ7QERDhMBEQHtDvcB7QER
- ARIMEwESAREB7QHvDPcB7wHtAREOEwERAe0O9wHtAREBEgITCA8CEwESAREB7QHvAvcI7AL3Ae8B7QER
- DhMBEQHtDvcB7QERARIBEwIPAhIBDwESAQ8BEgIPARMBEgERAe0B7wH3AuwC7wHsAe8B7AHvAuwB9wHv
- Ae0BEQ4TAREB7Q73Ae0BEQESARMEwwIPAcMBBwFAAcMBEwESAREB7QHvAfcE9gLsAfYB8QEWAfYB9wHv
- Ae0BEQ4VAREB7Q6SAe0BEQESARMCwwG9BMMBoAF6AcMBEwESAREB7QHvAfcC9gHzBPYBwwEaAfYB9wHv
- Ae0BEQ4SAREB7Q7vAe0BEQESARMEwwG9AsMBoAETAcMBEwESAREB7QHvAfcE9gHzAvYBwwH3AfYB9wHv
- Ae0BEQEgBW8IIAERAe0BFgWUCBYB7QERARIBEwHDAr0DwwHzAa0BpgGtARMBEgERAe0B7wH3AfYC8wP2
- AfQBCQG1AQkB9wHvAe0BEQEgAm8LIAERAe0BFgKUCxYB7QERAusGwwG9ARsBrQHDAusBEQHtAgcG9gH0
- AfYBCQH2AgcB7QERDgEBEQHtDpMB7QMRCpkDEQPtChsD7f8AYQAQ7RC8EG0Q7wHtAfEB7wG8Ae8GvAHv
- AbwB7wHxAe0BvAHzAfEB8gHxBvIB8QHyAfEB8wG8AW0B7QHsAe0I7AHtAewB7QFtAe8BvAEHAbwIBwG8
- AQcBvAHvAe0B8QHvAbwB7wEPAkoBSwEPAQ4B7wG8Ae8B8QHtAbwB8wHxAfIB8QHtAu8BmQHtAewB8QHy
- AfEB8wG8AW0D7QjsA+0BbQHvA7wIBwO8Ae8B7QHvArwB7wEPAQ4BuwGgAWYBDgHvArwB7wHtAbwB8QLy
- AfEC7AEZAcMB9wHsAfEC8gHxAbwDbQHtAewB7QHsAm0B7AHtAewB7QNtA+8BvAEHAbwBBwLvAQcBvAEH
- AbwD7wHtAfECvAHvAQ8CAAF5AUMBDwHvArwB8QHtAbwB8wLyAfED7AEaAZIB7AHxAvIB8wG8AW0D7QHs
- Bu0B7APtAW0B7wO8AQcGvAEHA7wB7wHtAfECvAHvAg8BSgEOAQABDgHvArwB8QHtAbwB8wLyAfEB7AHt
- ARwD7AHxAvIB8wG8A20B7QHsBRUBHwHsAe0DbQPvAbwBBwWSAZMBBwG8A+8B7QHxArwB7wIPAbMB7AG0
- Aa0B7wK8AfEB7QG8AfMC8gHxAuwBCQEHAgkB8QLyAfMBvAFtA+0BFQVSAhUD7QFtAe8DvAGSBZkCkgO8
- Ae8B7QHxArwB7wGLAusC+AEPAe8CvAHxAe0BvAHzAvIB8QG7Au8CBwHsAfEC8gHzAbwDbQHtARUFUgIV
- Ae0DbQPvAbwBkgWZApIBvAPvAe0B8wK8Ae8BvAQPAbwB7wK8AfMB7QG8AfQC8gHxAfIE7AHyAfEC8gH0
- AbwBbQPtARUFUgIVA+0BbQHvA7wBkgWZApIDvAHvAu0C8wHvBrwB7wLzAu0CvAL0AfEG8gHxAvQCvAFt
- A7wBFQVSAhUDvAFtAe8D8gGSBZkCkgPyAe8CAALtCPMC7QQAArwI9AK8AgAEbQERBUsCEQRtBO8B7QUc
- Au0E7wQACO0IAAi85QAOKwIADpkiAAErDDIBKwIAAZkMmgGZAgAOSAIADpgCAAErDDIBKwIAAZkMmgGZ
- AgABSAxUAUgCAA6YAgABKwIyASsHmgIyASsCAAGZApoBmQfDApoBmQEAAkgMVAJIEJgBAAErAjIHKwGa
- AjIBKwIAAZkCmgeZAcMCmgGZAQABSA5UAUgQmAEAASsMMgErAgABmQyaAZkBAAFIAVQH8AEzBPABVAFI
- ApgH8wGYBPMCmAEAASsFMgKaBTIBKwIAAZkFmgLDBZoBmQEAAUgBVAczAfABMwPwAVQBSAmYAfMBmAPz
- ApgBAAErBDIBmgIyAZoEMgErAgABmQSaAcMCmgHDBJoBmQEAAUgBVAnwATMB8AEzAVQBSAKYCfMBmAHz
- A5gBAAErAzIBKwEyAv8BMgErAzIBKwIAAZkDmgGZAZoC/wGaAZkDmgGZAQABSAFUAjMI8AEzAfABVAFI
- BJgI8wGYAfMCmAEAASsDMgErBDIBKwMyASsCAAGZA5oBmQSaAZkDmgGZAQABSA5UAUgQmAEAASsBMgEr
- ATIBKwEyAg8BMgErATIBKwEyASsCAAGZAZoBmQGaAZkBmgLsAZoBmQGaAZkBmgGZAQABSA48AUgBmA6e
- AZgBAAErAzIBKwEyAg8BMgErAzIBKwIAAZkDmgGZAZoC7AGaAZkDmgGZAgAOSAIADpgCAAErATIDmgQy
- A5oBMgErAgABmQGaA8MEmgPDAZoBmSIAASsBmgMrBJoDKwGaASsCAAGZAcMDmQTDA5kBwwGZIgACKwMA
- BCsDAAIrAgACmQMABJkDAAKZQwAMkgQADLwDAA4SAgAO7wIAApIKBwKSAgACvAryArwCAAESAe0CvAnt
- ARICAAHvAbwC8gm8Ae8CAAGSBQcCkgUHAZICAAG8BfICvAXyAbwCAAESAe0CEgntARICAAHvAbwC7wm8
- Ae8CAAGSAgcCkgEHApIBBwKSAgcBkgIAAbwC8gK8AfICvAHyArwC8gG8AQABEgLtArwC7QESB+0BEgHv
- ArwC8gK8Ae8HvAHvAQABkgIHCJICBwGSAgABvALyCLwC8gG8AQABEgLtAhIK7QESAe8CvALvCrwB7wEA
- AZIDBwKSAgcCkgMHAZICAAG8A/ICvALyArwD8gG8AQABEgLtArwB7QdtAu0BEgHvArwC8gG8B+8CvAHv
- AQABkgEHA5IEBwOSAQcBkgIAAbwB8gO8BPIDvAHyAbwBAAESAu0CEgHtB20C7QESAe8CvALvAbwH7wK8
- Ae8BAAGSAQcDkgQHA5IBBwGSAgABvAHyA7wE8gO8AfIBvAEAARIC7QK8Ae0HbQLtARIB7wK8AvIBvAfv
- ArwB7wEAAZIDBwKSAgcCkgMHAZICAAG8A/ICvALyArwD8gG8AQABEgLtAhIB7QdtAu0BEgHvArwC7wG8
- B+8CvAHvAQABkgIHCJICBwGSAgABvALyCLwC8gG8AQABEgLtArwB7QdtAu0BEgHvArwC8gG8B+8CvAHv
- AQABkgIHApIBBwKSAQcBkgPsAZICAAG8AvICvAHyArwB8gG8AwcBvAEAARIC7QISAe0HbQLtARIB7wK8
- Au8BvAfvArwB7wEAAZIFBwKSAQcD7AGSAwABvAXyArwB8gMHAbwCAAESAu0CvAHtB20C7QESAe8CvALy
- AbwH7wK8Ae8BAAGSAfAHBwLsAZIEAAG8AfMH8gIHAbwDAAESAu0CDwHtB20C7QESAe8CvALsAbwH7wK8
- Ae8BAAKSB/AB7AGSBQACvAfzAQcBvAQAARICvAISAbwHbQK8ARIB7wLyAu8B8gfvAvIB7wIACZIHAAm8
- BQADEgIPARIHDwMSA+8C7AHvB+wD72EADhICAA7vAgAOtAIADrwCAAESAe0CvAntARICAAHvAbwC8gm8
- Ae8CAAG0DAkBtAIAAbwM8gG8AgABEgHtAhIJ7QESAgAB7wG8Au8JvAHvAgABtAwJAbQCAAG8DPIBvAEA
- ARIC7QK8Au0BEgftARIB7wK8AvICvAHvB7wB7wEAAbQMCQG0AgABvAzyAbwBAAESAu0CEgrtARIB7wK8
- Au8KvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0HMgLtARIB7wK8AvIBvAeaArwB7wG0DgkBtAG8DvIBvAES
- Au0CEgHtAjIChgGLAjIC7QESAe8CvALvAbwCmgO1ApoCvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0COAGL
- ARIBGgETATgC7QESAe8CvALyAbwCmgG7Ae8BGwH3AZoCvAHvAbQOCQG0AbwO8gG8ARIC7QISAe0COAFu
- AZMBGgEcATgC7QESAe8CvALvAbwCmgEHAbwB8wHwAZoCvAHvAbQOCQG0AbwO8gG8ARIC7QK8Ae0EOAIX
- ATgC7QESAe8CvALyAbwEoAKUAaACvAHvB7QICQG0B7wI8gG8ARIC7QISAe0FOAGUATgC7QESAe8CvALv
- AbwFoAG9AaACvAHvAQAFrgq0AQAFBwq8ARIC7QK8Ae0B+wHTAfsB0wP7Au0BEgHvArwC8gG8AaAB3AGg
- AdwDoAK8Ae8BAA6uAgAOBwEAARIC7QIPAe0B+wHTAfsD0wH7Au0BEgHvArwC7AG8AaAB3AGgA9wBoAK8
- Ae8CAAWuCwAFBwkAARICvAISAbwH+wK8ARIB7wLyAu8B8gegAvIB7yAAAxICDwESBzADEgPvAuwB7weZ
- A+8BQgFNAT4HAAE+AwABKAMAAUADAAGAAwABAQEAAQEGAAEEFgAD/4EACP8BgAEBAYABAQT/AYABAQGA
- AQEE/wGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
- AYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBBAABgAEBAYABAQQA
- AYABAQGAAQEEAAGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQT/AYABAQGAAQEE/wGAAQcBgAEHDP8B4AEP
- AeABDwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEB
- AcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEB
- AYABAQHAAQcBwAEHAYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEH
- AYABAQGAAQEBwAEHAcABBwGAAQEBgAEBAcABBwHAAQcBgAEBAYABAQHAAQcBwAEHAYABBwGAAQcY/1AA
- LP9QAAHAAQMBwAEDBAAB8AEPAfABDxz/AYABAQGAAQEE/wGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGA
- AQEBgAEBAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB
- AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQGAAQEBgAEBAYABAQGAAQEE/wGAAQEBgAEB
- BP8BnAE5AZwBOQj/AcABAwHAAQMBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEB
- AYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQA
- AYABAQGAAQEEAAGAAQEBgAEBBAABgAEDAYABAwQAAYABBwGAAQcEAAGAAQ8BgAEPBAABwAEfAcABHwQA
- DP8BgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEBgAEBAYABAQGAAQEEAAGAAQEBgAEB
- NAABgAEAAYAFAAGAAQEBgAEBBAABwQH/AcEB/wQABP8EAAs=
-</value>
- </data>
- <data name="treeView.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 0</value>
- </data>
- <data name="treeView.SelectedImageIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="treeView.Size" type="System.Drawing.Size, System.Drawing">
- <value>280, 475</value>
- </data>
- <data name="treeView.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="&gt;&gt;treeView.Name" xml:space="preserve">
- <value>treeView</value>
- </data>
- <data name="&gt;&gt;treeView.Type" xml:space="preserve">
- <value>System.Windows.Forms.TreeView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;treeView.Parent" xml:space="preserve">
- <value>splitContainer.Panel1</value>
- </data>
- <data name="&gt;&gt;treeView.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel1.Name" xml:space="preserve">
- <value>splitContainer.Panel1</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel1.Type" xml:space="preserve">
- <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel1.Parent" xml:space="preserve">
- <value>splitContainer</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel1.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="comboBoxPosition.Items" xml:space="preserve">
- <value>Leftmost</value>
- </data>
- <data name="comboBoxPosition.Items1" xml:space="preserve">
- <value>Left to the games</value>
- </data>
- <data name="comboBoxPosition.Items2" xml:space="preserve">
- <value>Right to the games</value>
- </data>
- <data name="comboBoxPosition.Items3" xml:space="preserve">
- <value>Rightmost</value>
- </data>
- <data name="comboBoxPosition.Location" type="System.Drawing.Point, System.Drawing">
- <value>127, 242</value>
- </data>
- <data name="comboBoxPosition.Size" type="System.Drawing.Size, System.Drawing">
- <value>126, 21</value>
- </data>
- <data name="comboBoxPosition.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;comboBoxPosition.Name" xml:space="preserve">
- <value>comboBoxPosition</value>
- </data>
- <data name="&gt;&gt;comboBoxPosition.Type" xml:space="preserve">
- <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;comboBoxPosition.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;comboBoxPosition.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="labelPosition.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="labelPosition.Location" type="System.Drawing.Point, System.Drawing">
- <value>10, 245</value>
- </data>
- <data name="labelPosition.Size" type="System.Drawing.Size, System.Drawing">
- <value>111, 13</value>
- </data>
- <data name="labelPosition.TabIndex" type="System.Int32, mscorlib">
- <value>21</value>
- </data>
- <data name="labelPosition.Text" xml:space="preserve">
- <value>Ordner Position Priorität:</value>
- </data>
- <data name="&gt;&gt;labelPosition.Name" xml:space="preserve">
- <value>labelPosition</value>
- </data>
- <data name="&gt;&gt;labelPosition.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelPosition.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;labelPosition.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonNewFolder.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonNewFolder.Location" type="System.Drawing.Point, System.Drawing">
- <value>394, 243</value>
- </data>
- <data name="buttonNewFolder.Size" type="System.Drawing.Size, System.Drawing">
- <value>100, 21</value>
- </data>
- <data name="buttonNewFolder.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="buttonNewFolder.Text" xml:space="preserve">
- <value>Neuer Ordner</value>
- </data>
- <data name="&gt;&gt;buttonNewFolder.Name" xml:space="preserve">
- <value>buttonNewFolder</value>
- </data>
- <data name="&gt;&gt;buttonNewFolder.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNewFolder.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;buttonNewFolder.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="listViewContent.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Bottom, Left, Right</value>
- </data>
- <data name="listViewContent.Location" type="System.Drawing.Point, System.Drawing">
- <value>2, 269</value>
- </data>
- <data name="listViewContent.Size" type="System.Drawing.Size, System.Drawing">
- <value>492, 206</value>
- </data>
- <data name="listViewContent.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <data name="&gt;&gt;listViewContent.Name" xml:space="preserve">
- <value>listViewContent</value>
- </data>
- <data name="&gt;&gt;listViewContent.Type" xml:space="preserve">
- <value>System.Windows.Forms.ListView, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;listViewContent.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;listViewContent.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="groupBoxSplitModes.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Name" xml:space="preserve">
- <value>buttonNoFoldersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Name" xml:space="preserve">
- <value>buttonNoFolders</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Name" xml:space="preserve">
- <value>buttonFoldersLetters</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Name" xml:space="preserve">
- <value>buttonFoldersEquallyOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Name" xml:space="preserve">
- <value>buttonFoldersLettersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Name" xml:space="preserve">
- <value>buttonFoldersEqually</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="groupBoxSplitModes.Location" type="System.Drawing.Point, System.Drawing">
- <value>240, 12</value>
- </data>
- <data name="groupBoxSplitModes.Size" type="System.Drawing.Size, System.Drawing">
- <value>254, 227</value>
- </data>
- <data name="groupBoxSplitModes.TabIndex" type="System.Int32, mscorlib">
- <value>17</value>
- </data>
- <data name="groupBoxSplitModes.Text" xml:space="preserve">
- <value>Erstelle Ordnerstruktur automatisch</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Name" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;groupBoxSplitModes.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="groupBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>13, 12</value>
- </data>
- <data name="groupBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>221, 227</value>
- </data>
- <data name="groupBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>16</value>
- </data>
- <data name="groupBoxArt.Text" xml:space="preserve">
- <value>Menu Icon</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Name" xml:space="preserve">
- <value>groupBoxArt</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.Parent" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;groupBoxArt.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Name" xml:space="preserve">
- <value>splitContainer.Panel2</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Type" xml:space="preserve">
- <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.Parent" xml:space="preserve">
- <value>splitContainer</value>
- </data>
- <data name="&gt;&gt;splitContainer.Panel2.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="splitContainer.Panel2MinSize" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="splitContainer.Size" type="System.Drawing.Size, System.Drawing">
- <value>784, 475</value>
- </data>
- <data name="splitContainer.SplitterDistance" type="System.Int32, mscorlib">
- <value>280</value>
- </data>
- <data name="splitContainer.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
- </data>
- <data name="&gt;&gt;splitContainer.Name" xml:space="preserve">
- <value>splitContainer</value>
- </data>
- <data name="&gt;&gt;splitContainer.Type" xml:space="preserve">
- <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;splitContainer.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;splitContainer.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="buttonNoFoldersOriginal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonNoFoldersOriginal.Location" type="System.Drawing.Point, System.Drawing">
- <value>129, 22</value>
- </data>
- <data name="buttonNoFoldersOriginal.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonNoFoldersOriginal.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="buttonNoFoldersOriginal.Text" xml:space="preserve">
- <value>Originale Spiele -&gt; Andere Spiele</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Name" xml:space="preserve">
- <value>buttonNoFoldersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFoldersOriginal.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="buttonNoFolders.Location" type="System.Drawing.Point, System.Drawing">
- <value>13, 22</value>
- </data>
- <data name="buttonNoFolders.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonNoFolders.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="buttonNoFolders.Text" xml:space="preserve">
- <value>Keine Ordner</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Name" xml:space="preserve">
- <value>buttonNoFolders</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonNoFolders.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonFoldersLetters.Location" type="System.Drawing.Point, System.Drawing">
- <value>13, 154</value>
- </data>
- <data name="buttonFoldersLetters.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonFoldersLetters.TabIndex" type="System.Int32, mscorlib">
- <value>8</value>
- </data>
- <data name="buttonFoldersLetters.Text" xml:space="preserve">
- <value>Splitte nach dem 1. Buchstaben</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Name" xml:space="preserve">
- <value>buttonFoldersLetters</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLetters.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Location" type="System.Drawing.Point, System.Drawing">
- <value>129, 88</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.TabIndex" type="System.Int32, mscorlib">
- <value>7</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Text" xml:space="preserve">
- <value>Originale Spiele -&gt; Splitte gleichmäßig</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Name" xml:space="preserve">
- <value>buttonFoldersEquallyOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEquallyOriginal.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Location" type="System.Drawing.Point, System.Drawing">
- <value>129, 154</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonFoldersLettersOriginal.TabIndex" type="System.Int32, mscorlib">
- <value>9</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Text" xml:space="preserve">
- <value>Originale Spiele -&gt; Splitte nach dem 1. Buchstaben</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Name" xml:space="preserve">
- <value>buttonFoldersLettersOriginal</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersLettersOriginal.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="buttonFoldersEqually.Location" type="System.Drawing.Point, System.Drawing">
- <value>13, 88</value>
- </data>
- <data name="buttonFoldersEqually.Size" type="System.Drawing.Size, System.Drawing">
- <value>110, 60</value>
- </data>
- <data name="buttonFoldersEqually.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="buttonFoldersEqually.Text" xml:space="preserve">
- <value>Splitte gleichmäßig</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Name" xml:space="preserve">
- <value>buttonFoldersEqually</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.Parent" xml:space="preserve">
- <value>groupBoxSplitModes</value>
- </data>
- <data name="&gt;&gt;buttonFoldersEqually.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="pictureBoxArt.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
- </data>
- <data name="pictureBoxArt.Location" type="System.Drawing.Point, System.Drawing">
- <value>9, 15</value>
- </data>
- <data name="pictureBoxArt.Size" type="System.Drawing.Size, System.Drawing">
- <value>203, 203</value>
- </data>
- <data name="pictureBoxArt.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
- <value>Zoom</value>
- </data>
- <data name="pictureBoxArt.TabIndex" type="System.Int32, mscorlib">
- <value>14</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Name" xml:space="preserve">
- <value>pictureBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Type" xml:space="preserve">
- <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.Parent" xml:space="preserve">
- <value>groupBoxArt</value>
- </data>
- <data name="&gt;&gt;pictureBoxArt.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <metadata name="contextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>120, 17</value>
- </metadata>
- <data name="newFolderToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+N</value>
- </data>
- <data name="newFolderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>210, 22</value>
- </data>
- <data name="newFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Erstelle neuen Ordner</value>
- </data>
- <data name="renameToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>F2</value>
- </data>
- <data name="renameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
- </data>
- <data name="renameToolStripMenuItem.Text" xml:space="preserve">
- <value>Ordner umbenennen</value>
- </data>
- <data name="toolStripMenuItemSep.Size" type="System.Drawing.Size, System.Drawing">
- <value>164, 6</value>
- </data>
- <data name="cutToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+X</value>
- </data>
- <data name="cutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
- </data>
- <data name="cutToolStripMenuItem.Text" xml:space="preserve">
- <value>Ausschneiden</value>
- </data>
- <data name="pasteToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Ctrl+V</value>
- </data>
- <data name="pasteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
- </data>
- <data name="pasteToolStripMenuItem.Text" xml:space="preserve">
- <value>Einfügen</value>
- </data>
- <data name="deleteToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
- <value>Del</value>
- </data>
- <data name="deleteToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
- <value>170, 22</value>
- </data>
- <data name="deleteToolStripMenuItem.Text" xml:space="preserve">
- <value>Löschen</value>
- </data>
- <data name="contextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
- <value>211, 142</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Name" xml:space="preserve">
- <value>contextMenuStrip</value>
- </data>
- <data name="&gt;&gt;contextMenuStrip.Type" xml:space="preserve">
- <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="labelElementCount.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="labelElementCount.Location" type="System.Drawing.Point, System.Drawing">
- <value>12, 13</value>
- </data>
- <data name="labelElementCount.Size" type="System.Drawing.Size, System.Drawing">
- <value>79, 13</value>
- </data>
- <data name="labelElementCount.TabIndex" type="System.Int32, mscorlib">
- <value>19</value>
- </data>
- <data name="labelElementCount.Text" xml:space="preserve">
- <value>Ordnerstatistik</value>
- </data>
- <data name="&gt;&gt;labelElementCount.Name" xml:space="preserve">
- <value>labelElementCount</value>
- </data>
- <data name="&gt;&gt;labelElementCount.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;labelElementCount.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;labelElementCount.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="panel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
- <value>Bottom</value>
- </data>
- <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
- <value>0, 474</value>
- </data>
- <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
- <value>784, 38</value>
- </data>
- <data name="panel2.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="&gt;&gt;panel2.Name" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;panel2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Panel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;panel2.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonCancel.Location" type="System.Drawing.Point, System.Drawing">
- <value>678, 7</value>
- </data>
- <data name="buttonCancel.Size" type="System.Drawing.Size, System.Drawing">
- <value>100, 25</value>
- </data>
- <data name="buttonCancel.TabIndex" type="System.Int32, mscorlib">
- <value>11</value>
- </data>
- <data name="buttonCancel.Text" xml:space="preserve">
- <value>Abbrechen</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Name" xml:space="preserve">
- <value>buttonCancel</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonCancel.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonCancel.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="buttonOk.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
- <value>Top, Right</value>
- </data>
- <data name="buttonOk.Location" type="System.Drawing.Point, System.Drawing">
- <value>572, 7</value>
- </data>
- <data name="buttonOk.Size" type="System.Drawing.Size, System.Drawing">
- <value>100, 25</value>
- </data>
- <data name="buttonOk.TabIndex" type="System.Int32, mscorlib">
- <value>10</value>
- </data>
- <data name="buttonOk.Text" xml:space="preserve">
- <value>OK</value>
- </data>
- <data name="&gt;&gt;buttonOk.Name" xml:space="preserve">
- <value>buttonOk</value>
- </data>
- <data name="&gt;&gt;buttonOk.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;buttonOk.Parent" xml:space="preserve">
- <value>panel2</value>
- </data>
- <data name="&gt;&gt;buttonOk.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>784, 512</value>
- </data>
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
- <value>700, 550</value>
- </data>
- <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
- <value>CenterParent</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Ordner Manager</value>
- </data>
- <data name="&gt;&gt;imageList.Name" xml:space="preserve">
- <value>imageList</value>
- </data>
- <data name="&gt;&gt;imageList.Type" xml:space="preserve">
- <value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;newFolderToolStripMenuItem.Name" xml:space="preserve">
- <value>newFolderToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;newFolderToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;renameToolStripMenuItem.Name" xml:space="preserve">
- <value>renameToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;renameToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItemSep.Name" xml:space="preserve">
- <value>toolStripMenuItemSep</value>
- </data>
- <data name="&gt;&gt;toolStripMenuItemSep.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;cutToolStripMenuItem.Name" xml:space="preserve">
- <value>cutToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;cutToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;pasteToolStripMenuItem.Name" xml:space="preserve">
- <value>pasteToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;pasteToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;deleteToolStripMenuItem.Name" xml:space="preserve">
- <value>deleteToolStripMenuItem</value>
- </data>
- <data name="&gt;&gt;deleteToolStripMenuItem.Type" xml:space="preserve">
- <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>TreeContructorForm</value>
- </data>
- <data name="&gt;&gt;$this.Type" xml:space="preserve">
- <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
-</root> \ No newline at end of file
diff --git a/TreeContructorForm.pl-PL.resx b/TreeContructorForm.pl-PL.resx
deleted file mode 100644
index dc36aae2..00000000
--- a/TreeContructorForm.pl-PL.resx
+++ /dev/null
@@ -1,1313 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <data name="comboBoxPosition.Items" xml:space="preserve">
- <value>Od samej lewej</value>
- </data>
- <data name="buttonNewFolder.Text" xml:space="preserve">
- <value>Nowy folder</value>
- </data>
- <data name="buttonCancel.Text" xml:space="preserve">
- <value>Anuluj</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Menadżer Folderów</value>
- </data>
- <data name="renameToolStripMenuItem.Text" xml:space="preserve">
- <value>Zmień nazwę folderu</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="comboBoxPosition.Items1" xml:space="preserve">
- <value>Od lewej do gier</value>
- </data>
- <data name="groupBoxSplitModes.Text" xml:space="preserve">
- <value>Utwórz strukturę katalogów automatycznie</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Text" xml:space="preserve">
- <value>Oryginalne gry -&gt; Podziel po równo</value>
- </data>
- <data name="labelElementCount.Text" xml:space="preserve">
- <value>Statystyki folderów</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Text" xml:space="preserve">
- <value>Oryginalne gry -&gt; Podziel alfabetycznie</value>
- </data>
- <data name="groupBoxArt.Text" xml:space="preserve">
- <value>Ikona menu</value>
- </data>
- <data name="buttonNoFoldersOriginal.Text" xml:space="preserve">
- <value>Oryginalne gry -&gt; Inne gry</value>
- </data>
- <data name="comboBoxPosition.Items3" xml:space="preserve">
- <value>Od samej prawej</value>
- </data>
- <data name="buttonFoldersEqually.Text" xml:space="preserve">
- <value>Podziel po równo</value>
- </data>
- <data name="newFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Utwórz nowy folder</value>
- </data>
- <data name="deleteToolStripMenuItem.Text" xml:space="preserve">
- <value>Usuń folder</value>
- </data>
- <data name="buttonNoFolders.Text" xml:space="preserve">
- <value>Bez folderów</value>
- </data>
- <data name="comboBoxPosition.Items2" xml:space="preserve">
- <value>Od prawej do gier</value>
- </data>
- <data name="buttonFoldersLetters.Text" xml:space="preserve">
- <value>Podziel alfabetycznie</value>
- </data>
- <data name="labelPosition.Text" xml:space="preserve">
- <value>Pozycja folderów - kolejność:</value>
- </data>
-</root> \ No newline at end of file
diff --git a/TreeContructorForm.ru-RU.resx b/TreeContructorForm.ru-RU.resx
deleted file mode 100644
index 4bce8485..00000000
--- a/TreeContructorForm.ru-RU.resx
+++ /dev/null
@@ -1,1316 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <data name="comboBoxPosition.Items" xml:space="preserve">
- <value>Ð¡Ð°Ð¼Ð°Ñ Ð»ÐµÐ²Ð°Ñ</value>
- </data>
- <data name="comboBoxPosition.Items1" xml:space="preserve">
- <value>Слева от игр</value>
- </data>
- <data name="comboBoxPosition.Items2" xml:space="preserve">
- <value>Справа от игр</value>
- </data>
- <data name="comboBoxPosition.Items3" xml:space="preserve">
- <value>Ð¡Ð°Ð¼Ð°Ñ Ð¿Ñ€Ð°Ð²Ð°Ñ</value>
- </data>
- <data name="labelPosition.Text" xml:space="preserve">
- <value>Положение папки:</value>
- </data>
- <data name="buttonNewFolder.Text" xml:space="preserve">
- <value>ÐÐ¾Ð²Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°</value>
- </data>
- <data name="buttonNoFoldersOriginal.Text" xml:space="preserve">
- <value>Оригинальные игры -&gt; Другие игры</value>
- </data>
- <data name="buttonNoFolders.Text" xml:space="preserve">
- <value>Без папок</value>
- </data>
- <data name="buttonFoldersLetters.Text" xml:space="preserve">
- <value>Разделить по первым буквам</value>
- </data>
- <data name="buttonFoldersEquallyOriginal.Text" xml:space="preserve">
- <value>Оригинальные игры -&gt; Разделить поровну</value>
- </data>
- <data name="buttonFoldersLettersOriginal.Text" xml:space="preserve">
- <value>Оригинальные игры -&gt; разделить по первым буквам</value>
- </data>
- <data name="buttonFoldersEqually.Text" xml:space="preserve">
- <value>Разделить поровну</value>
- </data>
- <data name="groupBoxSplitModes.Text" xml:space="preserve">
- <value>Создать дерево автоматичеÑки</value>
- </data>
- <data name="groupBoxArt.Text" xml:space="preserve">
- <value>Иконка в меню</value>
- </data>
- <data name="newFolderToolStripMenuItem.Text" xml:space="preserve">
- <value>Создать новую папку</value>
- </data>
- <data name="renameToolStripMenuItem.Text" xml:space="preserve">
- <value>Переименовать папку</value>
- </data>
- <data name="cutToolStripMenuItem.Text" xml:space="preserve">
- <value>Вырезать</value>
- </data>
- <data name="pasteToolStripMenuItem.Text" xml:space="preserve">
- <value>Ð’Ñтавить</value>
- </data>
- <data name="deleteToolStripMenuItem.Text" xml:space="preserve">
- <value>Удалить</value>
- </data>
- <data name="buttonCancel.Text" xml:space="preserve">
- <value>Отмена</value>
- </data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>
- AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAfQAA
- AMIAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADCAAAAfQAAACIAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAOkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA6QAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIEAAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AIEAAAAAAAAAAAAAAAAAAABdAAAA/wAAAP8AAAD/AAAA/wAAAP8GBgX/Dg0M/w4NDP8ODQz/Dg0M/w4N
- DP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQz/Dg0M/w4NDP8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/w8ODf8PDg3/Dw4N/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw8O/xAPDv8QDw7/EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EBAP/xAQD/8REA//ERAQ/xEQEP8REBD/ERAQ/xEQEP8RERD/EREQ/xER
- EP8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/EhER/xIREf8SERH/ERER/xER
- EP8RERD/EREQ/xEQEP8REBD/ERAQ/xEQEP8REBD/ERAQ/xEQEP8REA//EBAP/xAQD/8QEA//EA8P/xAP
- D/8QDw//EA8P/xAPD/8QDw//EA8O/xAPDv8PDw7/Dw8O/w8ODv8PDg7/Dw4O/w8ODv8PDg7/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8ODg3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4NDf8ODQ3/Dg0N/w4N
- Df8ODQ3/Dg4N/wYGBv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAF0AAAAAAAAAEQAAAN0AAAD/AAAA/wAA
- AP8ODQz/WVFN/4d9d/+PhH7/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46Eff+OhH3/joR9/46E
- ff+OhH3/joR9/4+Efv+QhX//kYeB/5OIgv+UiYT/lYuE/5aMhv+WjYf/mI6J/5mPiv+akIv/nJKN/52T
- jf+elY//n5aQ/6CWkv+hmJP/opmV/6Oalv+lnJf/pp2Y/6eemf+ooJv/qaCd/6qhnv+ro5//rKSg/62m
- of+vp6P/sKik/7Gppv+yqqf/s6yo/7Stqf+1rqv/trCs/7ixrv+5sq//urOw/7y0sv+8trL/vbe0/723
- tP+8trP/vLWy/7q0sv+6s7D/ubKv/7iyrv+3sa3/tq+r/7Wuqv+0ran/s6yo/7KrqP+yqqf/sail/7Co
- pP+vqKP/rqai/62lof+spKD/q6Of/6qinv+poZ3/qKCb/6ifmv+mnpn/pZ2Y/6Wcl/+jm5b/opqV/6GZ
- lP+gl5P/oJaS/5+Wkf+elY//nZSO/5yTjf+bkoz/mpGL/5mQiv+Yjon/l42I/5aNhv+WjIX/lYuE/5SK
- hP+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TiYP/k4mD/5OJg/+TioP/jIJ8/1tVUf8ODQ3/AAAA/wAA
- AP8AAAD/AAAA3QAAABEAAABmAAAA/wAAAP8AAAD/CwsK/3lxa/+mmZL/oJOM/5+Si/+fkov/n5KL/5+S
- i/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/n5KL/5+Si/+fkov/oJOM/6GUjf+ilo//pJeQ/6WY
- kv+mm5P/p5yV/6idl/+qn5n/q6Ca/6yhm/+uo53/r6Se/7CmoP+xp6H/sqij/7SqpP+1q6b/tqyn/7iu
- qf+6r6r/u7Cr/7yyrf++s6//v7Sw/8C3sf/BuLT/wrq1/8S7t//Fvbj/xr66/8i/u//Jwb3/ysK+/8vD
- wP/MxcH/zsbD/8/IxP/QycX/0srH/9PMyP/Uzcr/1M3K/9PMyf/Sy8j/0crH/9DJxf/PyMT/zsfD/83G
- wv/MxMD/y8O//8rCvv/Jwb3/yMC8/8e/u//Gvbn/xb24/8S8t//Durb/wrm1/8G4tP/At7H/v7Ww/760
- r/+8sq3/vLGs/7qwq/+4r6r/uK6p/7atp/+1rKb/tKul/7OppP+yqKP/saei/7CmoP+vpZ//rqSe/62j
- nP+sopv/q6Ga/6qfmf+pnpj/qJ2V/6eclP+mm5P/pZqS/6SYkf+kmJH/pJiR/6SYkf+kmJH/pJiR/6SY
- kf+kmJH/pJiR/6SYkf+lmZL/q5+Y/351cP8LCwr/AAAA/wAAAP8AAAD/AAAAZgAAANsAAAD/AAAA/wAA
- AP9JQ0D/pJeQ/6KWkP+vpZ7/r6Wf/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+lnv+vpZ7/r6We/6+l
- nv+vpZ7/r6We/6+knv+wpZ//sKag/7Goof+zqKL/tKmk/7Wrpf+1rKb/tq2n/7iuqf+5r6n/urCq/7ux
- rP+8sq3/vbSu/721r/++tbH/wLey/8G4s//CubT/w7q2/8S7tv/FvLf/xr65/8e+u//Iv7v/ycG8/8rC
- vv/Kw7//zMTA/83Gwf/Ox8P/z8fD/9DJxf/Rysb/0srI/9PMyP/Uzcr/1c/L/9bPzP/X0M3/2NLO/9nT
- 0P/Z09D/2NLP/9fRzv/X0M3/1s/L/9XPy//Uzsr/083J/9LLyP/Sysf/0crG/9DJxf/PyMT/z8fD/87G
- wv/NxsH/zMXA/8vDv//Kwr//ysK+/8nBvP/IwLv/x7+6/8a9uf/Gvbj/xLy3/8O7tv/Durb/wrq0/8G5
- s//AuLP/v7ay/761sf+9tbD/vbSu/7yzrv+7sq3/urGr/7qxqv+5sKn/uK6p/7etqP+2rab/taym/7Wr
- pf+0qqT/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqaP/s6mj/7Opo/+zqqP/tKqk/7OppP+nnJb/qZ2W/0tG
- Q/8AAAD/AAAA/wAAAP8AAADYAAAA/wAAAP8AAAD/AAAA/3BoY/+5sKn/x763/8G3rv+5rqT/uK2j/7it
- o/+4raP/uK2j/7ito/+4raP/uK2j/7mto/+5raP/ua2j/7mtpP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+6rqX/uq+l/7qvpf+6r6X/uq+l/7qvpf+6r6X/u6+m/7uvpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uw
- p/+8sKf/vLGn/7yxp/+8saf/vLGn/7yxp/+8saj/vLGo/7yyqP+8sqj/vbKo/72yqP+9sqj/vbKp/72y
- qf+9sqn/vbOp/76zqf++s6n/vrOp/76zqv++s6r/vrOq/760qv++tKr/vrSq/760qv++tKr/vrOq/76z
- qv++s6r/vrOp/76zqf++s6n/vrOp/72zqf+9sqn/vbKp/72yqf+9sqj/vbKo/72yqP+9sqj/vLGo/7yx
- qP+8saf/vLGn/7yxp/+8saf/vLGn/7ywp/+7sKf/u7Cm/7uwpv+7sKb/u7Cm/7uwpv+7sKb/u7Cm/7uv
- pv+6r6X/uq+l/7qvpf+6r6X/uq+l/7qvpf+6rqX/uq6k/7mupP+5rqT/ua6k/7mupP+5rqT/ua6k/7mu
- pP+5rqT/ua2k/7mto/+5rqT/wriv/8nAuP+9tK3/dGxn/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/ioJ9/7yxpv+dkIb/mo6F/52QiP+ekYn/n5KK/6CUi/+hlYz/opaO/6KXj/+jl5D/pZmR/6aa
- kv+nm5P/qJyV/6mdlv+pnpf/qp+Y/6ugmf+topr/rqOb/6+jnf+wpZ7/sKWf/7GnoP+yqKH/s6mi/7Sq
- o/+1q6X/tqyl/7etpv+4rqj/ua+p/7qwqv+7saz/vLKs/72zrv++ta//vraw/8C3sf/BuLL/wriz/8O6
- tP/Eu7X/xLy2/8W9uP/Gvrn/x7+6/8nAu//Jwbz/ysO9/8vEv//MxcD/zcbB/87Gwv/Px8P/0MnE/9HK
- xf/Ry8f/08zI/9TNyf/Vzsr/1s/K/9XOyv/Uzcn/0szI/9LLxv/RycX/0MjE/8/Hw//NxsH/zMXB/8zE
- wP/Lw77/ysK9/8nBvP/Iv7r/x7+6/8a+uP/FvLf/xLu2/8O6tf/CubP/wbiz/8C3sf+/trD/vrWv/720
- rf+8s6z/u7Ks/7qxqv+5sKn/uK+o/7etpv+2rKX/taul/7Sqo/+zqaL/sqih/7GnoP+wpp//r6Se/66j
- nP+to5v/rKGa/6ugmf+qn5j/qZ6X/6mdlv+onJT/ppuT/6Wakv+kmZH/o5eQ/6KWj/+glIv/oZSK/72x
- qP+MhYD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wICAv+If3j/oJKJ/56Tjf+flI3/oJSN/6GV
- j/+il5D/o5iR/6SZkv+lmpT/p5uV/6iclv+qn5n/q6Ca/6yhm/+to53/rqSe/6+ln/+wpqH/saei/7Op
- o/+0qqT/taum/7asp/+3raj/uK+p/7mwq/+6saz/vLKu/721sP++trH/v7ey/8G4tP/CubX/w7q2/8S8
- uP/Fvbn/xr66/8fAvP/Iwb3/ysK+/8vDv//MxMD/zcbC/87Hw//PyMT/0MnH/9HKyP/Sy8n/1M7L/9TP
- zP/V0c3/2NLP/9nT0P/a1NH/29XT/9zW1P/d2NX/3tnW/9/a2P/h29n/4tza/+Pd2//k39z/497b/+Lc
- 2v/g29n/39rX/97Y1v/d19X/3NbT/9rV0v/Z09H/2dLQ/9fRzv/W0M3/1c/L/9TNyv/TzMn/0svH/9DJ
- xv/PyMX/zsfE/83Gwv/MxcH/y8O//8rCvv/Jwb3/xsC7/8W+uv/Evbn/w7y3/8K7tv/BurX/v7iz/763
- sv+9trH/vLOv/7uyrv+6sa3/ubCr/7ivqv+2ran/taym/7Srpv+zqaX/sqik/7Gnof+wpqH/r6Wg/66k
- nf+sopz/q6Gb/6qgmf+pnpj/qJ2X/6aclv+lm5T/pJiO/4mAef8BAQL/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AQEA/3huZ/+glI3/oJWO/62knv+1q6b/tayn/7Wtp/+2raj/t66o/7ivqv+4r6r/ubCr/7qx
- rP+7sq3/u7Kt/7yzr/+9tK//vbWw/762sf+/trL/wLiz/8G4tP/CubX/wrq1/8O6tv/EvLf/xLy4/8W9
- uf/Gvrr/xr+7/8fAvP/Iwb3/ycK+/8rDv//Lw8D/zMXB/8zGwv/NxsP/zsjE/8/Ixf/Qycb/0crH/9LL
- yP/SzMn/083K/9TOy//Vz8z/1tDN/9fRzv/Y0s//2NPQ/9nU0f/b1dP/3NbT/93X1P/d2Nb/3tnX/9/b
- 2P/g29n/4dza/+Pd2//k3tz/5N/d/+Xh3v/k4N3/497c/+Hd2//g3Nn/39rY/97Y1//d2NX/29bT/9rV
- 0//a1NH/2NLQ/9fRzv/W0M3/1c7L/9TNyv/TzMn/0cvH/9DJxv/PyMX/zsfD/83Gwv/LxMD/ysO//8nC
- vv/Iwbz/x7+7/8a+uv/Evbj/w7u2/8K6tf/AuLP/v7ey/762sf+9tK//vLOu/7uyrP+5sKv/uK+p/7at
- qP+1rKf/tKul/7OppP+yqKP/sKeh/6+ln/+upJ7/raOc/6uhm/+qoJr/qZ+Y/6edl/+mnJX/pZqT/6Sa
- k/+onZb/enFp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/dGtl/7Opo//f3Nn/8vDv//Px
- 8f/y8PD/8vDv//Hw7//w7+7/8O7t/+/t7f/w7e3/7+3s/+7s6//u7Ov/7evq/+3r6v/t6+r/7erp/+3q
- 6f/s6ej/7Ono/+zp6P/r6Of/6+jn/+vo5//q6Of/6ujn/+ro5v/q5+b/6ufm/+rn5v/q5+X/6ufl/+rn
- 5f/q5uX/6ubl/+rm5f/q5uX/6ebl/+rm5f/q5uX/6ufl/+rm5f/q5uX/6ufl/+rn5f/q5+b/6ufm/+vn
- 5v/r5+b/6+jm/+vo5//r6Of/6+jn/+vp6P/s6ej/7Ono/+zp6P/t6en/7erp/+7q6f/u6+n/7uvq/+7r
- 6f/t6en/6+no/+vo5v/q5ub/6ebl/+nm4//o5OP/5+Pi/+fj4f/l4uD/5eHf/+Tg3v/j393/4t7c/+Ld
- 2//g3Nn/39rZ/9/Z2P/e2db/3djW/9vW1f/b1tP/2tXS/9nT0P/Y0tD/19HO/9XQzf/Vz8z/1M7L/9LN
- yv/SzMj/0MrH/8/Jxv/PyMX/zsfE/8zGwv/MxcH/ysTA/8nCvv/Iwb3/x8C8/8a+u//Fvrn/xLy4/8O7
- t//CurX/wLi0/7+3s/++trH/vbWw/7yzr/+4sKr/q6Gb/6eclf97c23/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+De3f/7uvq//Tz8//x7+//8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du7v/w7u7/8O7u//Du
- 7v/w7u7/8O7u//Du7v/w7u//8O7v//Dv7//w7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv7//x7+//8e/v//Hv
- 7//x7/D/8e/w//Hv8P/x8PD/8fDw//Hw8P/x8PD/8fDw//Lw8P/y8PD/8vDw//Lw8P/y8PD/8vDw//Du
- 7v/l4uD/wLey/3pybP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/6ajof/49/f/8O7u//Du
- 7v/w7u7/8/Hx//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//j2
- 9v/49vb/+Pb2//j29v/49vb/+Pb2//j29v/49vb/+Pb2//f19f/08/P/9PPz//Tz8//08/P/9PPz//Tz
- 8//08/P/9PPz//Tz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz
- 8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fPz//Xz8//18/P/9fP0//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f1
- 9f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/39fX/9/X1//f19f/29fX/9vX1//b1
- 9f/29PX/9vT1//b09f/29PX/9vT0//Lw8P/w7u7/8O7u//Lw8P/x7u3/i4WB/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/trS0//b09P/w7u7/8O7u//Tx8f/b2dn/oJ6e/5aUlP+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aVlf+WlZX/lpWV/5aV
- lf+WlZX/lpWV/5aVlf+XlZX/l5WV/5eWlv+Xlpb/l5aW/5iWlv+Ylpb/mJaW/5iXl/+Yl5f/mJeX/5mY
- l/+Xlpb/paKh/7+5tv+/ubb/vrm1/765tv++uLX/vri1/764tf+9uLX/vbe1/723tP+8t7T/vLe0/7y3
- tP+8t7T/vLaz/7u2s/+7trP/u7az/7u2s/+7trP/urWz/7q1sv+6tbL/urSy/7m0sv+5tLH/ubSx/7m0
- sf+5tLH/ubSx/7m0sf+1sa7/oJ6e/6Cenv+gnp7/oZ+e/6Gfnv+hn57/oZ+f/6Gfn/+in5//oqCf/6Kg
- n/+ioJ//o6Cf/6OhoP+joaD/o6Gg/6OhoP+koaH/pKGh/6Siof+koqH/pKKh/6Siof+loqL/paOi/6Wj
- ov+lo6L/pqOi/6akov+mpKL/pqSj/6ako/+npKP/p6Sk/6elpP+npaT/p6Wk/6eko/+vrav/393c//Pw
- 8f/w7u7/8O7u//j29v+pp6b/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+2tLT/9vT0//Du
- 7v/z8fH/19XV/ykoKP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8iHhv/al5V/2hbU/9nXFP/Z1pS/2Za
- Uv9mWVH/ZVlR/2RYUP9kWFD/Y1dP/2JWT/9iVk7/YVVO/2FVTf9gVE3/X1RM/19TTP9eU0v/XlJL/1xS
- Sv9cUUr/W1FJ/1tQSf9aUEj/WU9I/1lOR/9YTkf/WE1G/1dNRv9XTUb/WE5H/01EPv8UEhD/FBIR/xUT
- Ef8VExH/FhQS/xYUE/8XFRP/FxUT/xgWFP8YFhT/GRcV/xoYFf8aGBb/GxkW/xwZF/8cGRf/HRoY/x4b
- GP8eGxn/HxwZ/x8cGv8fHRr/IB4b/yEeHP8hHxz/Ih8d/yIfHf8jIB7/JCEe/yQhHv8lIh//JiIf/yYj
- IP8nIyH/JyQh/yckIf8oJSL/KSUi/yckIf9QTUv/3NnZ//Lw8P/w7u7/9vT0/7a0tP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/7a0tP/29PT/8O7u//b09P+hn5//AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8BAQH/AgIC/wICAv8DAwL/BAMD/wQEA/8EBAT/BQUE/wUFBf8GBgb/BwYG/wcH
- Bv8IBwf/BQQE/ykkIf9vYlr/bGFY/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hdVf9nXFT/Z1xU/2Zb
- U/9mW1P/ZVpS/2RZUv9kWVH/Y1lR/2NYUP9iV1D/YldQ/2FWT/9gVk//YFVO/19VTf9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9dU0z/UklD/xsZGP8cGhj/HBoY/x0bGf8dGxn/Hhwa/x4cGv8fHBv/Hx0b/yAe
- HP8hHhz/IR8d/yIfHf8iIB7/IyEb/yQhG/8kIR3/JSIg/yUiIP8lIyD/JiMh/yYkIf8nJSL/KCUi/ygl
- I/8pJiT/KSYk/yonJP8rJyX/Kygk/y0pIf8tKiL/LSkn/y0qJ/8uKij/Liso/y8sKf8vLCn/MC0q/ykl
- Iv+wraz/9fPz//Du7v/29PT/trS0/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/trS0//bz
- 8//w7e3/9vPz/52bm/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQH/AQEB/wIBAf8CAgL/AwMC/wMD
- A/8EBAP/BAQE/wUEBP8FBQX/BgYF/wcGBv8HBwb/CAcH/wgIB/8GBgX/IyAd/25iWv9uYln/bWFZ/2xg
- WP9sYFj/a19X/2pfV/9qXlb/aV5W/2hdVf9oXVX/Z1xU/2dcVP9mW1T/ZVtT/2VaU/9kWlL/ZFlS/2NZ
- Uf9jWFH/YldP/2FXUP9hV0//YFZO/2BVTf9fVU7/XlRM/15TTP9dUkv/XVJL/15UTP9TSkT/HBoY/xwa
- GP8dGxn/HRsZ/x4cGv8eHBr/Hxwb/x8dG/8gHhz/IB4c/yEfHf8iHx3/IiAe/yQhG/8XFl7/ExF9/yAe
- N/8mIx3/JSMg/yYjIf8mJCH/JyQi/yglIv8oJSP/KSYj/ykmJP8qJyT/Kycl/ywpIv8mIz3/HRtn/x0b
- Z/8sKSz/Lion/y4rKP8vKyj/Lywp/zAtKv8wLSr/LCkl/66qqf/08vL/8O3t//bz8/+2tLT/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+joqL/9/X1/+/t7f/18/P/nJua/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wEBAf8CAQH/AgIC/wMDAv8DAwP/BAQD/wQEBP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgH
- B/8IBwf/CQgI/wgIB/8VExL/W1JL/2leVv9nXFT/Z1xU/2dbU/9mW1P/ZlpS/2VaU/9lWVL/ZFlS/2NY
- Uf9jV1H/YldQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dVEz/XVNM/11TTP9cUkv/XFJL/1tR
- Sv9bUUr/WlBJ/1pQSf9ZT0n/WlBJ/0A5NP8bGRf/HRoZ/x0bGf8eHBr/Hhwa/x8cG/8fHRv/IB0b/yAe
- HP8hHx3/Ih8d/yIgHv8jIB7/JCIZ/xAPif8IB7T/GxlS/yYkG/8mIyH/JiQh/yckIv8nJSL/KCUj/ykm
- I/8pJiT/Kick/yonJf8rKCX/LCgk/yonL/8NDKn/FhSG/y4rI/8uKyj/Lyso/y8sKf8wLSr/MC0q/zEt
- Kv8tKSb/raqo//Px8f/v7e3/9/X1/6Oiov8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/5ya
- mv/39fX/7+3t//Xy8v+bmZj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AgEB/wICAv8DAwL/BAMD/wQE
- A/8EBAT/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkICP8KCQj/CgkJ/woJCP8RDw7/GhgV/xoX
- Fv8aGBb/GhgX/xsZF/8cGRf/HBoX/xwaGP8dGhj/HRoY/x4bGf8eGxn/HhwZ/x8cGv8fHBr/IBwa/x8d
- G/8gHhv/IB4c/yEeHP8iHhz/IR8c/yIfHf8iIB3/IyAe/yMgHv8jIB7/JCEf/yQhH/8kIR7/HBoY/x0a
- Gf8dGxn/Hhwa/x0bGf8YFRT/FxUT/xgVE/8YFhT/GRcV/xkXFf8aGBb/GxgW/xsYFv8cGRT/EhBM/w8O
- bf8hHzT/JiQf/yYkIf8jIB7/IB0a/yAdG/8hHhz/IR4c/yIfHP8jHx3/IyAd/yQgHv8kIR7/JiMb/xgV
- Wv8kIEb/Lywl/y8sKf8vLCn/MC0q/zEtKv8xLSr/Mi4r/y4qJ/+sqaf/8/Hw/+/t7f/39fX/nJqa/wAA
- AP8AAAD/AAAA/wAAAP8AAAD0AAAA/wAAAP8AAAD/nZub//f19f/v7e3/9PLx/52amf8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BgYG/yYlJf8qKir/KSkp/ykp
- Kf8qKir/Kysr/xUUFP8AAAD/AwMC/wMDA/8EBAP/BAQE/wUEBP8FBQX/BgYF/wYGBv8HBwb/CAcH/wgI
- B/8JCAj/CQkI/woJCf8LCgn/CwoJ/wsKCf8KCgn/CwoK/wsLCv8MCwv/DAwL/w0NDP8ODQz/Dg4N/w8O
- Df8PDg3/EA8O/xEQD/8REA//EhEQ/xMREP8TEhD/FBMR/xQTEv8VExL/FRQT/xYUE/8WFRT/FxYU/xgW
- FP8YFhX/GRcV/xkXFv8aGBf/GxkX/xsZF/8dGxn/HRsZ/x4cGv8dGxn/JiMi/1xaWf9nZWT/Z2Vk/2dm
- ZP9oZmX/aGZl/2lnZf9pZ2b/aWdm/2poZv9raWP/UlBI/yUiHf8mJCH/JCEf/0lHRP9tamn/bGtp/21r
- af9ta2n/bWtq/25sav9vbGr/b21r/29ta/9wbmz/bWtk/z06M/8sKSb/Lywp/zAtKv8wLSr/MS0q/zIu
- K/8yLiv/Lisn/66qqP/z8PD/7+3t//f19f+dm5v/AAAA/wAAAP8AAAD/AAAA9AAAANIAAAD/AAAA/wAA
- AP+dm5v/9/T0/+/s7P/z8PD/r6yr/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/ycmJv/DwsL/4uDg/9zZ2f/d2tr/3dra/9zZ2f/e29v/393d/11cXP8AAAD/BAQD/wQE
- BP8FBAT/BQUF/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgI/wkJCP8KCQn/CwoJ/wsKCv8MCwr/BgUF/wQD
- Av8EAwP/BQQE/wYFBP8GBgX/BwYF/wgHBv8IBwb/CQgH/woIB/8KCQj/CwoI/wsKCf8MCwn/DAsK/w0M
- Cv8ODAv/Dg0M/w8NDP8QDg3/EA8O/xEPDv8SEA7/EhAP/xMRD/8TERD/FBIR/xUTEf8VExH/FhQS/xoY
- F/8eHBr/Hhsa/xwZGP+ioqH/////////////////////////////////////////////////////////
- ///39/f/aWdl/xwZFv9PTUr/7Ozs////////////////////////////////////////////////////
- ////////w8HB/zUyL/8vKyj/MC0q/zEtKv8yLiv/Mi4r/zMvLP8wLCn/vLi2//Hv7v/v7Oz/9/T0/52b
- m/8AAAD/AAAA/wAAAP8AAADSAAAA0gAAAP8AAAD/AAAA/52cm//29PT/7uzs//Px8P+xrqz/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/hYSE/97a2f98c27/d21m/4N5
- cf+Ge3P/e3Bp/25mYP+yrqv/0M7O/wwMDP8DAgL/BQUE/wUFBf8GBgX/BwYG/wcHBv8IBwf/CAgH/wkI
- CP8KCQj/CgkJ/wsKCf8LCgr/DAsK/wwLCv9RUE7/gH58/358e/9+fHr/fnt6/357ev9+e3n/fnp5/316
- eP99enj/fXp4/315d/98eXf/fHl3/3x5dv98eHb/fHh2/3x4df98eHX/e3d1/3t3df97d3T/e3d0/3p2
- dP97dnP/enZz/3p1c/96dXL/enZy/3x2c/92cm//OTY0/xwaGP8dGhn/LCop/93c2//+/f3/+fj4//v6
- +P/6+fT/6+rz/+Xk9//l5fb/8fHz//z79f/7+vj/+fj4//////+YlpX/FhQQ/4F/ff//////+fj4//r5
- +f/8+/b/9PPz/+bl9f/l5Pf/6en0//n48//8+/f/+vn4//v6+v/t7ez/SEVD/y0qJ/8xLSr/Mi4r/zIv
- LP8zLyz/MzAs/zEtKf+9ubb/8e/u/+7s7P/29PT/nZyb/wAAAP8AAAD/AAAA/wAAANIAAADSAAAA/wAA
- AP8AAAD/jIqK//f09P/u6+v/8/Dv/7Csq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP+Miov/kIqF/1FHP/9VS0T/V01G/1hOR/9VS0P/VEpC/2BXUf/Jx8b/GhkZ/wIC
- Av8FBQX/BgYF/wYGBv8HBwb/CAcH/wgHB/8JCAj/CQkI/woJCf8LCgn/CwoJ/wwLCv8GBQX/Q0NB/+Xh
- 3v/t6Ob/7Ofl/+vm5P/q5eP/6uXi/+jk4P/o49//5+Lf/+bg3f/l39z/493a/+Ld2f/i3Nj/4dvX/+Da
- 1v/f2dX/3tfT/93W0v/c1dH/29TQ/9rTz//Z0s7/2NHM/9fQzP/Wzsr/1c3J/9XNyP/Vzcj/1c3J/9bN
- yf+vqKX/JSEg/xwaGP8wLiz/2tjY//r5+P/29fD/09Lg/4KC3f9eXt//bW3l/2hp5P9lZd//nJvd/+fl
- 5f/39vT///79/5SSkf8XFBL/g4B+///+/v/39vX/7u3n/6mp3f9nZ97/Y2Pi/29v5v9gYOH/eHje/8fF
- 3//08+3/+ff3/+jn5f9IREL/Lion/zIuK/8yLiv/My8s/zMwLP80MC3/MS0p/7y3tf/x7u7/7uvr//f0
- 9P+Mior/AAAA/wAAAP8AAAD/AAAA0gAAANMAAAD/AAAA/wAAAP+CgYH/9/X1/+3r6//y7+//r6up/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/4iHhv+MhYD/HRkX/wkI
- B/8JCAf/CQgH/wkIB/8PDgz/U0tF/726uP8bGhr/AwIC/wYGBf8GBgb/BwcG/wgHB/8IBwf/CQgH/wkJ
- CP8KCQn/CwoJ/wsKCf8MCwr/DAsL/wQEA/9YV1b/4t3a/+zp5//t6un/7Onn/+/r6v/w7Or/7uvp/+3p
- 5//s6Ob/6+fk/+rm4//p5eL/6eTi/+Xh3v/h3Nn/4NvY/9/b2P/i3dn/497a/+Lc2P/g2tf/39nW/97Y
- 1f/d19P/3dbS/9zV0f/Z0s7/1c7K/9XOyv/Wz8v/zcXA/7y1sf8vLCr/HBkX/zAuLP/X1dX/9/Xx/768
- zv87O8b/OjrG/1xcw/9cXL7/XV2//1dXxP8uLsf/YF/G/9za2f/9+/n/k5CP/xgVE/+Bfnz//v37/+bk
- 3/96ecb/KSnH/1FRxf9dXcD/W1u+/11dwv9ERMb/MDDH/6emyv/z8ev/5uPj/0hEQf8uKyj/Mi4r/zMv
- LP8zMCz/NDAt/zQwLf8yLiv/u7az//Du7v/t6+v/9/X1/4KBgf8AAAD/AAAA/wAAAP8AAADTAAAAygAA
- AP8AAAD/AAAA/4OCgv/39PT/7erq//Lu7v+uqqj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/iomI/4B6dv8AAAD/BQUF/wYFBf8FBQX/BgUF/wAAAP83Mi7/wr28/xsb
- Gv8DAwP/BwYG/wcHBv8IBwf/CAgH/wkICP8JCQj/CgkJ/wsKCf8LCgr/DAsK/wwLC/8NDAv/BQQE/1dW
- Vf/d2NX/7Onn/+3q6P/s6ef/wb69/6Kfnf+opKL/rKil/6+qp/+tqKX/qaSh/6OfnP+fm5n/x8PB/+Pe
- 2//g29j/4NvY/7m1sv+alZP/oJqX/6Sdmv+noJz/pZ+b/6Gal/+blZL/lZCN/7mzsP/Wz8v/1c7K/9bP
- zP/Lw77/ubKu/y8tKv8cGhj/MC4s/9fU0v/Y1tP/REO4/zMzwP9ERLr/Gxus/wsLpv8PD6f/Jyew/0pK
- vf8iIsD/eHa4//Lv6f+TkI7/GRYU/4B+fP/49fD/lZO7/yAgvv9KSr//Ly+y/xERqP8KCqb/Fxeq/zw8
- t/89PcD/MTG6/8bEyf/l4uD/SERC/y8sKf8zLyz/MzAs/zQwLf80MC3/NTEu/zIuK/+6tbL/8O3t/+3q
- 6v/39PT/g4KC/wAAAP8AAAD/AAAA/wAAAMoAAACmAAAA/wAAAP8AAAD/g4KB//b08//s6un/8O7t/6yp
- pv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+JiIj/gXt2/wUE
- A/8LCgn/CwoJ/wsKCf8LCgn/BgYF/zUwLf/Bvbz/Gxsb/wQEBP8HBwb/CAcH/wgHB/8JCAj/CQkI/woJ
- Cf8LCgn/CwoJ/wwLCv8MCwv/DAwL/w0MDP8GBQT/V1ZV/9/a1//t6uj/8e7s/87My/85Nzb/GBUT/yEd
- G/8oJCD/LSgk/ywnI/8mIR//HhsY/xYTEf9bWFb/3dnW/+Xg3f/NyMX/QT89/xcUEv8gHRr/JyMg/ywo
- JP8sJyT/JiIf/x8cGf8WFBH/SUZE/8vFwf/X0Mz/19DM/8nBvP+yq6f/KCYj/x4bGf8xLiz/09DM/56b
- s/8jI73/LS29/wICr/8AAK3/AACu/wAArv8AAK3/DQ2y/zAwwP83NrP/z83K/5OQjv8aFxT/gX58/+He
- 1/9LSq7/LCzC/xYWtf8AAK3/AACu/wAArv8AAK3/AACu/yYmuv8lJb//f36v/9za0/9JRUL/MCwp/zMw
- LP80MC3/NDAt/zUxLv81MS7/My8s/7m0sf/v7ev/7Orp//b08/+DgoH/AAAA/wAAAP8AAAD/AAAApgAA
- AKQAAAD/AAAA/wAAAP+EgoL/9vPy/+zp6P/w7ez/q6el/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/4aFhP+Be3f/CQgH/w4NDP8VExH/GhcV/w4NDP8KCgn/ODMv/8C7
- uv8WFRX/AAAA/wEAAP8BAQD/AgEB/wMCAf8FBAT/CgkJ/wsKCv8MCwr/DAwL/w0MC/8NDAz/Dg0M/wYF
- BP9ZV1b/3NbT/+vn5v/x7+3/ysjG/0dCPf81Lin/NzAs/zYwK/82Lyv/NjAr/zYwK/83MSz/Miwm/2Zh
- Xv/b19X/5uHe/8vGw/9STEj/NC4p/zcxLP83MCz/NjAr/zYwK/83MCz/NzEs/zQuKf9TTkn/ysTA/9fQ
- zP/X0Mz/x765/62mof8jIR//Hxwa/zIvLf/LyMH/dnSi/x4ew/8JCb3/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALr/FBTC/ygotv+rqbP/ko+L/xsYFf+Cfnv/xsO+/zExsP8ZGcT/AAC7/wAAu/8AALv/AAC7/wAA
- u/8AALv/BAS8/xwdxf9eXaP/zsvC/0tHRP8xLSr/NDAt/zQwLf81MS7/NTIu/zYyL/8zLyz/uLKv/+/r
- 6v/s6ej/9vPy/4SCgv8AAAD/AAAA/wAAAP8AAACkAAAApAAAAP8AAAD/AAAA/3Rzc//28/L/6+jn/+7r
- 6v+xrKn/AwMD/wAAAP8AAAD/AAAA/wAAAP8VFRX/Pj49/0JBQf9BQUD/QUBA/0FAQP9AQED/p6Wl/4F7
- dv8NCwn/GBUT/0Q9OP9NRT//JSEe/w4MC/85NDD/ycbD/1ZWVf9FREP/R0ZG/0hHRv9JSEf/SUhH/zIx
- Mf8JCAf/DAsK/wwLC/8NDAv/DQwM/w4NDP8ODQz/BwYF/1pZWP/W0M3/5+Pi/+/t6//r6Of/uLKu/46E
- fv+KgXr/ioF6/4qBev+KgHr/ioB6/4l/eP+SiYP/xL+8/+Tf3P/i3dv/4NvY/7awrP+KgXv/h312/4d9
- dv+HfXb/h312/4Z8dv+GfHX/jIN8/7avqv/W0Mz/1s/L/9fQzP/EvLb/q6Sg/yQiIP8fHRv/Mi8t/8rG
- vv9oZpr/ERHI/wEByP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8GBsr/HBy4/6Kfq/+Tj4v/HBkW/4F9
- e/+/u7b/Jyav/wkJzP8AAMf/AADH/wAAx/8AAMf/AADH/wAAx/8AAMf/Dg7N/1NRnP/Lx77/SkdE/zEt
- Kv80MC3/NTEu/zUyLv82Mi//NjIu/zg0Mf+7trP/7erp/+vo5//28/L/dHNz/wAAAP8AAAD/AAAA/wAA
- AKQAAAClAAAA/wAAAP8AAAD/aWdn//by8f/q5+b/7ero/7eyr/8ICAj/AAAA/wAAAP8AAAD/GhkZ/8jG
- xf/m4+P/wL29/8C9vP/DwL//xsLB/8jFxP/KxsX/bWZh/xQRDv8dGhj/NS8r/zcwLP8mIh//FBEP/zcy
- Lv+2sa7/yMXE/8PAv//Avb3/vbq6/7q4t//PzMz/6ufm/1RSUv8FBQT/DAwL/w0MDP8ODQz/Dg0M/w8O
- Df8IBwb/VlVU/9LMyP/p5uT/8/Hw//Hv7v/08vH/9PHw//Lv7v/y7uz/8e3r//Ds6v/u6+n/7ern/+3p
- 5//q5uT/5uLg/+Xh3//l4N7/5+Lf/+bi3//m4N7/5N/c/+Te2//j3dr/4dzZ/+Hb1//g2db/3tjU/9rU
- 0P/Z0s//2tTR/8S7t/+up6P/JCIg/yAdG/8yLy3/zcnD/316mv8IB8v/AQHV/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wMD2P8ZGbL/t7Sz/5GNif8dGRf/f3t4/9DMxP8pKKT/BATY/wAA0/8AANP/AADT/wAA
- 0/8AANP/AADT/wAA1P8FBdP/XFqW/9XRx/9JRUL/MS0q/zUxLv81MS7/NjIv/zYyL/82Mi7/Pjo2/8C6
- t//s6ef/6ufm//by8f9pZ2f/AAAA/wAAAP8AAAD/AAAApQAAAJ8AAAD/AAAA/wAAAP9qaGj/9vHw/+rm
- 5f/t6ef/t7Gu/wgICP8AAAD/AAAA/wAAAP9TUlH/0c7N/zQxMP8ZFhX/Hxwa/yklIv80Liv/PTcy/0lC
- PP9JQjv/HBkX/xwZF/8aFxX/GhcV/xsZFv8aGBX/NC8r/0lCPP83Mi7/LCck/yAdG/8UEhD/Dg0M/xEQ
- EP+amJf/npyb/wUFBP8NDAv/Dg0M/w4NDP8PDg3/EA8O/woJCP9JR0b/0MvH/762sf/HwLv/xb65/8W9
- uP/Evbj/w7y3/8O7tv/CurX/wbm0/8C4s/+/t7L/vrax/761sf+8tK//vLSu/7uzrf+7sqz/urGs/7qw
- q/+5r6r/uK6p/7etqP+2rab/taym/7Sqpf+0qqT/s6mj/7Koov+xp6H/qZ6Y/7Stqf8kIiD/IR4c/zIv
- Lf/Mx8P/uLS0/xIStf8AAOT/AADf/wAA3/8AAN//AADf/wAA3/8AAN//AADi/z08n//f2tD/jIiF/x4b
- GP97d3T/6eTb/1tYnP8AANv/AADg/wAA3/8AAN//AADf/wAA3/8AAN//AADj/wUFxf+alqb/2dTO/0hE
- Qf8yLiv/NTIu/zYyL/83My//NzMw/zczL/8+Ojf/wLq3/+zo5v/q5uX/9vHw/2poaP8AAAD/AAAA/wAA
- AP8AAACfAAAAewAAAP8AAAD/AAAA/2loZ//08e//6ebk/+zp5v+1sK3/CAgI/wAAAP8AAAD/AAAA/1lY
- V/+Oioj/Lyok/zkyLf80Lyr/NjAr/zcxLP84Mi3/OjMu/zUwK/8hHRr/IR4b/yEeG/8hHhv/IR4b/yAd
- Gv8rJyP/OjQv/zcxLP82MCv/NS8q/zQuKf80Lir/My0o/1xYVf+WlJP/CAcG/w0MDP8ODQz/Dw4N/w8O
- Df8QDw7/Dg0M/x8eHf+opqT/wLq2/7iyrv+4sa3/uLGt/7ewrP+2r6v/tq+q/7Wuqf+0raj/tKyo/7Os
- p/+zq6b/sqqm/7GppP+xqKT/sKij/6+nov+up6H/rqag/62loP+tpJ//rKOf/6yjnv+rop3/qqGb/6mg
- m/+pn5r/qJ+a/6eemP+xqaT/cGto/x8dG/8hHx3/Mi8t/8XAvf/j3tX/dnSm/wAA2P8AAO//AADs/wAA
- 7P8AAOz/AADt/wAA8P8TEsL/qqax/+nk3v+KhoP/IR4b/3t3c//p5N//wr27/ycntv8AAOz/AADt/wAA
- 7P8AAOz/AADs/wAA7/8AAOP/VlSm/9zXzf/Szcn/SURB/zMvLP82Mi//NjIv/zczMP84NDD/NzMw/z87
- N/+/ubX/6+jl/+nm5P/08e//aWhn/wAAAP8AAAD/AAAA/wAAAHsAAAB3AAAA/wAAAP8AAAD/amlo//Pw
- 7v/o5eP/6+jl/7Svq/8ICAj/AAAA/wAAAP8AAAD/VlVV/5yWk/80Lin/IyAd/yQhHf8kIB3/JCAd/yQg
- Hf8kIB3/JCAd/yYiHv8mIh7/JiIf/yYiH/8mIh//JiIe/yUhHv8kIB3/JCAd/yQgHf8lIR3/JSEd/yQg
- Hf8pJSD/eHFt/5OQj/8IBwf/Dg0M/w8ODf8PDg3/EA8O/xEPDv8REA//Dw0M/xcWFf8vLi3/MS8v/zEv
- Lv8xMC7/MTAv/zIwL/8yMC//MjEw/zMxMP8zMjH/NDIw/zQyMP80MjH/NDIx/zUzMf81MzH/NTMy/zUz
- Mf82NDL/NjQy/zc1M/83NTP/ODY0/zk3Nf86NzX/Ozg2/zw6OP89Ojj/Pzw6/zk2NP8mIyH/KSYk/ykm
- JP81MjD/wry5/9/Z1v/b1cv/gH22/xwb3P8AAPP/AAD2/wAA9v8CAu7/MS/M/6mkuf/g2tH/493Z/4uG
- g/8iHxz/d3Nw/+Pd2f/f2dP/vLe7/0JAxv8FBez/AAD2/wAA9/8AAPX/ERDg/2hluv/Uzsb/3tnV/9DK
- x/9JRUH/My8s/zYyL/83My//ODQw/zg0Mf84NDD/Pzs3/764tP/q5uT/6OXj//Pw7v9qaWj/AAAA/wAA
- AP8AAAD/AAAAdwAAAHcAAAD/AAAA/wAAAP9cW1r/7+vq/+jk4v/q5uT/s62q/wgICP8AAAD/AAAA/wAA
- AP9WVFT/nZiU/ywnI/8oJCH/KSUi/yomIv8pJSL/KSUi/yklIv8pJSL/KiUi/yYiH/8dGhf/GxgW/yMf
- Hf8pJSH/KSUi/yklIv8pJSL/KSUi/yomIv8qJiL/KSYi/yUhHv9zbWn/lJGP/wkIB/8PDg3/EA8O/xAP
- Dv8RDw7/ERAP/xIQD/8SERD/ERAO/w4MDP8ODQz/Dg4M/w8ODf8PDg3/EA8O/xEPDv8REA//EhEQ/xMS
- EP8VExL/FhQT/xcWFP8YFxb/GhkX/xwaGf8eHBr/IB4c/yEgHv8jIiD/JSMh/yYkIv8nJSP/KCYk/ykn
- Jf8pKCb/Kigm/yooJv8rKCb/Kykn/y4sKv8uLCr/Liwq/ywpJv+Mh4T/2tPP/93W0v/i29H/ysTK/5aR
- 0P+Cftr/g3/Y/6ehzf/X0Mr/4drT/93W0v/QycX/XlpX/yklI/9MSEX/xb67/9zV0v/g2dP/3NXN/6+p
- zP+Hgtf/gn7b/5CL0//Ausj/4drP/97X0v/c1dH/op2a/zk1Mv81Mi7/NzMw/zg0MP84NDH/OTUx/zg0
- Mf9AOzj/vLay/+nk4//o5OL/7+vq/1xbWv8AAAD/AAAA/wAAAP8AAAB3AAAAdwAAAP8AAAD/AAAA/1JR
- UP/s6Ob/5+Pi/+nl4/+yrKj/CAgH/wAAAP8AAAD/AAAA/1VUU/+Zk5D/Lykk/y0pJf8uKib/JCAd/yQg
- Hf8vKib/Likl/y4pJf8vKib/JyIf/x0aGP8dGhj/IR4b/y4pJv8uKSX/Likl/y8qJv8pJSH/HhsZ/ywo
- JP8uKiX/KiUh/3BqZv+Sj43/CQgH/w4NDP8ODQz/Dw4N/xAPDv8REA//EhEQ/xIREP8bGRf/KSQi/ygk
- If8oJSH/Kici/y0oJP8vKyb/MS0o/zMvKv82MS3/NzMu/zg0L/85NTH/OjYy/zo2M/87NzT/Ozc0/zs3
- NP88ODP/PDg0/zs3M/87NzP/Ozcz/zo2Mv85NjL/OjYy/zo2Mv85NTL/OjUy/zk1Mv84NDH/MC0r/y8s
- Kv8uLSr/Lisp/zEvLf9VUU//XlpX/11ZVv9gXFf/ZWFX/2hjVv9nY1b/ZF9X/2BbV/9eWlf/YFtY/0tI
- RP8vLCn/MS4r/y8sKf9FQT7/X1tX/19bWP9gW1j/ZWBY/2plWP9qZVf/aWRY/2RfWf9hXFn/Yl1a/15Z
- Vv89OTb/NTEt/zczMP84NDD/ODQx/zk1Mf85NTL/OTQx/0A8N/+8tbH/6OPi/+fj4v/s6Ob/UlFQ/wAA
- AP8AAAD/AAAA/wAAAHcAAAB1AAAA/wAAAP8AAAD/U1FR/+vn5f/m4uD/6OPh/7Grp/8JCQj/AAAA/wAA
- AP8AAAD/VVNS/5WPjP8wKib/Mi0o/zkyLv82MCz/OjQw/zMtKf8zLSn/Mi0o/zgyLv87NTD/Miwq/zMt
- Kv83MS3/PjYy/zItKP8zLSn/Mi0o/zgyLv83MS3/PDUw/zQvKv8uKCT/bWdi/5SRj/8UExL/HBsa/x8d
- HP8hIB//JCMi/ycmJf8qKSf/LS0r/1tSS/9sYFj/al9W/2hdWP9jWF//Zltb/2JXX/9iWF3/YFVf/2BW
- Xv9hV1r/XlRe/2JXVv9iWFX/ZFlQ/2JYUf9iV1D/YldQ/1tSV/9dU1T/XVNR/1xSUv9fVU3/WlBS/15U
- TP9bUU7/WlBO/1xSSv9cUkv/XFJL/1xSS/9CPDj/Lywq/y8tK/8wLSv/Ly0q/ywqJ/8rKCb/Kygm/yso
- Jv8rKCb/Kygm/yspJv8rKCb/LCkm/y0pJ/8sKSb/Liso/zEuLP8yLiz/Mi8s/zAsKf8tKif/LSon/y4q
- J/8uKif/Lyso/y8rKP8vKyj/Lyso/zAsKf8wLCn/MS0q/zUxLv83MzD/ODQw/zg0Mf85NTH/OTUy/zo1
- Mv85NTH/QT05/7u0sP/o4+H/5+Ph/+vn5f9TUVH/AAAA/wAAAP8AAAD/AAAAdQAAAFAAAAD/AAAA/wAA
- AP9TUVD/6ubj/+Xh3//m4d//u7Sv/xIREf8AAAD/AAAA/wAAAP9UUlH/j4mG/zEsJ/83MS3/ODIt/0Q8
- N/9LQz3/NzEs/zcxLf83MSz/OzQw/1ZNRv9TSkP/UEdC/1lPSf9DPDf/NjAs/zcxLf82MCz/QTs1/0tD
- Pf87NC//NzEt/zMtKP9nYV3/nZmX/zAvLv80MzL/NTQz/zU0M/81MzL/NDMy/zMzMv84NTT/aV5W/21h
- WP9uYlX/Vkxz/ygkrf8hHrX/MCuh/zcxmP87NZH/JyOs/zMum/8yLJz/RDyC/0A5h/9oXU3/Y1lR/2RZ
- UP9eVFf/Kyah/y8qm/87NIj/MiyU/y0pm/8pJKH/NTCO/0I7eP8/OHz/X1VH/1xSS/9cUkv/XlNM/0lB
- PP8vLSv/MC4s/zAuLP8xLiv/MS4s/zEuLP8xLiz/MS4r/zIuLP8xLiz/Mi4s/zEvLP8yLiz/Mi8s/zIv
- LP8yLyz/Mi8t/zIvLf8zMC3/MzAt/zMvLP80MC3/NDAt/zQwLf80MS3/NTEu/zUxLf81MS7/NTIu/zYy
- L/83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zk1Mf9JRED/wrq1/+bh3//m4uD/6ubk/1NR
- UP8AAAD/AAAA/wAAAP8AAABQAAAASQAAAP8AAAD/AAAA/1NSUf/p5OH/5N/d/+Xg3v+8tbH/FBMS/wAB
- AP8DAwP/BAQE/1dVU/+jnZn/LSgj/zcxLf84Mi3/NzEs/zcxLP84Mi3/ODIt/zo0MP86NDD/Rj45/11T
- TP9hVk//T0dA/zs1Mf87NTH/ODIu/zgyLf83Mi3/NjEs/zcxLf84Mi3/Ligj/25nY/+hnZr/MC8v/zQz
- Mv80MzL/NDMy/zQzMf80MjL/NDIx/zY0M/9lWlP/bWFZ/25iVP9RSHj/IR22/yAbuP8iHrT/NzGX/1ZN
- bf8bGbz/KCSp/zUwl/8xK5z/JSGt/15UXP9lWlD/ZFlQ/11TWf8jIKz/KSWj/yQgrP8sJ57/Hhuz/y4p
- mf8dGrT/KSSh/ygkoP9cUk3/XFJK/1xSS/9eU0z/SEE8/zAuK/8xLyz/MS4s/zEuLP8yLyz/MS8t/zIv
- LP8yLyz/Mi8s/zIvLP8yLyz/Mi8t/zIvLP8zLy3/MzAt/zMwLf8zMC3/MzAu/zMwLf80MC3/NDAt/zQw
- Lf81MS7/NDEt/zUxLv81MS7/NjIu/zUxLv82Mi//NjIv/zczMP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2
- Mv87NzP/OjUy/0pGQf/Cu7b/5uHf/+bh3//p5OP/U1JR/wAAAP8AAAD/AAAA/wAAAEkAAABKAAAA/wAA
- AP8AAAD/SUdG/+Xg3f/j3tz/5N/d/7u0sP8aGRj/LCss/zc3N/81NTX/UE9O/8S+uv99d3P/VlBL/1hT
- Tv9YU07/WFNO/1lTTv9VUEv/Pjg0/z84M/8/ODP/Pjcy/z43Mv8+ODL/QDkz/zs1MP9NSEP/WVNO/1lT
- Tv9YU07/WFNO/1dRTP9kXlr/urSw/3l2dP8wMC//NTQz/zU0M/81MzL/NDMz/zUzMv80MzL/NjUz/2NZ
- Uv9tYln/bGBX/2dcXP9XTXH/WlFr/09Gef9aUGn/ZVpa/1BGdf9VTGz/UUlw/09Hcv9LQ3f/XlNc/2Va
- Uf9kWVH/Y1hR/1JKZ/9QSGn/SUJz/05Fav9USmH/U0pg/0tDbP9LQ2z/SEBu/1tRUP9cUkv/XFJL/15T
- TP9IQj3/MS4s/zMwLf8yLy3/Mi8t/zIvLf8yMC3/Mi8t/zMwLf8zLy3/My8t/zMvLf8zMC3/Mi8t/zMw
- Lf80MC3/NDEu/zQxLv80MC7/NDAu/zUxLv81MS7/NTEu/zUyLv81MS7/NTEu/zYyL/82Mi//NjIv/zYy
- L/83My//ODQw/zg0Mf85NTH/OTUy/zo1Mv86NjL/Ozcz/zs3M/86NjL/SkVB/8O7tv/l4d//5eHf/+bh
- 3v9IR0b/AAAA/wAAAP8AAAD/AAAASgAAAEoAAAD/AAAA/wAAAP88Ojr/4dvZ/+Lc2v/j3dv/urKt/xwb
- Gv85ODj/QEBA/z8/Pv87Ozv/WlhX/4OAfv+Cfnz/gX17/4F9e/+BfXv/fnt5/66ppf9hW1f/Pzgy/0Q9
- N/9EPTf/RD03/0Q9N/9EPTf/Pjg0/6qkoP+JhYL/fnp4/397eP9/e3j/fnt4/4J+fP9mZGL/NjU0/zY1
- NP82NTT/NjU0/zY0NP81NDP/NTQz/zU0Mv83NjT/ZFpT/3BkW/9uYlr/bmJZ/29jVv9uYlb/b2JU/21h
- Vf9rX1b/bWFT/2tfU/9rX1P/al9R/2pfUf9oXFL/ZltT/2ZbUv9lWlL/ZltP/2ZaT/9lW03/ZVlN/2NZ
- Tf9iWE3/Y1hL/2JXS/9iV0r/X1VN/15TTP9eU0z/X1RN/0ZBPP8xLy3/MzAu/zMwLv8zMC3/MzAt/zMw
- Lv8zMS7/NDAu/zQwLv80MC7/MzAt/zQwLv8zMC7/NDEu/zQxLv81Mi//NTEu/zUxLv81MS7/NTIv/zYy
- L/82Mi//NjIv/zYyL/82Mi//NjMv/zczMP83My//NzMw/zg0MP84NDH/OTUx/zk1Mv86NjL/OjYy/zs3
- M/88NzT/PDg0/zs2M/9LRUL/wrm0/+Xg3v/l4N7/4tza/zw6Ov8AAAD/AAAA/wAAAP8AAABKAAAASQAA
- AP8AAAD/AAAA/z07Ov/f2tf/4NvY/+Hc2f+4sav/HRsa/zg4OP9APz//Pz4+/z8+Pv87Ozv/ODg4/zg4
- Of84ODj/ODg4/zc4N/8zMzP/j4qH/2NdWP9DPDb/SEE7/0lCO/9JQjz/SUE7/0lBO/9AOzX/oZuX/0RD
- Qv8yMTD/MzMy/zQzMv8zMjL/MjIx/zIxMf83NjX/NzY1/zc2Nf83NTT/NjU0/zY1NP81NTP/NTUz/zU0
- M/9HQz//WlJM/1lRS/9ZUEv/WFBK/1hQSv9XT0n/V09J/1ZOSf9WTkj/VU1I/1VNR/9UTUf/VE1H/1RM
- Rv9UTEb/U0tG/1JLRf9SSkX/UkpF/1FKRP9RSUT/UElE/1FJQ/9QSUP/T0hC/09IQv9OR0H/T0dC/05H
- Qv9KRD//ODQx/zMxLv8zMS7/MzEu/zQxLv8zMC7/NDEu/zQxL/80MS7/NDEv/zQxLv80MS7/NDEu/zQx
- Lv80MS7/NTIv/zUyL/81Mi//NjIv/zUyL/82Mi//NjMv/zcyMP82Mi//NzMw/zYzL/83MzD/NzMw/zg0
- MP84NDD/ODQx/zk1Mf85NTL/OjUy/zo2Mv87NzP/Ozcz/zw4NP89ODT/Ozcz/0tGQv/AuLP/5N/d/+Tf
- 3f/g29j/PDs6/wAAAP8AAAD/AAAA/wAAAEoAAAA6AAAA+wAAAP8AAAD/PDs6/97Y1f/f2db/4NrX/7ev
- qv8dHBv/Ojk5/0FAQP9AQD//Pz8//z4/Pv8+Pj7/PT09/z09Pf89Pjz/PTw9/zg5OP+PiYX/X1lV/0hA
- Of9MRD3/RT44/0Q9N/9KQjz/TkY//0E7Nf+dl5L/SEdG/zc3Nv85ODj/OTg3/zk3N/84Nzf/OTc3/zg3
- Nv84NzX/ODc2/zc2NP82NjT/NjY0/zY1NP82NTT/NzU0/zUzM/8zMjH/MjIx/zIxMP8yMTD/MjEw/zIx
- MP8yMTD/MjEw/zEwL/8xMC//MTAv/zEwL/8yMC//MjAv/zEwLv8xMC7/MTAu/zEvLv8xLy7/MS8u/zEv
- Lv8xLy7/MTAu/zIwLv8xLy3/MS8t/zEvLf8yMC7/MTAt/zEwLf80MTD/NTIw/zQyL/80Mi//NTIv/zUy
- L/81MS//NTEv/zUyMP81Mi//NDEv/zUyL/81MS7/NTIv/zUyMP82Mi//NjIv/zczMP82Mi//NzMw/zcz
- MP83MzD/NzMw/zczMP83NDD/ODQx/zg0MP84NDH/OTUx/zk1Mf85NTH/OjUy/zo2Mv86NjL/Ozcz/zw3
- NP88ODT/PTg1/z05Nf88NzT/S0ZC/8C3sf/k39z/5N/c/9/Z1v88Ozr/AAAA/wAAAP8AAAD9AAAAOwAA
- ADgAAAD7AAAA/wAAAP89Ozr/3dfT/93X1P/e2NX/ta2o/x0cGv86Ojr/QUFB/0BAQP9AQD//Pz8//z8/
- P/8/Pj7/Pj49/z4+Pv8+PT3/Ojk5/4yGg/9cVlH/TEQ9/1BIQf9COzb/PDUy/01FPv9TSkP/QTs2/5mS
- jf9JR0f/ODg3/zo5OP86ODj/Ojk4/zk4N/85ODf/OTg3/zk4N/84Nzb/ODc2/zg3Nf83NjX/NzY0/zc1
- Nf83NTT/Ozk3/0RAPf9DPzz/Qz88/0M+O/9CPjv/Qj48/0I+O/9CPjr/Qj07/0E9Ov9APTr/QDw5/0E8
- Ov9APTn/QDw5/0A8OP9APDj/Pzs3/0A7OP8/Ozf/Pzs4/z87OP8/Ojf/Pzo3/z46N/8+Ojb/Pjo2/z46
- Nv8/Ozb/PTk1/zUyMP81MjD/NTIw/zUyMP81Mi//NTIv/zUyL/83Myz/NjMt/zczLf83NCz/NzQr/zc0
- LP83NC3/ODMs/zczLP84NCz/ODUt/zk1Kv84NS3/OTQr/zg0Lv85NS3/OTUs/zo2Kv85NS3/OjUs/zs3
- Kv86NjD/OjYy/zk1Mv86NjL/OjYy/zs3M/88NzT/PDg0/z04NP89OTX/Pjk2/zw4NP9LRkL/vrWw/+Pe
- 2//j3tv/3tjU/z07Ov8AAAD/AAAA/wAAAPsAAAA4AAAAOAAAAPsAAAD/AAAA/zQzMv/Z08//3NbS/9zW
- 0v+5sKv/IiAf/zs7O/9CQUH/QUBA/0BAQP9AQED/QEBA/z8/P/8/Pj7/Pz4+/z8+Pv86Ozr/ioSA/1lT
- Tv9RSEH/VU1F/2BVTv9jWFH/V05G/1dOR/9CPDb/lIyI/0pIR/85OTj/Ojk5/zo5OP86OTj/Ojk4/zo5
- OP86OTj/OTg3/zk4N/85ODb/ODc2/zg2Nv84NjX/ODY1/zg2Nf9cU03/bmJa/2xhWP9sYFj/a19X/2tf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2ZbVP9mW1P/ZltT/2VaUv9kWVL/ZFlS/2NYUf9iWFD/YldQ/2FX
- T/9hVk//YFZO/19VTv9fVU3/XlRN/15TTP9dU0z/XVNM/11TTP9dU0z/Qj05/zUyL/82MjH/NTMw/zYz
- MP82MzD/NjMv/yspVP8wLUX/LyxI/ysoVv8pJ1n/KylU/y4rS/8sKVT/LClS/y0pUf8uK0//JSNs/y8r
- Tf8rKFr/MS5G/y0qVP8tKlX/JSJs/y8sUP8sKVj/JiNt/zYyPf87NjH/OjYy/zo2Mv87NzP/Ozcz/zw4
- NP89ODT/PTg1/z45Nv8+Ojb/PTg0/09JRf/AuLH/4t3a/+Ld2v/a1ND/NDIy/wAAAP8AAAD/AAAA+wAA
- ADgAAAA4AAAA+wAAAP8AAAD/JyUl/9TOyv/a1ND/2tTQ/8C2sP8qKCf/Ozs7/0JCQv9BQUH/QUFB/0FB
- Qf9BQED/QEA//0BAP/9APz//QD8+/zw7O/+Ign3/UkxI/1VMRP9cU0v/XlNM/19VTf9cUkv/X1VN/z03
- Mf+SioX/SkhH/zo6OP87Ojn/Ozo5/zs6Of87Ojn/Ozk5/zs5OP86OTj/Ojk4/zo4OP85ODf/OTg3/zk3
- Nv84Nzb/OTc2/2FXUP9uYVn/bGBY/2tfV/9qX1f/al5W/2leVv9oXVX/aF1V/2dcVP9nW1T/ZltT/2Va
- U/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1RN/15UTf9dU0z/XVNM/1xS
- S/9cUkv/XFJL/15TTP9HQTz/NTIw/zc0Mf83MzH/NzMx/zczMv84NSz/ERCp/xsaif8MC7v/EA+w/wsL
- vv8QEKz/GhiP/xAPr/8UE6P/EA6v/wsLvv8UE6H/ExKk/wkIxv8iH3j/CwrB/woJw/8WFKD/DAy8/w4N
- t/8UE6T/GReW/z04Lf87NzP/Ozcz/zw3NP88ODT/PTg1/z05Nf8+OTb/Pjo2/z86Nv88ODX/VE5K/8S7
- tP/h29j/4t3Z/9XPy/8mJSX/AAAA/wAAAP8AAAD7AAAAOAAAADgAAAD7AAAA/wAAAP8nJiX/08zI/9nS
- zv/Z0s7/v7aw/yglJP87Ozv/Q0ND/0JCQf9CQkL/QUFB/0FBQf9BQED/QUBA/0BAP/9APz//PDs7/4iB
- fP9gWlT/KiYi/0Y/OP9EPTf/RD03/0U+OP86NC7/Mi4r/6Wak/9FQ0L/Ozs6/zw7Ov88Ozr/PDo5/zw6
- Ov88Ojn/Ozo5/zs6Of87OTj/Ojk4/zo5OP86ODf/Ojg3/zk4Nv86ODb/YFZQ/25iWf9sYFj/a19X/2pf
- V/9qXlb/aV5W/2ldVf9oXVX/Z1xU/2dcVP9mW1P/ZltT/2VaUv9kWVL/ZFlR/2NYUf9jWFD/YldQ/2FX
- T/9hVk//YFZO/2BVTv9fVU3/XlRN/15TTP9dU0z/XVNM/1xSS/9cUkv/XlNM/0dBPf81MzD/ODQy/zg0
- Mv84NDL/NzQy/zg1Lf8SEaf/CAfJ/xEQrf8REKv/EhGr/xcWmP8REKv/EBCt/xUUof8KCcL/EhCq/w8O
- s/8ZF5X/Dg23/xMSpv8YFpn/FhSg/xAQrv8QD7L/FhSg/xQTpf8kIXf/PTku/zw4NP88NzT/PDg0/z04
- NP89OTX/Pjk2/z46Nv8/Ojb/Pzs3/z05Nf9UTkr/xbu1/+Hb2P/g29j/1M3J/ycmJf8AAAD/AAAA/wAA
- APsAAAA4AAAAKAAAAPEAAAD/AAAA/yclJf/Rysb/18/L/9fPy/+/ta//JSIh/zo6Ov9FRET/Q0JC/0JC
- Qv9CQkL/QkFB/0JBQf9BQUD/QUBA/0FAQP8+PT3/W1dU/6CUjP9dVlH/S0VB/0xFQf9MRUH/S0VB/1BK
- Rf+TiID/fHVw/zs6Of89PDv/PTw7/z07Ov89Ozr/PDs6/zw7Ov88Ozn/Ozo5/zs6Of87Ojj/Ozk4/zo5
- OP86OTf/Ojk3/zo4N/9gV1H/bmJZ/2xgWP9rYFf/a19X/2pfV/9pXlb/aV1V/2hdVf9oXFT/Z1xU/2Zb
- U/9mW1P/ZVpT/2VaUv9kWVL/Y1lR/2NYUf9iWFD/YldQ/2FWT/9gVk//YFVO/19VTv9fVE3/XlRN/11T
- TP9dU0z/XFJL/1xSS/9eU0z/SEI9/zY0Mf84NTL/ODUy/zg1Mv84NDL/OTYu/xcWmP8VE6L/JyVp/xcV
- m/8XFZz/LytS/zUyPv82Mjz/Kidi/x4ch/82Mj3/NDBF/zo2NP82Mj//NTFD/zo2NP87NzL/IyF5/xoZ
- kv86Njj/NTBI/zw3Mv88ODT/PDg0/zw4NP89ODT/PTg1/z45Nv8+Ojb/Pzo2/z87N/9AOzf/Pjk2/1RO
- Sv/Eu7X/4dvY/+Da1//Sy8f/JyUl/wAAAP8AAAD/AAAA8QAAACgAAAAlAAAA7wAAAP8AAAD/JyYl/9DI
- xP/Z0s7/3NXR/7+1r/8lIiH/Ozs7/0ZFRf9EREP/REND/0NDQv9DQ0L/Q0JC/0JBQf9CQUH/QkFA/0FB
- QP8/Pj7/TUtK/2VgXf9nYV7/ZmFd/2ZhXf9lYF3/ZWBd/1RQTf8+PDz/Pj08/z49PP8+PTz/Pjw7/z08
- Ov89PDv/PTw7/z08O/88Ozr/PDs6/zw7Of88Ojn/PDo5/zs5OP87OTj/Ozk3/19WUP9wY1v/bmFZ/21h
- Wf9tYFj/bGBY/2xfV/9rX1f/al5W/2peVv9oXVX/aFxV/2dcVP9nXFT/ZltT/2VaU/9lWlL/ZFlS/2RZ
- Uf9jWFH/YlhQ/2JXUP9hV0//YFZP/2BWTv9fVU7/X1VN/15UTf9dU0z/XVNM/15UTP9GQDz/ODUy/zk2
- M/85NjP/OTYz/zk2M/85NjP/NzQ5/zg1Nf85NTX/ODQ5/zczO/85NjX/Ozcx/zo3Mv87Ny//PDgs/zs3
- Mf87NzH/Ojcz/zs4Mv88ODL/Ozcz/zw4M/86Nzb/OTY6/z04Mv89OTL/PDg0/z04Nf89OTX/Pjk1/z05
- Nf8+OTb/Pjo2/z86Nv8/Ozf/QDs3/0A8OP8/Ojb/VE9K/8O5s//g29f/39rW/9HJxf8nJiX/AAAA/wAA
- AP8AAADvAAAAJQAAACUAAADvAAAA/wAAAP8hIB//zMXB/97Y1P/h29j/v7Wv/yUiIf88Ozv/RkZF/0VE
- RP9EREP/REND/0RDQ/9DQkL/Q0JC/0JCQf9CQkH/QkFB/0FBQf8/Pz//Pj09/z49Pf8+PTz/PT08/zw8
- O/88Ozr/PTw7/z8+Pf8/Pj3/Pz48/z49PP8+PTz/Pj07/z49O/8+PDv/Pjw7/z08O/89Ozr/PTs6/zw7
- Ov88Ozn/PDo5/zw6Of87OTj/RUE+/1lQS/9ZUUv/WFFL/1hQS/9YUEv/V09K/1dPSv9WT0n/Vk9J/1ZO
- Sf9VTkj/VU1I/1VNR/9UTEf/VExH/1NMR/9SS0b/UktG/1JLRf9RSkX/UUpE/1BKRP9RSUT/UElD/1BI
- Q/9QSEL/T0hC/09HQv9OR0L/SkM//zw4Nf86NjT/OTc0/zk2NP85NzT/OjYz/zk2M/86NzP/OjYz/zo2
- M/86NzP/Ozcz/zs3NP86NzT/Ojc0/zo3M/87NzT/Ojcz/zs3NP87NzT/Ozg0/zw4NP88ODX/PDg0/zw4
- NP88OTT/PDg0/z05Nf89OTX/PTk1/z45Nf8+Ojb/Pjk2/z46Nv8/Ojb/Pzs3/0A7N/9APDj/QTw4/z87
- N/9VTkr/wrix/+Da1v/f2dX/zcbB/yEgH/8AAAD/AAAA/wAAAO8AAAAlAAAAJQAAAO8AAAD/AAAA/xIS
- Ef/HwLv/3dfU/+Da1/+9tK3/JSMh/zw8PP9HRkb/RUVE/0VERP9FRET/RURD/0RDQ/9DQ0L/Q0NC/0NC
- Qv9CQkL/QkFB/0JBQP9BQUD/QkFA/0FBQP9BQED/QD8//0A/Pv9APz7/QD8+/0A/Pf8/Pz3/Pz49/z49
- PP8+PTz/Pj08/z89PP8+PTz/Pjw7/z48O/89PDv/Pjw6/z07Ov88Ozr/PDs5/zw6Of86OTf/Ojg3/zs6
- OP87Ojj/Ozo4/zo5N/86OTf/Ojg2/zo5N/86ODf/Ojg2/zo4Nv86ODb/Ojc2/zk3Nv86NzX/Ojg2/zo3
- Nf85NzX/OTc1/zk3Nf85NzT/OTY0/zk2NP86NzX/OTY1/zk2NP86NjT/OTc0/zk2NP84NTP/Ojc1/zo3
- Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NjT/Ozc0/zs3NP87NzT/Ozg0/zs3NP87NzT/Ozg0/zs3
- NP87NzT/Ozc0/zw4NP88OTX/PDg1/z05Nf89ODX/PTg1/zw5Nf89OTX/PTk1/z46Nv8+OTX/Pjk2/z86
- N/8/Ojf/Pzo2/z87N/9AOzf/QDw4/0E8OP9BPTn/QDs3/1VPSv/Bt7D/39nW/97Y1P/IwLv/EhER/wAA
- AP8AAAD/AAAA7wAAACUAAAAmAAAA7wAAAP8AAAD/ExIS/8W9uP/c1tL/39rW/76zrP8mJCH/PT08/0hH
- R/9GRkb/RkVF/0ZFRf9FRUT/RURE/0VEQ/9EREP/RENC/0RDQv9DQkL/Q0JB/0NCQf9DQkH/QkFB/0JB
- QP9BQUD/QUA//0FAP/9BQD7/QT8//0E/Pv9APz7/QD89/z8+Pf8/Pj3/Pz49/z8+PP8/PTz/Pj08/z49
- O/8+PDv/Pjw7/z08Ov89PDr/PDs5/0tGQv9fVlD/YFdQ/19XUP9fVk//X1ZP/15VTv9eVU7/XVRO/11U
- Tf9cU0z/W1NM/1tSS/9aUkz/WlFL/1pQSv9aUUr/WU9K/1hQSf9YT0n/V09I/1dOSP9WTkj/VU1H/1ZN
- R/9VTEf/VEtG/1RMRv9UTEb/VExG/09IQv89Ojb/Ozg1/zs4Nf87ODX/Ozg1/zs4Nf87ODX/Ozc0/zs4
- Nf87ODX/PDg1/zw5Nf88ODX/PDg1/zw4Nf88ODX/PDg1/zw4Nf88ODX/PTk1/z05Nv89Ojb/PTk2/z45
- Nv89OTX/Pjk2/z45Nv8+Ojb/Pzo3/z86Nv8/Ojf/Pzs3/0A7N/8/Ozf/QDs3/0A8OP9BPDj/Qj05/0I9
- Of9APDj/VU9K/8C2rv/e2dX/3NbS/8W9uP8TEhL/AAAA/wAAAP8AAADvAAAAJgAAABgAAADmAAAA/wAA
- AP8TEhH/xLu2/9zV0f/e2NT/xbqz/y4rKf89PTz/SEhI/0dHRv9HRkb/RkZF/0ZFRf9GRUT/RURE/0VE
- Q/9EQ0P/REND/0RDQv9EQ0L/Q0JC/0NCQf9DQkH/Q0JB/0NBQP9CQED/QkA//0FAP/9BQD//QUA//0BA
- Pv9APz7/QD89/0A+Pf9APj3/QD89/z8+Pf8/Pjz/Pz08/z89PP8/PTz/Pjw7/z48O/89Ozr/XVRO/3Bj
- Wv9tYVn/bGBY/2tgWP9rX1f/al5W/2leVv9pXlb/aF1V/2hcVP9nXFT/ZltT/2ZbU/9lWlL/ZFpS/2RZ
- Uv9jWFH/Y1hQ/2JYUP9hV0//YVZP/2BWT/9fVU7/X1VN/15UTf9eU0z/XVNM/11TTP9dU0z/XlNM/0ZB
- Pf87ODX/PDk2/zw4Nv88OTb/PDk2/zs4Nf88ODX/PDg1/zw4Nv88OTX/PDk2/zw5Nf89OTb/PDk1/z05
- Nv88ODb/PTk2/z05Nv89OTb/Pjo2/z06N/8+Ojb/Pjo2/z46Nv8+Ojb/Pjo3/z86N/8/Ozf/QDs3/z87
- N/9AOzf/QDw4/0A8OP9APDj/QTw4/0E9Of9CPTn/Qz46/0A8OP9bVE//xbmy/97Y1P/c1dH/xLu2/xMS
- Ef8AAAD/AAAA/wAAAOYAAAAYAAAAEgAAAOMAAAD/AAAA/xMSEf/CubT/29TQ/97Y1P/FurL/Liso/z4+
- Pf9KSUn/SEdH/0hHR/9HR0b/R0ZG/0ZGRf9GRkX/RUVF/0VERP9FRET/RUVE/0REQ/9EQ0L/RENC/0RD
- Qv9EQ0L/REJC/0NCQf9DQUD/QkFA/0JBQP9CQT//QUA//0FAP/9BQD//QT8+/0E/Pv9BPz7/QD8+/0A+
- Pf9APj3/QD49/0A+Pf8/Pjz/Pz08/z48O/9dVU//bmJZ/2xgWP9rX1f/al9X/2peVv9pXlb/aV1V/2hd
- Vf9nXFT/Z1xU/2ZbU/9lWlP/ZVpS/2RZUv9kWVH/Y1hR/2JYUP9iV1D/YVdP/2FWT/9gVk7/X1VO/19U
- Tf9eVE3/XVNM/11TTP9cUkv/XFJL/1xSS/9dUkv/R0E9/zs5Nv88Ojf/PTo3/z05N/89OTb/PTk2/zw5
- Nv89OTb/PTk2/z05Nv89OTb/PTo3/z06Nv89OTb/Pjk2/z05N/89Ojb/PTo3/z46Nv8/Ojf/Pzo3/z46
- N/8/Ozf/Pzs3/z87N/8/Ojf/Pzo4/0A7N/9APDj/QDs3/0A8OP9APDj/QD05/0E8OP9BPTn/Qj05/0M+
- Ov9DPjr/QTw4/1tUT//FurL/3tjU/9vU0P/CubT/ExIR/wAAAP8AAAD/AAAA4wAAABIAAAATAAAA4wAA
- AP8AAAD/ERAQ/7yzrf/a08//3tjV/8m9tf9BPDj/KCgo/0RERP9DQkL/QkJC/0JCQv9CQUL/QUFA/0FB
- Qf9BQED/QUA//0BAP/9AQD//QD8+/z8/Pv8/Pj7/Pz49/z8+Pv8/Pj3/Pz49/z49PP89PDz/Pjw8/z08
- PP89PDv/PTw7/z08O/88PDv/PDs6/zw7Ov88Ozr/PDs6/zw6Ov88Ojn/PDo5/zs6Of87OTj/OTg3/1tT
- Tf9tYVj/al5W/2leVf9pXVX/aF1V/2hcVP9nXFT/ZltT/2ZaU/9lWlL/ZFlS/2RZUf9jWFH/YlhQ/2JX
- UP9hV0//YVZP/2BVTv9gVU7/X1RN/15UTf9eU0z/XVNL/11SS/9cUkr/W1FK/1tRSv9aUEn/WlBJ/1tQ
- Sf9FPzv/OTYz/zo3Nf86NzT/Ojc0/zo3NP86NzT/Ojc0/zo3NP86NzT/Ojcz/zs3NP87NzT/Ozc0/zs3
- NP87NzT/PDg1/zs3Nf87ODX/Ozg0/zw4NP88ODX/PDg1/z05Nf89OTb/PTk1/z05Nv89OTb/PTk2/z46
- Nv8+Ojb/Pjo2/z86N/8+Ozf/Pzs3/0A7N/9AOzf/QTw4/0I9Of8+OTX/aWFb/8e8tP/e2NX/29PP/7yz
- rf8REBD/AAAA/wAAAP8AAADjAAAAEwAAABMAAADjAAAA/wAAAP8LCwr/q6Od/9rTzf/e2dT/yL21/5yP
- hv8+OTb/MzAt/zUxL/81Mi//NTIw/zUyMP81MjD/NjMw/zYzMP83NDH/NzMx/zc0Mv84NDH/ODUy/zk1
- Mv85NTL/OTUy/zo2M/86NTP/OjYz/zo3M/86NzT/OzY0/zs3Nf87NzX/PDg1/zw4Nf88ODX/PDg1/z05
- Nf89OTb/PTk3/z46N/8+Ojb/Pzs3/z86N/8+Ojf/ZlxV/3xvZv95bWT/eG1k/3hsY/93bGP/eGtj/3dr
- Y/92amL/dmpi/3VpYf91aGH/dGhg/3RoYP9zaF//c2df/3NnXv9yZl7/cWZe/3FlXv9wZV3/cGRd/29k
- XP9uZFz/bmNb/25jW/9tYlr/bWJa/2xhWf9sYVn/bGFZ/1RNSP9JRED/SkVB/0tFQf9MRkH/TEZC/0xG
- Qv9NR0L/TUdD/01HQ/9NSEP/TkhD/05IRP9OSET/T0lF/09KRf9QSkX/UEpF/1BKRv9RS0b/UUtG/1JM
- R/9STEf/U01I/1NNSP9TTUj/VE1J/1ROSf9UTkn/VE5J/1VOSf9VT0r/Vk9K/1ZQS/9XUEv/V1FL/1dR
- TP9YUkz/V1FM/2VeWP+kl47/x7y0/97Y1P/b1M//raOe/wsLCv8AAAD/AAAA/wAAAOMAAAATAAAAFAAA
- AOQAAAD/AAAA/wsLCv+qoZr/2dLM/93X0v/Vzcj/vrGo/7aonv+toJf/rqGX/66hl/+uoZf/rqGX/66h
- l/+uoZf/rqGX/66hl/+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66hmP+uoZj/rqGY/66h
- mP+uoZj/rqGY/66imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KY/6+imP+vopj/r6KZ/6+i
- mP+ypJv/s6ac/7OmnP+zppz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7OlnP+zpZz/s6Wc/7Ol
- nP+zpZz/s6Wb/7Klm/+zpZv/s6Wb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Klm/+ypZv/sqWb/7Kl
- m/+ypZv/saSa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+wo5r/sKOa/7Cjmv+xo5r/saOa/7Gj
- mv+xo5r/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gkmv+xpJr/saSa/7Gk
- mv+xpJr/saSa/7Gkm/+xpJv/saSa/7Gkm/+xpJv/saSb/7Gkm/+xpJr/tqif/72wp//Vzcj/3dfS/9nS
- zP+qoJr/CwsK/wAAAP8AAAD/AAAA5AAAABQAAAAHAAAA2wAAAP8AAAD/CwsK/6iel//Z0Mv/3dbR/93W
- 0v/a087/1czH/9bNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XN
- x//Vzcf/1c3H/9XNx//Vzcf/1c3H/9XNx//VzMf/1czH/9XMx//VzMf/1czH/9XMx//VzMf/1czH/9XM
- x//VzMf/1czH/9XMx//VzMf/2tPO/93W0v/d1tH/2dDL/6iel/8LCwr/AAAA/wAAAP8AAADbAAAABwAA
- AAAAAADWAAAA/wAAAP8LCgr/ppyV/9jQyv/c1tH/29XQ/9zV0P/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW
- 0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1tH/3NbR/9zW0f/c1dD/29XQ/9zW
- 0f/Y0Mr/ppyV/wsKCv8AAAD/AAAA/wAAANYAAAAAAAAAAQAAANQAAAD/AAAA/wUFBP+WjIX/1s3H/9zW
- 0f/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV
- 0P/b1dD/29XQ/9vV0P/b1dD/29XQ/9vV0P/b1dD/3NbR/9bNx/+WjIX/BQUE/wAAAP8AAAD/AAAA1AAA
- AAEAAAAAAAAAsAAAAP8AAAD/AAAA/19ZVP/MwLj/29TQ/9zW0v/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV
- 0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zV0f/c1dH/3NXR/9zW
- 0v/b1ND/zMC4/19ZVP8AAAD/AAAA/wAAAP8AAACwAAAAAAAAAAAAAABqAAAA/wAAAP8AAAD/EA8O/5CF
- fv/Lv7f/187I/9nRzP/Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQ
- y//Z0Mv/2dDL/9nQy//Z0Mv/2dDL/9nQy//Z0cz/187I/8u/t/+QhX7/EA8O/wAAAP8AAAD/AAAA/wAA
- AGoAAAAAAAAAAAAAABgAAADjAAAA/wAAAP8AAAD/EA4O/2FaVP+dkYn/ppqS/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZ
- kf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aZkf+mmZH/ppmR/6aa
- kv+dkYn/YVpU/xAODv8AAAD/AAAA/wAAAP8AAADjAAAAGAAAAAAAAAAAAAAAAAAAAGAAAAD/AAAA/wAA
- AP8AAAD/AAAA/wYFBf8QDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8O
- Df8PDg3/Dw4N/w8ODf8PDg3/Dw4N/w8ODf8PDg3/EA4N/wYFBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AGYAAADmAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADmAAAAZgAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAAB3AAAAwAAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAAANgAAADYAAAA2AAA
- ANgAAADYAAAA2AAAANgAAADAAAAAdwAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAA
- AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- /////////////////////////AAAAAAAAAAAAAAAAAAAP/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAA
- AAAAAAAHwAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAA
- AAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
- AAAAAAABwAAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAAAAAAP+AAAAAAA
- AAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAP//////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////8=
-</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Менеджер папок</value>
- </data>
-</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.Designer.cs b/WaitingClovershellForm.Designer.cs
new file mode 100644
index 00000000..49d28c3e
--- /dev/null
+++ b/WaitingClovershellForm.Designer.cs
@@ -0,0 +1,103 @@
+namespace com.clusterrr.hakchi_gui
+{
+ partial class WaitingClovershellForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WaitingClovershellForm));
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label6 = new System.Windows.Forms.Label();
+ this.buttonDriver = new System.Windows.Forms.Button();
+ this.timer = new System.Windows.Forms.Timer(this.components);
+ this.SuspendLayout();
+ //
+ // label1
+ //
+ resources.ApplyResources(this.label1, "label1");
+ this.label1.Name = "label1";
+ //
+ // label2
+ //
+ resources.ApplyResources(this.label2, "label2");
+ this.label2.Name = "label2";
+ //
+ // label3
+ //
+ resources.ApplyResources(this.label3, "label3");
+ this.label3.Name = "label3";
+ //
+ // label6
+ //
+ resources.ApplyResources(this.label6, "label6");
+ this.label6.Name = "label6";
+ //
+ // buttonDriver
+ //
+ resources.ApplyResources(this.buttonDriver, "buttonDriver");
+ this.buttonDriver.Name = "buttonDriver";
+ this.buttonDriver.UseVisualStyleBackColor = true;
+ this.buttonDriver.Click += new System.EventHandler(this.buttonDriver_Click);
+ //
+ // timer
+ //
+ this.timer.Enabled = true;
+ this.timer.Interval = 500;
+ this.timer.Tick += new System.EventHandler(this.timer_Tick);
+ //
+ // WaitingClovershellForm
+ //
+ resources.ApplyResources(this, "$this");
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.buttonDriver);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "WaitingClovershellForm";
+ this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WaitingForm_FormClosing);
+ this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.WaitingForm_FormClosed);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.Button buttonDriver;
+ private System.Windows.Forms.Timer timer;
+ }
+} \ No newline at end of file
diff --git a/WaitingClovershellForm.bg-BG.resx b/WaitingClovershellForm.bg-BG.resx
new file mode 100644
index 00000000..b640987b
--- /dev/null
+++ b/WaitingClovershellForm.bg-BG.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Изчакайте вашето NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>ИнÑталиране на драйвър</value>
+ </data>
+ <data name="label1.Text">
+ <value>ÐœÐ¾Ð»Ñ Ð½Ð°Ð¿Ñ€Ð°Ð²ÐµÑ‚Ðµ Ñледните Ñтъпки:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Свържете го Ñ Ð²Ð°ÑˆÐµÑ‚Ð¾ NES Mini към компютъра чрез USB кабел</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Включете го</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. ИнÑталирай драйвър, ако вÑе още не е инÑталиран</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.ca-ES.resx b/WaitingClovershellForm.ca-ES.resx
new file mode 100644
index 00000000..fcc81389
--- /dev/null
+++ b/WaitingClovershellForm.ca-ES.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperant a la NES Mini</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instal·leu controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Si us plau, segueixi aquests passos:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1.Conecteu la NES Mini al PC via USB</value>
+ </data>
+ <data name="label3.Text">
+ <value>2.Enceneu la NES Mini</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Instal·leu el controlador si encara no ho heu fet:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.cs b/WaitingClovershellForm.cs
new file mode 100644
index 00000000..2cf98571
--- /dev/null
+++ b/WaitingClovershellForm.cs
@@ -0,0 +1,79 @@
+using com.clusterrr.FelLib;
+using com.clusterrr.hakchi_gui.Properties;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Management;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class WaitingClovershellForm : Form
+ {
+ public WaitingClovershellForm()
+ {
+ InitializeComponent();
+ buttonDriver.Left = label6.Left + label6.Width;
+ timer.Enabled = true;
+ }
+
+ public static bool WaitForDevice(IWin32Window owner)
+ {
+ if (DeviceExists()) return true;
+ var form = new WaitingClovershellForm();
+ form.ShowDialog(owner);
+ return form.DialogResult == DialogResult.OK;
+ }
+
+ static bool DeviceExists()
+ {
+ return MainForm.Clovershell.IsOnline;
+ }
+
+ private void timer_Tick(object sender, EventArgs e)
+ {
+ if (DeviceExists())
+ {
+ DialogResult = DialogResult.OK;
+ timer.Enabled = false;
+ }
+ }
+
+ private void WaitingForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (!DeviceExists())
+ {
+ if (MessageBox.Show(this, Resources.DoYouWantCancel, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.No)
+ e.Cancel = true;
+ else
+ {
+ DialogResult = DialogResult.Abort;
+ }
+ }
+ }
+
+ private void buttonDriver_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var process = new Process();
+ var fileName = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "driver"), "nesmini_driver.exe");
+ process.StartInfo.FileName = fileName;
+ process.Start();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void WaitingForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ timer.Enabled = false;
+ }
+ }
+}
+
+
diff --git a/WaitingClovershellForm.da-DK.resx b/WaitingClovershellForm.da-DK.resx
new file mode 100644
index 00000000..e263b527
--- /dev/null
+++ b/WaitingClovershellForm.da-DK.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Venter på din NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installer driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Venligst følg disse trin:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Forbind din NES Mini til din PC via USB kablet.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Tænd den</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Installer driver, hvis den ikke er installeret endnu:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.de-DE.resx b/WaitingClovershellForm.de-DE.resx
new file mode 100644
index 00000000..b841b1c5
--- /dev/null
+++ b/WaitingClovershellForm.de-DE.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Warte auf dein NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installiere Treiber</value>
+ </data>
+ <data name="label1.Text">
+ <value>Bitte führe folgende Schritte aus:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Verbinde NES Mini mit PC via USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Die Konsole einschalten.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Treiber installieren, wenn noch nicht installiert ist:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.el-GR.resx b/WaitingClovershellForm.el-GR.resx
new file mode 100644
index 00000000..ba00d73a
--- /dev/null
+++ b/WaitingClovershellForm.el-GR.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Αναμονή για το NES Mini σας…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Εγκαταστήστε τον οδηγό</value>
+ </data>
+ <data name="label1.Text">
+ <value>ΠαÏακαλώ ακολουθήστε τα παÏακάτω βήματα:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Συνδέστε το NES Mini σας στον Η/Υ με το καλώδιο USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. ΕνεÏγοποιήστε το.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Εγκαταστήστε τον οδηγό, αν δεν είναι ήδη εγκατεστημένος:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.en-GB.resx b/WaitingClovershellForm.en-GB.resx
new file mode 100644
index 00000000..480b9653
--- /dev/null
+++ b/WaitingClovershellForm.en-GB.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Waiting for your NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Install driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Please follow these steps:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Connect your NES Mini to your PC via a USB cable.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Turn it on</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Install driver if not yet installed:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.es-AR.resx b/WaitingClovershellForm.es-AR.resx
new file mode 100644
index 00000000..f59ac614
--- /dev/null
+++ b/WaitingClovershellForm.es-AR.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando a tu NES Classic Edition…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalá el controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Por favor, hacé lo siguiente:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Conectá tu NES Classic Edition a la PC a través del cable USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Encendela.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Instalá el controlador si todavía no fue instalado:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.es-ES.resx b/WaitingClovershellForm.es-ES.resx
new file mode 100644
index 00000000..f6cc6b78
--- /dev/null
+++ b/WaitingClovershellForm.es-ES.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando a la NES Mini</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalar controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Por favor, sigue estos pasos:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Conecta la NES Mini al PC vía USB</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Enciende la NES Mini</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Instala el controlador si aún no lo has hecho:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.fi-FI.resx b/WaitingClovershellForm.fi-FI.resx
new file mode 100644
index 00000000..afb3637b
--- /dev/null
+++ b/WaitingClovershellForm.fi-FI.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Odotetaan NES Miniäsi...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Asenna ajuri</value>
+ </data>
+ <data name="label1.Text">
+ <value>Seuraa näitä vaiheita:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Yhdistä NES Minisi PC:hen USB-kaapelilla.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Käynnistä se.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Asenna ajuri, jos sitä ei ole vielä asennettu:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.fr-FR.resx b/WaitingClovershellForm.fr-FR.resx
new file mode 100644
index 00000000..cbf911cf
--- /dev/null
+++ b/WaitingClovershellForm.fr-FR.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>En attente de votre NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installer le pilote</value>
+ </data>
+ <data name="label1.Text">
+ <value>Merci de suivre les étapes suivantes:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Connectez votre NES Mini à l'ordinateur via le cable USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Allumez-là.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Installez le pilote s'il n'est pas encore installé:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.id-ID.resx b/WaitingClovershellForm.id-ID.resx
new file mode 100644
index 00000000..c86a4c1a
--- /dev/null
+++ b/WaitingClovershellForm.id-ID.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Menunggu NES Mini Anda...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instal driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Lakukan langkah-langkah berikut ini:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Hubungkan NES Mini Anda ke PC via kabel USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Nyalakan.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Instal driver jika belum menginstalnya:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.it-IT.resx b/WaitingClovershellForm.it-IT.resx
new file mode 100644
index 00000000..abad5111
--- /dev/null
+++ b/WaitingClovershellForm.it-IT.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>In attesa del rilevamento del NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installa il driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Prego seguire i passi seguenti:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Connetti il NES Mini al PC tramite cavo USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Accendi la console</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Installa il driver se non è stato ancora installato</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.nl.resx b/WaitingClovershellForm.nl.resx
new file mode 100644
index 00000000..46a4177f
--- /dev/null
+++ b/WaitingClovershellForm.nl.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Aan het wachten op je NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installeer driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Voer de volgende stappen uit:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Verbind je NES Mini aan de PC met een USB kabel.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Zet het aan.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Installeer de driver als deze nog niet geïnstalleerd is:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.pl-PL.resx b/WaitingClovershellForm.pl-PL.resx
new file mode 100644
index 00000000..ffe4b5df
--- /dev/null
+++ b/WaitingClovershellForm.pl-PL.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Oczekiwanie na NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Zainstaluj sterowniki</value>
+ </data>
+ <data name="label1.Text">
+ <value>Proszę wykonać następujące kroki:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Podłącz NES Mini do PC kablem USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Uruchom konsolÄ™.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Jeśli brak - zainstaluj sterownik:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.pt-PT.resx b/WaitingClovershellForm.pt-PT.resx
new file mode 100644
index 00000000..2b9bd618
--- /dev/null
+++ b/WaitingClovershellForm.pt-PT.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando por seu NES Mini …</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalar driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Execute as seguintes etapas:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Ligue o seu NES Mini ao PC através do cabo USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Ligue-o.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Instale o driver se ainda não estiver instalado:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingForm.de-DE.resx b/WaitingClovershellForm.resx
index a0439e5a..c4cff2fb 100644
--- a/WaitingForm.de-DE.resx
+++ b/WaitingClovershellForm.resx
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@@ -117,10 +117,162 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
- <data name="label1.Text" xml:space="preserve">
- <value>Bitte führe die folgenden Schritte aus:</value>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 22</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>147, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Please do the following steps:</value>
+ </data>
+ <data name="&gt;&gt;label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name="&gt;&gt;label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 60</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>250, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>1. Connect your NES/SNES Mini to the PC via USB cable.</value>
+ </data>
+ <data name="&gt;&gt;label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name="&gt;&gt;label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 90</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>67, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>2. Turn it on.</value>
+ </data>
+ <data name="&gt;&gt;label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name="&gt;&gt;label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label3.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>17, 120</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>177, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>3. Install driver if it's not installed yet:</value>
+ </data>
+ <data name="&gt;&gt;label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name="&gt;&gt;label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label6.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="buttonDriver.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="buttonDriver.Location" type="System.Drawing.Point, System.Drawing">
+ <value>200, 115</value>
+ </data>
+ <data name="buttonDriver.Size" type="System.Drawing.Size, System.Drawing">
+ <value>100, 23</value>
+ </data>
+ <data name="buttonDriver.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="buttonDriver.Text" xml:space="preserve">
+ <value>Install driver</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Name" xml:space="preserve">
+ <value>buttonDriver</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
+ <value>GrowAndShrink</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>484, 189</value>
+ </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
@@ -1253,222 +1405,25 @@
//////////////////////////////////8=
</value>
</data>
- <data name="&gt;&gt;buttonDriver.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="label6.Text" xml:space="preserve">
- <value>5. Treiber installieren, wenn sie noch nicht installiert sind:</value>
- </data>
- <data name="&gt;&gt;timer.Name" xml:space="preserve">
- <value>timer</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>WaitingForm</value>
- </data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
- </data>
- <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 150</value>
- </data>
- <data name="buttonDriver.Size" type="System.Drawing.Size, System.Drawing">
- <value>169, 23</value>
+ <data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+ <value>0, 0, 15, 15</value>
</data>
- <data name="&gt;&gt;label3.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="label4.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 180</value>
- </data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>269, 13</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Name" xml:space="preserve">
- <value>buttonDriver</value>
- </data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="label6.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;label3.Name" xml:space="preserve">
- <value>label3</value>
- </data>
- <data name="label3.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 90</value>
- </data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="buttonDriver.Location" type="System.Drawing.Point, System.Drawing">
- <value>199, 175</value>
- </data>
- <data name="&gt;&gt;label4.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>147, 13</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label5.Name" xml:space="preserve">
- <value>label5</value>
- </data>
- <data name="buttonDriver.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="label6.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Waiting for your NES/SNES Mini...</value>
</data>
- <data name="&gt;&gt;label5.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;timer.Name" xml:space="preserve">
+ <value>timer</value>
</data>
<data name="&gt;&gt;timer.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;label4.Name" xml:space="preserve">
- <value>label4</value>
- </data>
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="label4.Text" xml:space="preserve">
- <value>3. Halte die RESET-Taste gedrückt und schalte den POWER-Schalter ein.</value>
- </data>
- <data name="label5.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="label3.Text" xml:space="preserve">
- <value>2. Verbinde dein NES Mini mit deinem PC mit einem USB Kabel.</value>
- </data>
- <data name="&gt;&gt;label5.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label4.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonDriver.Text" xml:space="preserve">
- <value>Installiere Treiber</value>
- </data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label5.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label1.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="label5.Text" xml:space="preserve">
- <value>4. Nach wenigen Sekunden die RESET-Taste loslassen, die POWER-LED sollte nicht eingeschaltet sein.</value>
- </data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 22</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Warte auf dein NES Mini...</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>1. Vergewissere dich, dass die POWER-Taste am NES Mini ausgeschaltet ist.</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>322, 13</value>
- </data>
- <data name="&gt;&gt;label6.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label4.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 60</value>
- </data>
- <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 120</value>
- </data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>286, 13</value>
- </data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>405, 13</value>
- </data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>177, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>429, 218</value>
- </data>
- <data name="label3.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>WaitingClovershellForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label6.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.Name" xml:space="preserve">
- <value>label6</value>
- </data>
- <data name="&gt;&gt;label3.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.ru-RU.resx b/WaitingClovershellForm.ru-RU.resx
new file mode 100644
index 00000000..a1e9c4b2
--- /dev/null
+++ b/WaitingClovershellForm.ru-RU.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Ожидаем NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>УÑтановить</value>
+ </data>
+ <data name="label1.Text">
+ <value>ПожалуйÑта, выполните Ñледующие шаги:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Подключите NES Mini к компьютеру по USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Включите её.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. УÑтановите драйвер, еÑли он ещё не уÑтановлен:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.sk-SK.resx b/WaitingClovershellForm.sk-SK.resx
new file mode 100644
index 00000000..837afbeb
--- /dev/null
+++ b/WaitingClovershellForm.sk-SK.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Čaká sa na Vaše NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>NainÅ¡talovaÅ¥ ovládaÄ</value>
+ </data>
+ <data name="label1.Text">
+ <value>Prosím postupujte podľa nasledujúcich krokov:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Pripojte NES Mini k PC pomocou USB kábla.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Zapnite konzolu</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. NainÅ¡talujte ovládaÄ ak eÅ¡te nie je nainÅ¡talovaný:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.sv-SE.resx b/WaitingClovershellForm.sv-SE.resx
new file mode 100644
index 00000000..3d189c0e
--- /dev/null
+++ b/WaitingClovershellForm.sv-SE.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Väntar på din NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installera drivrutin</value>
+ </data>
+ <data name="label1.Text">
+ <value>Vänligen följ stegen nedan:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Anslut din NES Mini till PCn via USB kabel.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Tryck på power knappen</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Installera drivrutin om den inte är installerad än:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.uk-UA.resx b/WaitingClovershellForm.uk-UA.resx
new file mode 100644
index 00000000..76c8a274
--- /dev/null
+++ b/WaitingClovershellForm.uk-UA.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Очікуємо NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Ð’Ñтановити</value>
+ </data>
+ <data name="label1.Text">
+ <value>Будь лаÑка, виконайте наÑтупні кроки:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Підключіть NES Mini до комп'ютера по USB.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Увімкніть її.</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. Ð’Ñтановіть драйвер, Ñкщо він ще не вÑтановлений:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.zh-CHS.resx b/WaitingClovershellForm.zh-CHS.resx
new file mode 100644
index 00000000..2b90b781
--- /dev/null
+++ b/WaitingClovershellForm.zh-CHS.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的计算机接上迷你红白机...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安装驱动程åº</value>
+ </data>
+ <data name="label1.Text">
+ <value>请执行下列步骤 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 将迷你红白机用USB线连接至您的计算机</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. å¼€å¯çº¢ç™½æœºç”µæº</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. å¦‚æžœä¸€ç›´æ²¡æœ‰å¼€å§‹å®‰è£…é©±åŠ¨ç¨‹åº :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.zh-CHT.resx b/WaitingClovershellForm.zh-CHT.resx
new file mode 100644
index 00000000..f3a208ee
--- /dev/null
+++ b/WaitingClovershellForm.zh-CHT.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的電腦接上迷你紅白機...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安è£é©…動程å¼</value>
+ </data>
+ <data name="label1.Text">
+ <value>請執行下列步驟 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 將迷你紅白機用USB線連接至您的電腦</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. 開啟紅白機電æº</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. 如果一直沒有開始安è£é©…å‹•ç¨‹å¼ :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingClovershellForm.zh-TW.resx b/WaitingClovershellForm.zh-TW.resx
new file mode 100644
index 00000000..f3a208ee
--- /dev/null
+++ b/WaitingClovershellForm.zh-TW.resx
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的電腦接上迷你紅白機...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安è£é©…動程å¼</value>
+ </data>
+ <data name="label1.Text">
+ <value>請執行下列步驟 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 將迷你紅白機用USB線連接至您的電腦</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. 開啟紅白機電æº</value>
+ </data>
+ <data name="label6.Text">
+ <value>3. 如果一直沒有開始安è£é©…å‹•ç¨‹å¼ :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingForm.Designer.cs b/WaitingFelForm.Designer.cs
index 30759a4e..a53ce483 100644
--- a/WaitingForm.Designer.cs
+++ b/WaitingFelForm.Designer.cs
@@ -1,6 +1,6 @@
namespace com.clusterrr.hakchi_gui
{
- partial class WaitingForm
+ partial class WaitingFelForm
{
/// <summary>
/// Required designer variable.
@@ -29,7 +29,7 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WaitingForm));
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WaitingFelForm));
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
@@ -83,7 +83,7 @@
this.timer.Interval = 500;
this.timer.Tick += new System.EventHandler(this.timer_Tick);
//
- // WaitingForm
+ // WaitingFelForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
@@ -97,7 +97,7 @@
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
- this.Name = "WaitingForm";
+ this.Name = "WaitingFelForm";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.WaitingForm_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.WaitingForm_FormClosed);
this.ResumeLayout(false);
diff --git a/WaitingFelForm.bg-BG.resx b/WaitingFelForm.bg-BG.resx
new file mode 100644
index 00000000..aa90c6de
--- /dev/null
+++ b/WaitingFelForm.bg-BG.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Изчакайте вашето NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>ИнÑталиране на драйвър</value>
+ </data>
+ <data name="label1.Text">
+ <value>ÐœÐ¾Ð»Ñ Ð½Ð°Ð¿Ñ€Ð°Ð²ÐµÑ‚Ðµ Ñледните Ñтъпки:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Уверете Ñе, че Power бутона на вашето NES Mini е изключен.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Свържете отново вашето NES Mini към компютъра чрез USB</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Задръжте RESET бутона и включете POWER бутона</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. След нÑколко Ñекунди оÑвободете бутона: RESET, LED лампичката за мощноÑÑ‚ не битрÑбвало да Ñвети</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. ИнÑталирайте драйвъра, ако вÑе още не е инÑталиран:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.ca-ES.resx b/WaitingFelForm.ca-ES.resx
new file mode 100644
index 00000000..a6edd1bf
--- /dev/null
+++ b/WaitingFelForm.ca-ES.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperant a la NES Mini</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instal·leu controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Si us plau, segueixi aquests passos:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Assegureu-vos de que el botó Power de la NES Mini estigui en la posició de apagat</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Torneu a connectar la NES Mini al PC via USB</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Mantingueu pressionat el botó Reset i premeu el botó Power</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Després de uns segons, amolleu el botó Reset, la llum del botó Power deurà de apagar-se</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Instal·leu el controlador si encara no ho heu fet:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.cs b/WaitingFelForm.cs
new file mode 100644
index 00000000..6d8a6788
--- /dev/null
+++ b/WaitingFelForm.cs
@@ -0,0 +1,94 @@
+using com.clusterrr.FelLib;
+using com.clusterrr.hakchi_gui.Properties;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Management;
+using System.Windows.Forms;
+
+namespace com.clusterrr.hakchi_gui
+{
+ public partial class WaitingFelForm : Form
+ {
+ readonly UInt16 vid, pid;
+
+ public WaitingFelForm(UInt16 vid, UInt16 pid)
+ {
+ InitializeComponent();
+ buttonDriver.Left = label6.Left + label6.Width;
+ this.vid = vid;
+ this.pid = pid;
+ timer.Enabled = true;
+ }
+
+ public static bool WaitForDevice(UInt16 vid, UInt16 pid, IWin32Window owner)
+ {
+ if (Fel.DeviceExists(vid, pid)) return true;
+ var form = new WaitingFelForm(vid, pid);
+ form.ShowDialog(owner);
+ return form.DialogResult == DialogResult.OK;
+ }
+
+ static bool DeviceExists(UInt16 vid, UInt16 pid)
+ {
+ try
+ {
+ using (var fel = new Fel())
+ {
+ fel.Open(vid, pid);
+ return true;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+
+ private void timer_Tick(object sender, EventArgs e)
+ {
+ if (Fel.DeviceExists(vid, pid))
+ {
+ DialogResult = DialogResult.OK;
+ timer.Enabled = false;
+ }
+ }
+
+ private void WaitingForm_FormClosing(object sender, FormClosingEventArgs e)
+ {
+ if (!Fel.DeviceExists(vid, pid))
+ {
+ if (MessageBox.Show(this, Resources.DoYouWantCancel, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
+ == System.Windows.Forms.DialogResult.No)
+ e.Cancel = true;
+ else
+ {
+ DialogResult = DialogResult.Abort;
+ }
+ }
+ }
+
+ private void buttonDriver_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var process = new Process();
+ var fileName = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "driver"), "nesmini_driver.exe");
+ process.StartInfo.FileName = fileName;
+ process.Start();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void WaitingForm_FormClosed(object sender, FormClosedEventArgs e)
+ {
+ timer.Enabled = false;
+ }
+ }
+}
+
+
diff --git a/WaitingFelForm.da-DK.resx b/WaitingFelForm.da-DK.resx
new file mode 100644
index 00000000..bc199cd3
--- /dev/null
+++ b/WaitingFelForm.da-DK.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Venter på din NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installer driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Venligst følg disse trin:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Vær sikker på at POWER knappen på din NES Mini er slået fra.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Genforbind din NES Mini til din PC via USB kablet.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Hold RESET knappen, og tryk på POWER knappen.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Efter nogle sekunder, slip RESET knappen, og POWER lyset skal ikke være tændt.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Installer driver, hvis den ikke er installeret endnu:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.de-DE.resx b/WaitingFelForm.de-DE.resx
new file mode 100644
index 00000000..35d4b9e5
--- /dev/null
+++ b/WaitingFelForm.de-DE.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Warte auf dein NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installiere Treiber</value>
+ </data>
+ <data name="label1.Text">
+ <value>Bitte führe folgende Schritte aus:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Vergewissere dich, dass die POWER-Taste am NES Mini ausgeschaltet ist.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Verbinde dein NES Mini mit deinem PC mit einem USB Kabel.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Halte die RESET-Taste gedrückt und drücke den POWER-Schalter.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Nach wenigen Sekunden die RESET-Taste loslassen, die POWER-LED sollte nicht eingeschaltet sein.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Treiber installieren, wenn sie noch nicht installiert sind:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.el-GR.resx b/WaitingFelForm.el-GR.resx
new file mode 100644
index 00000000..22d31083
--- /dev/null
+++ b/WaitingFelForm.el-GR.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Αναμονή για το NES Mini σας…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Εγκαταστήστε τον οδηγό</value>
+ </data>
+ <data name="label1.Text">
+ <value>ΠαÏακαλώ ακολουθήστε τα παÏακάτω βήματα:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Βεβαιωθείτε ότι ο διακόπτης POWER στο NES Mini σας είναι κλειστός.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Ξανά)συνδέστε το NES Mini σας στον Η/Υ με το καλώδιο USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. ΚÏατήστε πατημένο το κουμπί RESET και ανάψτε τον διακόπτη POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Μετά από μεÏικά δευτεÏόλεπτα αφήστε το κουμπί RESET, το λαμπάκι POWER δεν Ï€Ïέπει να είναι αναμμένο.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Εγκαταστήστε τον οδηγό, αν δεν είναι ήδη εγκατεστημένος:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.en-GB.resx b/WaitingFelForm.en-GB.resx
new file mode 100644
index 00000000..5c833382
--- /dev/null
+++ b/WaitingFelForm.en-GB.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Waiting for your NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Install driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Please follow these steps:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Make sure the POWER button is OFF.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Re)connect your NES Mini to your PC via a USB cable</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Hold the RESET button and press the POWER button</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Release the RESET button after a few seconds - the POWER LED should not be lit up</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Install driver if not yet installed:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.es-AR.resx b/WaitingFelForm.es-AR.resx
new file mode 100644
index 00000000..009cd4bc
--- /dev/null
+++ b/WaitingFelForm.es-AR.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando a tu NES Classic Edition…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalá el controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Por favor, hacé lo siguiente:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Asegurate de que el botón "POWER" de tu NES Classic Edition esté apagado.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. [Re]conectá tu NES Classic Edition a la PC a través del cable USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Mantené presionado el botón "RESET" y, sin soltarlo, dale al botón "POWER".</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Luego de unos segundos, soltá el botón "RESET"; la luz indicadora de "POWER" no debería estar encendida.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Instalá el controlador si todavía no fue instalado:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.es-ES.resx b/WaitingFelForm.es-ES.resx
new file mode 100644
index 00000000..5cb0ea2e
--- /dev/null
+++ b/WaitingFelForm.es-ES.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando a la NES Mini</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalar controlador</value>
+ </data>
+ <data name="label1.Text">
+ <value>Por favor, sigue estos pasos:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Asegúrate de que el botón Power de la NES Mini está en la posición de apagado</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Vuelve a conectar la NES Mini al PC vía USB</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Mantén presionado el botón Reset y aprieta el botón Power</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Después de unos segundos, suelta el botón Reset, la luz del botón Power debe apagarse</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Instala el controlador si aún no lo has hecho:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.fi-FI.resx b/WaitingFelForm.fi-FI.resx
new file mode 100644
index 00000000..12e33548
--- /dev/null
+++ b/WaitingFelForm.fi-FI.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Odotetaan NES Miniäsi...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Asenna ajuri</value>
+ </data>
+ <data name="label1.Text">
+ <value>Seuraa näitä vaiheita:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Varmista, että NES Minisi POWER-kytkin on pois päältä.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Yhdistä (uudelleen) NES Minisi PC:hen USB-kaapelilla.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Pidä RESET-painiketta painettuna ja paina POWER-kytkintä</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Vapauta RESET-painike muutaman sekunnin kuluttua, POWER-ledin ei pitäisi palaa.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Asenna ajuri, jos sitä ei ole vielä asennettu:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.fr-FR.resx b/WaitingFelForm.fr-FR.resx
new file mode 100644
index 00000000..91d08084
--- /dev/null
+++ b/WaitingFelForm.fr-FR.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>En attente de votre NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installer le pilote</value>
+ </data>
+ <data name="label1.Text">
+ <value>Merci de suivre les étapes suivantes:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Vérifiez que le bouton POWER de la NES Mini n'est pas enfoncé.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Re)connectez la NES Mini au PC avec le cable USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Maintenez le bouton RESET et enfoncez le bouton POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Après quelques secondes relâchez le bouton RESET, la diode POWER doit être éteinte.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Installez le pilote s'il n'est pas encore installé:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.id-ID.resx b/WaitingFelForm.id-ID.resx
new file mode 100644
index 00000000..577f64e7
--- /dev/null
+++ b/WaitingFelForm.id-ID.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Menunggu NES Mini Anda...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instal driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Lakukan langkah-langkah berikut ini:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Pastikan tombol POWER NES Mini Anda dalam keadaan mati.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Hubungkan (kembali) NES Mini Anda ke PC via kabel USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Tahan tombol RESET dan nyalakan tombol POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Setelah beberapa detik, lepas tombol RESET. Saat ini harusnya lampu LED pada tombol POWER tidak menyala.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Instal driver jika belum menginstalnya:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.it-IT.resx b/WaitingFelForm.it-IT.resx
new file mode 100644
index 00000000..0c6bbbd6
--- /dev/null
+++ b/WaitingFelForm.it-IT.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>In attesa del rilevamento del NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installa il driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Prego seguire i passi seguenti:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Assicurati che il tasto POWER del NES Mini sia spento.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (ri)collega il NES Mini al PC tramite cavo USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Tieni premuto il tasto RESET e, mentre lo tieni premuto, accendi il tasto POWER</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Dopo pochi secondi rilascia il tasto RESET, il POWER LED non deve restare acceso</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Installa il driver se non è stato ancora installato:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.nl.resx b/WaitingFelForm.nl.resx
new file mode 100644
index 00000000..7103d991
--- /dev/null
+++ b/WaitingFelForm.nl.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Aan het wachten op je NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installeer driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Voer de volgende stappen uit:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Zorg er voor dat de POWER knop van je NES Mini uit is geschakeld.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Her)verbinden van je NES Mini aan de PC via een USB kabel.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Houd de RESET knop ingedrukt als je de POWER knop indrukt.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Laat de RESET knop los na een aantal seconden, de rode LED van je POWER knop moet dan niet branden.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Installeer de driver als deze nog niet geïnstalleerd is:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.pl-PL.resx b/WaitingFelForm.pl-PL.resx
new file mode 100644
index 00000000..251d2cdc
--- /dev/null
+++ b/WaitingFelForm.pl-PL.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Oczekiwanie na NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Zainstaluj sterowniki</value>
+ </data>
+ <data name="label1.Text">
+ <value>Proszę wykonać następujące kroki:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Upewnij się, że przycisk POWER na NES Mini jest wyłączony.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. Odłącz i połącz ponownie NES Mini z PC kablem USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. PrzytrzymujÄ…c przycisk RESET uruchom konsolÄ™ przyciskiem POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Po kilku sekundach puść przycisk RESET, dioda powinna pozostać wyłączona.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Zainstaluj sterowniki, jeśli jeszcze nie zostały zainstalowane:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.pt-PT.resx b/WaitingFelForm.pt-PT.resx
new file mode 100644
index 00000000..adf2ea49
--- /dev/null
+++ b/WaitingFelForm.pt-PT.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Esperando por seu NES Mini …</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Instalar driver</value>
+ </data>
+ <data name="label1.Text">
+ <value>Execute as seguintes etapas:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Certifique-se de que o botão POWER do seu NES Mini está desligado.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Re) conectar o NES Mini ao PC via cabo USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Segure o botão RESET e ligue o interruptor POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Após alguns segundos, solte o botão RESET, o LED POWER não deve estar ligado.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Instale o driver se ainda não estiver instalado:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingForm.resx b/WaitingFelForm.resx
index 0d15764d..3b25d247 100644
--- a/WaitingForm.resx
+++ b/WaitingFelForm.resx
@@ -117,10 +117,216 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
+ <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="label1.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 22</value>
+ </data>
+ <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
+ <value>147, 13</value>
+ </data>
+ <data name="label1.TabIndex" type="System.Int32, mscorlib">
+ <value>0</value>
+ </data>
<data name="label1.Text" xml:space="preserve">
<value>Please do the following steps:</value>
</data>
- <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <data name="&gt;&gt;label1.Name" xml:space="preserve">
+ <value>label1</value>
+ </data>
+ <data name="&gt;&gt;label1.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label1.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
+ <value>6</value>
+ </data>
+ <data name="label2.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 60</value>
+ </data>
+ <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
+ <value>322, 13</value>
+ </data>
+ <data name="label2.TabIndex" type="System.Int32, mscorlib">
+ <value>1</value>
+ </data>
+ <data name="label2.Text" xml:space="preserve">
+ <value>1. Make sure the POWER button on your NES/SNES Mini is switched off.</value>
+ </data>
+ <data name="&gt;&gt;label2.Name" xml:space="preserve">
+ <value>label2</value>
+ </data>
+ <data name="&gt;&gt;label2.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label2.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
+ <value>5</value>
+ </data>
+ <data name="label3.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 90</value>
+ </data>
+ <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
+ <value>269, 13</value>
+ </data>
+ <data name="label3.TabIndex" type="System.Int32, mscorlib">
+ <value>2</value>
+ </data>
+ <data name="label3.Text" xml:space="preserve">
+ <value>2. (Re)connect your NES/SNES Mini to the PC via USB cable.</value>
+ </data>
+ <data name="&gt;&gt;label3.Name" xml:space="preserve">
+ <value>label3</value>
+ </data>
+ <data name="&gt;&gt;label3.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label3.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
+ <value>4</value>
+ </data>
+ <data name="label4.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 120</value>
+ </data>
+ <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+ <value>286, 13</value>
+ </data>
+ <data name="label4.TabIndex" type="System.Int32, mscorlib">
+ <value>3</value>
+ </data>
+ <data name="label4.Text" xml:space="preserve">
+ <value>3. Hold the RESET button and turn on the POWER switch.</value>
+ </data>
+ <data name="&gt;&gt;label4.Name" xml:space="preserve">
+ <value>label4</value>
+ </data>
+ <data name="&gt;&gt;label4.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label4.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
+ <value>3</value>
+ </data>
+ <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 150</value>
+ </data>
+ <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+ <value>405, 13</value>
+ </data>
+ <data name="label5.TabIndex" type="System.Int32, mscorlib">
+ <value>4</value>
+ </data>
+ <data name="label5.Text" xml:space="preserve">
+ <value>4. After few seconds release the RESET button, the POWER LED should not be on.</value>
+ </data>
+ <data name="&gt;&gt;label5.Name" xml:space="preserve">
+ <value>label5</value>
+ </data>
+ <data name="&gt;&gt;label5.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label5.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
+ <value>2</value>
+ </data>
+ <data name="label6.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
+ <value>16, 180</value>
+ </data>
+ <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
+ <value>177, 13</value>
+ </data>
+ <data name="label6.TabIndex" type="System.Int32, mscorlib">
+ <value>5</value>
+ </data>
+ <data name="label6.Text" xml:space="preserve">
+ <value>5. Install driver if it's not installed yet:</value>
+ </data>
+ <data name="&gt;&gt;label6.Name" xml:space="preserve">
+ <value>label6</value>
+ </data>
+ <data name="&gt;&gt;label6.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;label6.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
+ <value>1</value>
+ </data>
+ <data name="buttonDriver.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <data name="buttonDriver.Location" type="System.Drawing.Point, System.Drawing">
+ <value>199, 175</value>
+ </data>
+ <data name="buttonDriver.Size" type="System.Drawing.Size, System.Drawing">
+ <value>100, 23</value>
+ </data>
+ <data name="buttonDriver.TabIndex" type="System.Int32, mscorlib">
+ <value>6</value>
+ </data>
+ <data name="buttonDriver.Text" xml:space="preserve">
+ <value>Install driver</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Name" xml:space="preserve">
+ <value>buttonDriver</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Type" xml:space="preserve">
+ <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.Parent" xml:space="preserve">
+ <value>$this</value>
+ </data>
+ <data name="&gt;&gt;buttonDriver.ZOrder" xml:space="preserve">
+ <value>0</value>
+ </data>
+ <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </metadata>
+ <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </metadata>
+ <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+ <value>6, 13</value>
+ </data>
+ <data name="$this.AutoSize" type="System.Boolean, mscorlib">
+ <value>True</value>
+ </data>
+ <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <data name="$this.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
+ <value>GrowAndShrink</value>
+ </data>
+ <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+ <value>575, 258</value>
+ </data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABABILAAASCwAAAAAAAAAA
@@ -1253,222 +1459,25 @@
//////////////////////////////////8=
</value>
</data>
- <data name="&gt;&gt;buttonDriver.ZOrder" xml:space="preserve">
- <value>0</value>
- </data>
- <data name="label6.Text" xml:space="preserve">
- <value>5. Install driver if it's not installed yet:</value>
- </data>
- <data name="&gt;&gt;timer.Name" xml:space="preserve">
- <value>timer</value>
- </data>
- <data name="&gt;&gt;$this.Name" xml:space="preserve">
- <value>WaitingForm</value>
- </data>
- <data name="&gt;&gt;label1.Name" xml:space="preserve">
- <value>label1</value>
- </data>
- <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 150</value>
- </data>
- <data name="buttonDriver.Size" type="System.Drawing.Size, System.Drawing">
- <value>169, 23</value>
- </data>
- <data name="&gt;&gt;label3.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="label4.TabIndex" type="System.Int32, mscorlib">
- <value>3</value>
- </data>
- <data name="label6.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 180</value>
+ <data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+ <value>0, 0, 15, 15</value>
</data>
- <data name="label2.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
- <value>269, 13</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Name" xml:space="preserve">
- <value>buttonDriver</value>
- </data>
- <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
- <value>6, 13</value>
- </data>
- <data name="label6.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;label3.Name" xml:space="preserve">
- <value>label3</value>
- </data>
- <data name="label3.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
- <data name="&gt;&gt;label1.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 90</value>
- </data>
- <data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
- <value>6</value>
- </data>
- <data name="buttonDriver.Location" type="System.Drawing.Point, System.Drawing">
- <value>199, 175</value>
- </data>
- <data name="&gt;&gt;label4.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
- <value>147, 13</value>
- </data>
- <data name="&gt;&gt;label2.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label5.Name" xml:space="preserve">
- <value>label5</value>
- </data>
- <data name="buttonDriver.TabIndex" type="System.Int32, mscorlib">
- <value>6</value>
- </data>
- <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
- <value>5</value>
- </data>
- <data name="label6.TabIndex" type="System.Int32, mscorlib">
- <value>5</value>
- </data>
- <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
- <value>NoControl</value>
+ <data name="$this.Text" xml:space="preserve">
+ <value>Waiting for your NES/SNES Mini...</value>
</data>
- <data name="&gt;&gt;label5.Parent" xml:space="preserve">
- <value>$this</value>
+ <data name="&gt;&gt;timer.Name" xml:space="preserve">
+ <value>timer</value>
</data>
<data name="&gt;&gt;timer.Type" xml:space="preserve">
<value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
- <value>2</value>
- </data>
- <data name="&gt;&gt;label4.Name" xml:space="preserve">
- <value>label4</value>
- </data>
- <data name="label1.TabIndex" type="System.Int32, mscorlib">
- <value>0</value>
- </data>
- <data name="label4.Text" xml:space="preserve">
- <value>3. Hold the RESET button and turn on the POWER switch.</value>
- </data>
- <data name="label5.TabIndex" type="System.Int32, mscorlib">
- <value>4</value>
- </data>
- <data name="label3.Text" xml:space="preserve">
- <value>2. (Re)connect your NES Mini to the PC via USB cable.</value>
- </data>
- <data name="&gt;&gt;label5.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label4.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
- <value>3</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Type" xml:space="preserve">
- <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
- <value>1</value>
- </data>
- <data name="buttonDriver.Text" xml:space="preserve">
- <value>Install driver</value>
- </data>
- <data name="&gt;&gt;label2.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label5.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label1.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="&gt;&gt;label2.Name" xml:space="preserve">
- <value>label2</value>
- </data>
- <data name="label5.Text" xml:space="preserve">
- <value>4. After few seconds release the RESET button, the POWER LED should not be on.</value>
- </data>
- <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 22</value>
- </data>
- <data name="$this.Text" xml:space="preserve">
- <value>Waiting for your NES Mini...</value>
- </data>
- <data name="&gt;&gt;buttonDriver.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label2.Text" xml:space="preserve">
- <value>1. Make sure the POWER button on your NES Mini is switched off.</value>
- </data>
- <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
- <value>322, 13</value>
- </data>
- <data name="&gt;&gt;label6.Parent" xml:space="preserve">
- <value>$this</value>
- </data>
- <data name="label4.AutoSize" type="System.Boolean, mscorlib">
- <value>True</value>
- </data>
- <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 60</value>
- </data>
- <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
- <value>16, 120</value>
- </data>
- <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
- <value>286, 13</value>
- </data>
- <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
- <value>405, 13</value>
- </data>
- <data name="label6.Size" type="System.Drawing.Size, System.Drawing">
- <value>177, 13</value>
- </data>
- <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
- <value>429, 218</value>
- </data>
- <data name="label3.TabIndex" type="System.Int32, mscorlib">
- <value>2</value>
+ <data name="&gt;&gt;$this.Name" xml:space="preserve">
+ <value>WaitingFelForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
- <data name="&gt;&gt;label6.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
- <value>4</value>
- </data>
- <data name="&gt;&gt;label1.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="&gt;&gt;label6.Name" xml:space="preserve">
- <value>label6</value>
- </data>
- <data name="&gt;&gt;label3.Type" xml:space="preserve">
- <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="label2.TabIndex" type="System.Int32, mscorlib">
- <value>1</value>
- </data>
- <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
- <value>True</value>
- </metadata>
- <metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
- <value>17, 17</value>
- </metadata>
</root> \ No newline at end of file
diff --git a/WaitingFelForm.ru-RU.resx b/WaitingFelForm.ru-RU.resx
new file mode 100644
index 00000000..c1e2cd6a
--- /dev/null
+++ b/WaitingFelForm.ru-RU.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Ожидаем NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>УÑтановить</value>
+ </data>
+ <data name="label1.Text">
+ <value>ПожалуйÑта, выполните Ñледующие шаги:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. УбедитеÑÑŒ, что кнопка POWER выключена.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Пере)подключите NES Mini к компьютеру по USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Зажмите кнопку RESET и нажмите кнопку POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Через пару Ñекунд отпуÑтите RESET, Ñветодиод не должен гореть.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. УÑтановите драйвер, еÑли он ещё не уÑтановлен:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.sk-SK.resx b/WaitingFelForm.sk-SK.resx
new file mode 100644
index 00000000..40b95bfd
--- /dev/null
+++ b/WaitingFelForm.sk-SK.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Čaká sa na Vaše NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>NainÅ¡talovaÅ¥ ovládaÄ</value>
+ </data>
+ <data name="label1.Text">
+ <value>Prosím postupujte podľa nasledujúcich krokov:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Uistite sa že je tlaÄidlo POWER na NES Mini vypnuté</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Znovu)pripojte NES Mini k PC pomocou USB kábla.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. StlaÄte a držte tlaÄidlo RESET a stlaÄte a pustite tlaÄilo POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Po pár sekundách pustite tlaÄidlo RESET, LED svetlo pri tlaÄidle POWER by nemalo svietiÅ¥.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. NainÅ¡talujte ovládaÄ ak eÅ¡te nie je nainÅ¡talovaný:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.sv-SE.resx b/WaitingFelForm.sv-SE.resx
new file mode 100644
index 00000000..68cc8f7e
--- /dev/null
+++ b/WaitingFelForm.sv-SE.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Väntar på din NES Mini…</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Installera drivrutin</value>
+ </data>
+ <data name="label1.Text">
+ <value>Vänligen följ stegen nedan:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. Se till att POWER-knappen på din NES Mini är avstängd.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Ã…ter)anslut din NES Mini till PCn via USB kabeln.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. Håll RESET knappen intryckt och tryck på POWER knappen.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Släpp RESET knappen efter 5 sekunder, POWER LEDen skall inte lysa.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Installera drivrutin om den inte är installerad än:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.uk-UA.resx b/WaitingFelForm.uk-UA.resx
new file mode 100644
index 00000000..9ffcf786
--- /dev/null
+++ b/WaitingFelForm.uk-UA.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>Очікуємо NES Mini...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>Ð’Ñтановити</value>
+ </data>
+ <data name="label1.Text">
+ <value>Будь лаÑка, виконайте наÑтупні кроки:</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. ПереконайтеÑÑ, що кнопка POWER вимкнена.</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (Пере)підключіть NES Mini до комп'ютера по USB.</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. ЗатиÑніть кнопку RESET Ñ– натиÑніть кнопку POWER.</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. Через пару Ñекунд відпуÑÑ‚Ñ–Ñ‚ÑŒ RESET, Ñвітлодіод не повинен горіти.</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. Ð’Ñтановіть драйвер, Ñкщо він ще не вÑтановлений:</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.zh-CHS.resx b/WaitingFelForm.zh-CHS.resx
new file mode 100644
index 00000000..39d7591a
--- /dev/null
+++ b/WaitingFelForm.zh-CHS.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的计算机接上迷你红白机...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安装驱动程åº</value>
+ </data>
+ <data name="label1.Text">
+ <value>请执行下列步骤 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 请先确定迷你红白机的电æºå¼€å…³å·²åˆ‡ä¸ºå…³é—­çŠ¶æ€</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (é‡æ–°)将您的迷你红白机用USB线连接至您的计算机</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. 先按ä½Reseté‡å¯æŒ‰é”®ä¸æ”¾ï¼Œå†å¼€å¯çº¢ç™½æœºç”µæºã€‚</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. 在几秒之åŽå†æ”¾å¼€Reseté‡å¯æŒ‰é”®ï¼Œç”µæºLEDç¯åº”该是熄ç­çš„</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. å¦‚æžœä¸€ç›´æ²¡æœ‰å¼€å§‹å®‰è£…é©±åŠ¨ç¨‹åº :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.zh-CHT.resx b/WaitingFelForm.zh-CHT.resx
new file mode 100644
index 00000000..3a5d5987
--- /dev/null
+++ b/WaitingFelForm.zh-CHT.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的電腦接上迷你紅白機...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安è£é©…動程å¼</value>
+ </data>
+ <data name="label1.Text">
+ <value>請執行下列步驟 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 請先確定迷你紅白機的電æºé–‹é—œå·²åˆ‡ç‚ºé—œé–‰ç‹€æ…‹</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (é‡æ–°)將您的迷你紅白機用USB線連接至您的電腦</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. 先按ä½Reseté‡å•ŸæŒ‰éµä¸æ”¾ï¼Œå†é–‹å•Ÿç´…白機電æºã€‚</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. 在幾秒之後å†æ”¾é–‹Reseté‡å•ŸæŒ‰éµï¼Œé›»æºLED燈應該是熄滅的</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. 如果一直沒有開始安è£é©…å‹•ç¨‹å¼ :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingFelForm.zh-TW.resx b/WaitingFelForm.zh-TW.resx
new file mode 100644
index 00000000..3a5d5987
--- /dev/null
+++ b/WaitingFelForm.zh-TW.resx
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ <xsd:attribute ref="xml:space" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Text">
+ <value>正在等待您的電腦接上迷你紅白機...</value>
+ </data>
+ <data name="buttonDriver.Text">
+ <value>安è£é©…動程å¼</value>
+ </data>
+ <data name="label1.Text">
+ <value>請執行下列步驟 :</value>
+ </data>
+ <data name="label2.Text">
+ <value>1. 請先確定迷你紅白機的電æºé–‹é—œå·²åˆ‡ç‚ºé—œé–‰ç‹€æ…‹</value>
+ </data>
+ <data name="label3.Text">
+ <value>2. (é‡æ–°)將您的迷你紅白機用USB線連接至您的電腦</value>
+ </data>
+ <data name="label4.Text">
+ <value>3. 先按ä½Reseté‡å•ŸæŒ‰éµä¸æ”¾ï¼Œå†é–‹å•Ÿç´…白機電æºã€‚</value>
+ </data>
+ <data name="label5.Text">
+ <value>4. 在幾秒之後å†æ”¾é–‹Reseté‡å•ŸæŒ‰éµï¼Œé›»æºLED燈應該是熄滅的</value>
+ </data>
+ <data name="label6.Text">
+ <value>5. 如果一直沒有開始安è£é©…å‹•ç¨‹å¼ :</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/WaitingForm.cs b/WaitingForm.cs
deleted file mode 100644
index 77ac2ba7..00000000
--- a/WaitingForm.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-using com.clusterrr.FelLib;
-using com.clusterrr.hakchi_gui.Properties;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using System.Management;
-using System.Windows.Forms;
-
-namespace com.clusterrr.hakchi_gui
-{
- public partial class WaitingForm : Form
- {
- readonly UInt16 vid, pid;
-
- public WaitingForm(UInt16 vid, UInt16 pid)
- {
- InitializeComponent();
- this.vid = vid;
- this.pid = pid;
- timer.Enabled = true;
- }
-
- public static bool WaitForDevice(UInt16 vid, UInt16 pid)
- {
- if (Fel.DeviceExists(vid, pid)) return true;
- var form = new WaitingForm(vid, pid);
- form.ShowDialog();
- return form.DialogResult == DialogResult.OK;
- }
-
- static bool DeviceExists(UInt16 vid, UInt16 pid)
- {
- var devices = GetUSBDevices();
- var id = string.Format("VID_{0:X4}&PID_{1:X4}", vid, pid);
- foreach (var device in devices)
- {
- if (device.DeviceID.Contains(id))
- return true;
- }
- return false;
- }
-
- private void timer_Tick(object sender, EventArgs e)
- {
- if (Fel.DeviceExists(vid, pid))
- {
- DialogResult = DialogResult.OK;
- timer.Enabled = false;
- }
- }
-
- private void WaitingForm_FormClosing(object sender, FormClosingEventArgs e)
- {
- if (!Fel.DeviceExists(vid, pid))
- {
- if (MessageBox.Show(this, Resources.DoYouWantCancel, Resources.AreYouSure, MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
- == System.Windows.Forms.DialogResult.No)
- e.Cancel = true;
- else
- {
- DialogResult = DialogResult.Abort;
- }
- }
- }
-
- private void buttonDriver_Click(object sender, EventArgs e)
- {
- try
- {
- // XP?
- if (System.Environment.OSVersion.Version.Major == 5 && System.Environment.OSVersion.Version.Minor <= 1)
- {
- MessageBox.Show(this, Resources.XpZadig, "Windows XP/2000", MessageBoxButtons.OK, MessageBoxIcon.Information);
- var process = new Process();
- var fileName = "http://zadig.akeo.ie/";
- process.StartInfo.FileName = fileName;
- process.Start();
- }
- else
- {
- var process = new Process();
- var fileName = Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "driver"), "nesmini_driver.exe");
- process.StartInfo.FileName = fileName;
- process.Start();
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
-
- private void WaitingForm_FormClosed(object sender, FormClosedEventArgs e)
- {
- timer.Enabled = false;
- }
-
- static List<USBDeviceInfo> GetUSBDevices()
- {
- List<USBDeviceInfo> devices = new List<USBDeviceInfo>();
-
- ManagementObjectCollection collection;
- using (var searcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_PnPEntity where DeviceID Like ""USB%"""))
- collection = searcher.Get();
-
- foreach (var device in collection)
- {
- devices.Add(new USBDeviceInfo(
- (string)device.GetPropertyValue("DeviceID"),
- (string)device.GetPropertyValue("PNPDeviceID"),
- (string)device.GetPropertyValue("Description")
- ));
- }
-
- collection.Dispose();
- return devices;
- }
- }
-
- class USBDeviceInfo
- {
- public USBDeviceInfo(string deviceID, string pnpDeviceID, string description)
- {
- this.DeviceID = deviceID;
- this.PnpDeviceID = pnpDeviceID;
- this.Description = description;
- }
- public string DeviceID { get; private set; }
- public string PnpDeviceID { get; private set; }
- public string Description { get; private set; }
- }
-}
-
-
diff --git a/WorkerForm.cs b/WorkerForm.cs
index 4f32e910..22349f9e 100644
--- a/WorkerForm.cs
+++ b/WorkerForm.cs
@@ -1,10 +1,14 @@
using com.clusterrr.Famicom;
using com.clusterrr.FelLib;
using com.clusterrr.hakchi_gui.Properties;
+using com.clusterrr.util;
using SevenZip;
using System;
using System.Collections.Generic;
using System.Diagnostics;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
@@ -15,27 +19,45 @@ namespace com.clusterrr.hakchi_gui
{
public partial class WorkerForm : Form
{
- public enum Tasks { DumpKernel, FlashKernel, Memboot, DownloadAllCovers, AddGames };
+ public enum Tasks { DumpKernel, FlashKernel, DumpNand, FlashNand, DumpNandB, Memboot, UploadGames, DownloadAllCovers, AddGames };
public Tasks Task;
//public string UBootDump;
- public string KernelDump;
+ public static string KernelDumpPath
+ {
+ get
+ {
+ switch (ConfigIni.ConsoleType)
+ {
+ default:
+ case MainForm.ConsoleType.NES:
+ return Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel.img");
+ case MainForm.ConsoleType.Famicom:
+ return Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel_famicom.img");
+ case MainForm.ConsoleType.SNES:
+ return Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel_snes.img");
+ case MainForm.ConsoleType.SuperFamicom:
+ return Path.Combine(Path.Combine(Program.BaseDirectoryExternal, "dump"), "kernel_super_famicom.img");
+ }
+ }
+ }
+ public string NandDump;
public string Mod = null;
public Dictionary<string, string> Config = null;
- public string[] HiddenGames;
public NesMenuCollection Games;
- public List<string> hmodsInstall;
- public List<string> hmodsUninstall;
- public string[] GamesToAdd;
+ public IEnumerable<string> hmodsInstall;
+ public IEnumerable<string> hmodsUninstall;
+ public IEnumerable<string> GamesToAdd;
public NesMenuCollection.SplitStyle FoldersMode = NesMenuCollection.SplitStyle.Auto;
public int MaxGamesPerFolder = 35;
- public MainForm MainForm;
+ private MainForm MainForm;
Thread thread = null;
Fel fel = null;
const UInt16 vid = 0x1F3A;
const UInt16 pid = 0xEFE8;
- readonly string baseDirectory;
+ readonly string baseDirectoryInternal;
+ readonly string baseDirectoryExternal;
readonly string fes1Path;
readonly string ubootPath;
readonly string tempDirectory;
@@ -49,53 +71,63 @@ namespace com.clusterrr.hakchi_gui
readonly string toolsDirectory;
readonly string kernelPatched;
readonly string ramdiskPatched;
- readonly string configPath;
- readonly string hiddenPath;
- readonly string tempGamesDirectory;
readonly string tempHmodsDirectory;
- readonly string cloverconDriverPath;
readonly string argumentsFilePath;
readonly string transferDirectory;
- readonly string originalGamesConfigDirectory;
- string[] correctKernels;
- long maxRamfsSize = 40 * 1024 * 1024;
+ string tempGamesDirectory;
+ //string originalGamesConfigDirectory;
+ //string hiddenPath;
+ Dictionary<MainForm.ConsoleType, string[]> correctKernels = new Dictionary<MainForm.ConsoleType, string[]>();
+ Dictionary<MainForm.ConsoleType, string[]> correctKeys = new Dictionary<MainForm.ConsoleType, string[]>();
const long maxCompressedsRamfsSize = 30 * 1024 * 1024;
string selectedFile = null;
public NesMiniApplication[] addedApplications;
+ public static int NandCTotal, NandCUsed, NandCFree, WritedGamesSize, SaveStatesSize;
+ public const long ReservedMemory = 10;
- public WorkerForm()
+ public WorkerForm(MainForm parentForm)
{
InitializeComponent();
+ MainForm = parentForm;
DialogResult = DialogResult.None;
- baseDirectory = MainForm.BaseDirectory;
- fes1Path = Path.Combine(Path.Combine(baseDirectory, "data"), "fes1.bin");
- ubootPath = Path.Combine(Path.Combine(baseDirectory, "data"), "uboot.bin");
- tempDirectory = Path.Combine(baseDirectory, "temp");
+ baseDirectoryInternal = Program.BaseDirectoryInternal;
+ baseDirectoryExternal = Program.BaseDirectoryExternal;
+ fes1Path = Path.Combine(Path.Combine(baseDirectoryInternal, "data"), "fes1.bin");
+ ubootPath = Path.Combine(Path.Combine(baseDirectoryInternal, "data"), "uboot.bin");
+#if DEBUG
+ tempDirectory = Path.Combine(baseDirectoryInternal, "temp");
+#else
+ tempDirectory = Path.Combine(Path.GetTempPath(), "hakchi-temp");
+#endif
kernelDirectory = Path.Combine(tempDirectory, "kernel");
initramfs_cpio = Path.Combine(kernelDirectory, "initramfs.cpio");
initramfs_cpioPatched = Path.Combine(kernelDirectory, "initramfs_mod.cpio");
ramfsDirectory = Path.Combine(kernelDirectory, "initramfs");
hakchiDirectory = Path.Combine(ramfsDirectory, "hakchi");
- modsDirectory = Path.Combine(baseDirectory, "mods");
- hmodDirectories = new string[]{
- Path.Combine(baseDirectory, "user_mods"),
+ modsDirectory = Path.Combine(baseDirectoryInternal, "mods");
+ hmodDirectories = new string[] {
+ Path.Combine(baseDirectoryExternal, "user_mods"),
Path.Combine(modsDirectory, "hmods")
};
- toolsDirectory = Path.Combine(baseDirectory, "tools");
+ toolsDirectory = Path.Combine(baseDirectoryInternal, "tools");
kernelPatched = Path.Combine(kernelDirectory, "patched_kernel.img");
ramdiskPatched = Path.Combine(kernelDirectory, "kernel.img-ramdisk_mod.gz");
- cloverconDriverPath = Path.Combine(hakchiDirectory, "clovercon.ko");
argumentsFilePath = Path.Combine(hakchiDirectory, "extra_args");
transferDirectory = Path.Combine(hakchiDirectory, "transfer");
- configPath = Path.Combine(transferDirectory, "transfer");
- tempGamesDirectory = Path.Combine(transferDirectory, "games");
tempHmodsDirectory = Path.Combine(transferDirectory, "hmod");
- originalGamesConfigDirectory = Path.Combine(tempGamesDirectory, "original");
- hiddenPath = Path.Combine(originalGamesConfigDirectory, "hidden");
- correctKernels = new string[] {
- "5cfdca351484e7025648abc3b20032ff", "07bfb800beba6ef619c29990d14b5158", // NES Mini
- "ac8144c3ea4ab32e017648ee80bdc230" // Famicom Mini
+
+ correctKernels[MainForm.ConsoleType.NES] = new string[] {
+ "5cfdca351484e7025648abc3b20032ff",
+ "07bfb800beba6ef619c29990d14b5158"
};
+ correctKernels[MainForm.ConsoleType.Famicom] = new string[] { "ac8144c3ea4ab32e017648ee80bdc230" }; // Famicom Mini
+ correctKernels[MainForm.ConsoleType.SNES] = new string[] {
+ "d76c2a091ebe7b4614589fc6954653a5", // SNES Mini (EUR)
+ "449b711238575763c6701f5958323d48" // SNES Mini (USA)
+ };
+ correctKernels[MainForm.ConsoleType.SuperFamicom] = new string[] { }; // SNES Mini (USA)
+ correctKeys[MainForm.ConsoleType.NES] = new string[] { "bb8f49e0ae5acc8d5f9b7fa40efbd3e7" };
+ correctKeys[MainForm.ConsoleType.SNES] = new string[] { "c5dbb6e29ea57046579cfd50b124c9e1" };
}
public DialogResult Start()
@@ -108,17 +140,18 @@ namespace com.clusterrr.hakchi_gui
return ShowDialog();
}
- DialogResult WaitForDeviceFromThread()
+ DialogResult WaitForFelFromThread()
{
if (InvokeRequired)
{
- return (DialogResult)Invoke(new Func<DialogResult>(WaitForDeviceFromThread));
+ return (DialogResult)Invoke(new Func<DialogResult>(WaitForFelFromThread));
}
SetStatus(Resources.WaitingForDevice);
if (fel != null)
fel.Close();
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Paused);
- if (WaitingForm.WaitForDevice(vid, pid))
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
+ var result = WaitingFelForm.WaitForDevice(vid, pid, this);
+ if (result)
{
fel = new Fel();
if (!File.Exists(fes1Path)) throw new FileNotFoundException(fes1Path + " not found");
@@ -128,9 +161,24 @@ namespace com.clusterrr.hakchi_gui
fel.Open(vid, pid);
SetStatus(Resources.UploadingFes1);
fel.InitDram(true);
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
return DialogResult.OK;
}
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
+ return DialogResult.Abort;
+ }
+ DialogResult WaitForClovershellFromThread()
+ {
+ if (InvokeRequired)
+ {
+ return (DialogResult)Invoke(new Func<DialogResult>(WaitForClovershellFromThread));
+ }
+ SetStatus(Resources.WaitingForDevice);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
+ var result = WaitingClovershellForm.WaitForDevice(this);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
+ if (result)
+ return DialogResult.OK;
else return DialogResult.Abort;
}
@@ -144,24 +192,24 @@ namespace com.clusterrr.hakchi_gui
return (DialogResult)Invoke(new MessageBoxFromThreadDelegate(MessageBoxFromThread),
new object[] { owner, text, caption, buttons, icon, defaultButton, tweak });
}
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Paused);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
if (tweak) MessageBoxManager.Register(); // Tweak button names
var result = MessageBox.Show(owner, text, caption, buttons, icon, defaultButton);
if (tweak) MessageBoxManager.Unregister();
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
return result;
}
- DialogResult FolderManagerFromThread(NesMenuCollection collection)
+ DialogResult FoldersManagerFromThread(NesMenuCollection collection)
{
if (InvokeRequired)
{
- return (DialogResult)Invoke(new Func<NesMenuCollection, DialogResult>(FolderManagerFromThread), new object[] { collection });
+ return (DialogResult)Invoke(new Func<NesMenuCollection, DialogResult>(FoldersManagerFromThread), new object[] { collection });
}
- var constructor = new TreeContructorForm(collection, MainForm);
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Paused);
+ var constructor = new FoldersManagerForm(collection, MainForm);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
var result = constructor.ShowDialog();
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
return result;
}
@@ -172,22 +220,25 @@ namespace com.clusterrr.hakchi_gui
return (DialogResult)Invoke(new Func<string[], DialogResult>(SelectFileFromThread), new object[] { files });
}
var form = new SelectFileForm(files);
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Paused);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
var result = form.ShowDialog();
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
if (form.listBoxFiles.SelectedItem != null)
selectedFile = form.listBoxFiles.SelectedItem.ToString();
else
selectedFile = null;
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
return result;
}
public void StartThread()
{
+ Thread.CurrentThread.CurrentUICulture = new CultureInfo(ConfigIni.Language);
SetProgress(0, 1);
try
{
DialogResult = DialogResult.None;
+ Debug.WriteLine("Executing task: " + Task.ToString());
switch (Task)
{
case Tasks.DumpKernel:
@@ -196,6 +247,18 @@ namespace com.clusterrr.hakchi_gui
case Tasks.FlashKernel:
FlashKernel();
break;
+ case Tasks.DumpNand:
+ DoNandDump();
+ break;
+ case Tasks.FlashNand:
+ DoNandFlash();
+ break;
+ case Tasks.DumpNandB:
+ DoNandBDump();
+ break;
+ case Tasks.UploadGames:
+ UploadGames();
+ break;
case Tasks.Memboot:
Memboot();
break;
@@ -222,8 +285,8 @@ namespace com.clusterrr.hakchi_gui
fel.Close();
fel = null;
}
+ GC.Collect();
}
- GC.Collect();
}
void SetStatus(string status)
@@ -249,13 +312,15 @@ namespace com.clusterrr.hakchi_gui
if (InvokeRequired)
{
Invoke(new Action<int, int>(SetProgress), new object[] { value, max });
+ if (value == max)
+ Thread.Sleep(1000);
return;
}
if (value > max) value = max;
progressBar.Maximum = max;
progressBar.Value = value;
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
- TaskbarProgress.SetValue(this.Handle, value, max);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetValue(this, value, max);
}
catch { }
}
@@ -270,19 +335,17 @@ namespace com.clusterrr.hakchi_gui
Invoke(new Action<Exception, bool>(ShowError), new object[] { ex, dontStop });
return;
}
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Error);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Error);
var message = ex.Message;
#if DEBUG
message += ex.StackTrace;
#endif
Debug.WriteLine(ex.Message + ex.StackTrace);
- if (ex is GameGenieFormatException || ex is GameGenieNotFoundException)
- MessageBox.Show(this, message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- else if (ex is MadWizard.WinUSBNet.USBException)
- MessageBox.Show(this, message + "\r\n" + Resources.PleaseTryAgainUSB, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- else
- MessageBox.Show(this, message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ //if (ex is MadWizard.WinUSBNet.USBException) // TODO
+ // MessageBox.Show(this, message + "\r\n" + Resources.PleaseTryAgainUSB, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ //else
+ MessageBox.Show(this, message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
if (!dontStop)
{
thread = null;
@@ -302,28 +365,26 @@ namespace com.clusterrr.hakchi_gui
Invoke(new Action<string, string>(ShowMessage), new object[] { text, title });
return;
}
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Paused);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Paused);
MessageBox.Show(this, text, title, MessageBoxButtons.OK, MessageBoxIcon.Information);
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.Normal);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.Normal);
}
catch { }
}
- public void DoKernelDump()
+ public bool DoKernelDump(string dumpPath = null, int maxProgress = 80, int progress = 0)
{
- int progress = 5;
- const int maxProgress = 80;
- if (WaitForDeviceFromThread() != DialogResult.OK)
+ if (WaitForFelFromThread() != DialogResult.OK)
{
DialogResult = DialogResult.Abort;
- return;
+ return false;
}
progress += 5;
SetProgress(progress, maxProgress);
SetStatus(Resources.DumpingKernel);
var kernel = fel.ReadFlash(Fel.kernel_base_f, Fel.sector_size * 0x20,
- delegate(Fel.CurrentAction action, string command)
+ delegate (Fel.CurrentAction action, string command)
{
switch (action)
{
@@ -339,7 +400,7 @@ namespace com.clusterrr.hakchi_gui
}
);
- var size = CalKernelSize(kernel);
+ var size = CalcKernelSize(kernel);
if (size == 0 || size > Fel.kernel_max_size)
throw new Exception(Resources.InvalidKernelSize + " " + size);
if (kernel.Length > size)
@@ -349,12 +410,16 @@ namespace com.clusterrr.hakchi_gui
kernel = sm_kernel;
}
- SetProgress(maxProgress, maxProgress);
- SetStatus(Resources.Done);
+ if (Task == Tasks.DumpKernel)
+ {
+ SetProgress(maxProgress, maxProgress);
+ SetStatus(Resources.Done);
+ }
var md5 = System.Security.Cryptography.MD5.Create();
var hash = BitConverter.ToString(md5.ComputeHash(kernel)).Replace("-", "").ToLower();
- if (!correctKernels.Contains(hash))
+ var matchedKernels = from k in correctKernels where k.Value.Contains(hash) select k.Key;
+ if (matchedKernels.Count() == 0)
{
if (MessageBoxFromThread(this, Resources.MD5Failed + " " + hash + "\r\n" + Resources.MD5Failed2 +
"\r\n" + Resources.DoYouWantToContinue, Resources.Warning, MessageBoxButtons.YesNo,
@@ -362,36 +427,82 @@ namespace com.clusterrr.hakchi_gui
== DialogResult.No)
{
DialogResult = DialogResult.Abort;
- return;
+ return false;
+ }
+
+ // Unknown MD5? Hmm... Lets extract ramfs and check keyfile!
+ string kernelDumpTemp = Path.Combine(tempDirectory, "kernel.img");
+ Directory.CreateDirectory(tempDirectory);
+ File.WriteAllBytes(kernelDumpTemp, kernel);
+ UnpackRamfs(kernelDumpTemp);
+ var key = File.ReadAllBytes(Path.Combine(ramfsDirectory, "key-file"));
+ if (dumpPath == null)
+ Directory.Delete(tempDirectory);
+ // I don't want to store keyfile inside my code, so I'll store MD5 of it
+ var keymd5 = System.Security.Cryptography.MD5.Create();
+ var keyhash = BitConverter.ToString(md5.ComputeHash(key)).Replace("-", "").ToLower();
+ // Lets try to autodetect console using key hash
+ var matchedKeys = from k in correctKeys where k.Value.Contains(keyhash) select k.Key;
+ if (matchedKeys.Count() > 0)
+ {
+ var console = matchedKeys.First();
+ if (console != ConfigIni.ConsoleType)
+ throw new Exception("Invalid console selected! Your kernel detected as " + console);
+ }
+ else throw new Exception("Unknown key, unknown console");
+ }
+ else
+ {
+ // Lets try to autodetect console using kernel hash
+ var console = matchedKernels.First();
+ if (console != ConfigIni.ConsoleType)
+ {
+ ConfigIni.ConsoleType = console;
+ Invoke(new Action(MainForm.SyncConsoleType));
}
}
- Directory.CreateDirectory(Path.GetDirectoryName(KernelDump));
- File.WriteAllBytes(KernelDump, kernel);
+ Directory.CreateDirectory(Path.GetDirectoryName(KernelDumpPath));
+ if (!File.Exists(KernelDumpPath))
+ File.WriteAllBytes(KernelDumpPath, kernel);
+ if (!string.IsNullOrEmpty(dumpPath))
+ File.WriteAllBytes(dumpPath, kernel);
+ return true;
}
public void FlashKernel()
{
int progress = 0;
- int maxProgress = 120 + (string.IsNullOrEmpty(Mod) ? 0 : 5);
- if (WaitForDeviceFromThread() != DialogResult.OK)
+ int maxProgress = 115 + (string.IsNullOrEmpty(Mod) ? 0 : 110) +
+ ((hmodsInstall != null && hmodsInstall.Count() > 0) ? 75 : 0);
+ var tempKernelPath = Path.Combine(tempDirectory, "kernel.img");
+ var hmods = hmodsInstall;
+ hmodsInstall = null;
+ if (WaitForFelFromThread() != DialogResult.OK)
{
DialogResult = DialogResult.Abort;
return;
}
- maxProgress += 5;
+ progress += 5;
SetProgress(progress, maxProgress);
+ if (Directory.Exists(tempDirectory))
+ Directory.Delete(tempDirectory, true);
+ Directory.CreateDirectory(tempDirectory);
+
byte[] kernel;
if (!string.IsNullOrEmpty(Mod))
{
- kernel = CreatePatchedKernel();
+ if (!DoKernelDump(tempKernelPath, maxProgress, progress))
+ return;
+ progress += 80;
+ kernel = CreatePatchedKernel(tempKernelPath);
progress += 5;
SetProgress(progress, maxProgress);
}
else
- kernel = File.ReadAllBytes(KernelDump);
- var size = CalKernelSize(kernel);
+ kernel = File.ReadAllBytes(KernelDumpPath);
+ var size = CalcKernelSize(kernel);
if (size > kernel.Length || size > Fel.kernel_max_size)
throw new Exception(Resources.InvalidKernelSize + " " + size);
@@ -405,7 +516,7 @@ namespace com.clusterrr.hakchi_gui
}
fel.WriteFlash(Fel.kernel_base_f, kernel,
- delegate(Fel.CurrentAction action, string command)
+ delegate (Fel.CurrentAction action, string command)
{
switch (action)
{
@@ -421,7 +532,7 @@ namespace com.clusterrr.hakchi_gui
}
);
var r = fel.ReadFlash((UInt32)Fel.kernel_base_f, (UInt32)kernel.Length,
- delegate(Fel.CurrentAction action, string command)
+ delegate (Fel.CurrentAction action, string command)
{
switch (action)
{
@@ -439,184 +550,481 @@ namespace com.clusterrr.hakchi_gui
if (!kernel.SequenceEqual(r))
throw new Exception(Resources.VerifyFailed);
- if (string.IsNullOrEmpty(Mod))
+ hmodsInstall = hmods;
+ if (hmodsInstall != null && hmodsInstall.Count() > 0)
{
- var shutdownCommand = string.Format("shutdown", Fel.kernel_base_m);
+ Memboot(maxProgress, progress); // Lets install some mods
+ }
+ else
+ {
+ var shutdownCommand = "shutdown";
SetStatus(Resources.ExecutingCommand + " " + shutdownCommand);
fel.RunUbootCmd(shutdownCommand, true);
+#if !DEBUG
+ Directory.Delete(tempDirectory, true);
+#endif
+ SetStatus(Resources.Done);
+ SetProgress(maxProgress, maxProgress);
}
- SetStatus(Resources.Done);
- SetProgress(maxProgress, maxProgress);
}
- public void Memboot()
+ public void DoNandDump()
{
int progress = 0;
- int maxProgress = -1;
- var stats = new GamesTreeStats();
-
- if (Games != null)
+ const int maxProgress = 8373;
+ if (WaitForFelFromThread() != DialogResult.OK)
{
- SetStatus(Resources.BuildingFolders);
- if (FoldersMode == NesMenuCollection.SplitStyle.Custom)
+ DialogResult = DialogResult.Abort;
+ return;
+ }
+ progress += 5;
+ SetProgress(progress, maxProgress);
+
+ SetStatus(Resources.DumpingNand);
+ var kernel = fel.ReadFlash(0, Fel.sector_size * 0x1000,
+ delegate (Fel.CurrentAction action, string command)
{
- if (FolderManagerFromThread(Games) != System.Windows.Forms.DialogResult.OK)
+ switch (action)
{
- DialogResult = DialogResult.Abort;
- return;
+ case Fel.CurrentAction.RunningCommand:
+ SetStatus(Resources.ExecutingCommand + " " + command);
+ break;
+ case Fel.CurrentAction.ReadingMemory:
+ SetStatus(Resources.DumpingNand);
+ break;
}
- Games.AddBack();
+ progress++;
+ SetProgress(progress, maxProgress);
}
- else Games.Split(FoldersMode, MaxGamesPerFolder);
+ );
+
+ SetProgress(maxProgress, maxProgress);
+ SetStatus(Resources.Done);
+
+ Directory.CreateDirectory(Path.GetDirectoryName(NandDump));
+ File.WriteAllBytes(NandDump, kernel);
+ }
+
+ public void DoNandFlash()
+ {
+ int progress = 0;
+ const int maxProgress = 9605;
+ if (WaitForFelFromThread() != DialogResult.OK)
+ {
+ DialogResult = DialogResult.Abort;
+ return;
}
progress += 5;
- SetProgress(progress, 1000);
+ SetProgress(progress, maxProgress);
- do
- {
- if (stats.GamesProceed > 0)
+ var nand = File.ReadAllBytes(NandDump);
+ if (nand.Length != 512 * 1024 * 1024)
+ throw new Exception("Invalid NAND size");
+
+ SetStatus("...");
+ fel.WriteFlash(0, nand,
+ delegate (Fel.CurrentAction action, string command)
{
- ShowMessage(Resources.ParticallyBody, Resources.ParticallyTitle);
+ switch (action)
+ {
+ case Fel.CurrentAction.RunningCommand:
+ SetStatus(Resources.ExecutingCommand + " " + command);
+ break;
+ case Fel.CurrentAction.WritingMemory:
+ SetStatus("...");
+ break;
+ }
+ progress++;
+ SetProgress(progress, maxProgress);
}
- GC.Collect();
+ );
- // Connecting to NES Mini
- if (WaitForDeviceFromThread() != DialogResult.OK)
+ var shutdownCommand = "shutdown";
+ SetStatus(Resources.ExecutingCommand + " " + shutdownCommand);
+ fel.RunUbootCmd(shutdownCommand, true);
+ SetStatus(Resources.Done);
+ SetProgress(maxProgress, maxProgress);
+ }
+
+ public void DoNandBDump()
+ {
+ int progress = 0;
+ int maxProgress = 30;
+ var clovershell = MainForm.Clovershell;
+ try
+ {
+ if (WaitForClovershellFromThread() != DialogResult.OK)
{
DialogResult = DialogResult.Abort;
return;
}
progress += 5;
- SetProgress(progress, maxProgress > 0 ? maxProgress : 1000);
+ SetProgress(progress, maxProgress);
- byte[] kernel;
- if (!string.IsNullOrEmpty(Mod))
+ ShowSplashScreen();
+
+ var nandbSize = int.Parse(clovershell.ExecuteSimple("df / | tail -n 1 | awk '{ print $2 }'"));
+ maxProgress = 5 + nandbSize / 1024;
+ SetProgress(progress, maxProgress);
+
+ SetStatus(Resources.DumpingNand);
+ using (var file = new TrackableFileStream(NandDump, FileMode.Create))
{
- var origMaxRamfsSize = maxRamfsSize;
- var origGamesProceed = stats.GamesProceed;
- while (true)
+ file.OnProgress += delegate (long Position, long Length)
{
- kernel = CreatePatchedKernel(stats);
- if (kernel.Length < maxCompressedsRamfsSize) break;
- maxRamfsSize -= 5 * 1024 * 1024;
- Debug.WriteLine(string.Format("Kernel size is too big: {0}MB, reducing max unpacked size to {1}MB", kernel.Length / 1024 / 1024, maxRamfsSize / 1024 / 1024));
- stats.GamesProceed = origGamesProceed;
- }
- maxRamfsSize = origMaxRamfsSize;
+ progress = (int)(5 + Position / 1024);
+ SetProgress(progress, maxProgress);
+ };
+ clovershell.Execute("dd if=/dev/mapper/root-crypt", null, file);
+ file.Close();
}
- else
- kernel = File.ReadAllBytes(KernelDump);
- var size = CalKernelSize(kernel);
- if (size > kernel.Length || size > Fel.kernel_max_size)
- throw new Exception(Resources.InvalidKernelSize + " " + size);
- size = (size + Fel.sector_size - 1) / Fel.sector_size;
- size = size * Fel.sector_size;
- if (kernel.Length != size)
+
+ SetStatus(Resources.Done);
+ SetProgress(maxProgress, maxProgress);
+ }
+ finally
+ {
+ try
{
- var newK = new byte[size];
- Array.Copy(kernel, newK, kernel.Length);
- kernel = newK;
+ if (clovershell.IsOnline)
+ clovershell.ExecuteSimple("reboot", 100);
}
- progress += 5;
- if (maxProgress < 0)
+ catch { }
+ }
+ }
+
+ private void File_OnProgress(long Position, long Length)
+ {
+ throw new NotImplementedException();
+ }
+
+ public static void GetMemoryStats()
+ {
+ var clovershell = MainForm.Clovershell;
+ var nandc = clovershell.ExecuteSimple("df /dev/nandc | tail -n 1 | awk '{ print $2 \" | \" $3 \" | \" $4 }'", 500, true).Split('|');
+ WritedGamesSize = int.Parse(clovershell.ExecuteSimple("mkdir -p /var/lib/hakchi/rootfs/usr/share/games/ && du -s /var/lib/hakchi/rootfs/usr/share/games/ | awk '{ print $1 }'", 1000, true)) * 1024;
+ SaveStatesSize = int.Parse(clovershell.ExecuteSimple("mkdir -p /var/lib/clover/profiles/0/ && du -s /var/lib/clover/profiles/0/ | awk '{ print $1 }'", 1000, true)) * 1024;
+ NandCTotal = int.Parse(nandc[0]) * 1024;
+ NandCUsed = int.Parse(nandc[1]) * 1024;
+ NandCFree = int.Parse(nandc[2]) * 1024;
+ Debug.WriteLine(string.Format("NANDC size: {0:F1}MB, used: {1:F1}MB, free: {2:F1}MB", NandCTotal / 1024.0 / 1024.0, NandCUsed / 1024.0 / 1024.0, NandCFree / 1024.0 / 1024.0));
+ Debug.WriteLine(string.Format("Used by games: {0:F1}MB", WritedGamesSize / 1024.0 / 1024.0));
+ Debug.WriteLine(string.Format("Used by save-states: {0:F1}MB", SaveStatesSize / 1024.0 / 1024.0));
+ Debug.WriteLine(string.Format("Used by other files (mods, configs, etc.): {0:F1}MB", (NandCUsed - WritedGamesSize - SaveStatesSize) / 1024.0 / 1024.0));
+ Debug.WriteLine(string.Format("Available for games: {0:F1}MB", (NandCFree + WritedGamesSize) / 1024.0 / 1024.0));
+ }
+
+ public static void ShowSplashScreen()
+ {
+ var clovershell = MainForm.Clovershell;
+ var splashScreenPath = Path.Combine(Path.Combine(Program.BaseDirectoryInternal, "data"), "splash.gz");
+ clovershell.ExecuteSimple("pkill -KILL clover-mcp");
+ clovershell.ExecuteSimple("pkill -KILL ReedPlayer-Clover");
+ clovershell.ExecuteSimple("pkill -KILL kachikachi");
+ clovershell.ExecuteSimple("pkill -KILL canoe-shvc");
+ if (File.Exists(splashScreenPath))
+ {
+ using (var splash = new FileStream(splashScreenPath, FileMode.Open))
{
- if (stats.GamesProceed > 0)
- maxProgress = (int)(((double)kernel.Length / (double)67000 + 20) * (double)stats.TotalSize / (double)stats.Size +
- 100 * ((int)Math.Ceiling((double)stats.TotalSize / (double)stats.Size) - 1));
- else
- maxProgress = (int)((double)kernel.Length / (double)67000 + 20);
+ clovershell.Execute("gunzip -c - > /dev/fb0", splash, null, null, 3000);
}
+ }
+ }
+
+ public void UploadGames()
+ {
+ string gamesPath = NesMiniApplication.GamesCloverPath;
+ const string rootFsPath = "/var/lib/hakchi/rootfs";
+ const string installPath = "/var/lib/hakchi";
+ int progress = 0;
+ int maxProgress = 400;
+ if (Games == null || Games.Count == 0)
+ throw new Exception("there are no games");
+ SetStatus(Resources.BuildingFolders);
+ if (FoldersMode == NesMenuCollection.SplitStyle.Custom)
+ {
+ if (FoldersManagerFromThread(Games) != System.Windows.Forms.DialogResult.OK)
+ {
+ DialogResult = DialogResult.Abort;
+ return;
+ }
+ Games.AddBack();
+ }
+ else Games.Split(FoldersMode, MaxGamesPerFolder);
+ progress += 5;
+ SetProgress(progress, maxProgress);
+
+ var clovershell = MainForm.Clovershell;
+ try
+ {
+ if (WaitForClovershellFromThread() != DialogResult.OK)
+ {
+ DialogResult = DialogResult.Abort;
+ return;
+ }
+ progress += 5;
+ SetProgress(progress, maxProgress);
+
+ ShowSplashScreen();
+
+ SetStatus(Resources.BuildingFolders);
+ if (Directory.Exists(tempDirectory))
+ Directory.Delete(tempDirectory, true);
+ Directory.CreateDirectory(tempDirectory);
+ // Games!
+ tempGamesDirectory = Path.Combine(tempDirectory, "games");
+ Directory.CreateDirectory(tempDirectory);
+ Directory.CreateDirectory(tempGamesDirectory);
+ Dictionary<string, string> originalGames = new Dictionary<string, string>();
+ var stats = new GamesTreeStats();
+ AddMenu(Games, originalGames, stats);
+ progress += 5;
SetProgress(progress, maxProgress);
- SetStatus(Resources.UploadingKernel);
- fel.WriteMemory(Fel.flash_mem_base, kernel,
- delegate(Fel.CurrentAction action, string command)
+ GetMemoryStats();
+ var maxGamesSize = (NandCFree + WritedGamesSize) - ReservedMemory * 1024 * 1024;
+ if (stats.TotalSize > maxGamesSize)
+ {
+ throw new Exception(string.Format(Resources.MemoryFull, stats.TotalSize / 1024 / 1024) + "\r\n\r\n" +
+ string.Format(Resources.MemoryStats.Replace("|", "\r\n"),
+ NandCTotal / 1024.0 / 1024.0,
+ (NandCFree + WritedGamesSize - ReservedMemory * 1024 * 1024) / 1024 / 1024,
+ SaveStatesSize / 1024.0 / 1024.0,
+ (NandCUsed - WritedGamesSize - SaveStatesSize) / 1024.0 / 1024.0));
+ }
+
+ int startProgress = progress;
+ using (var gamesTar = new TarStream(tempGamesDirectory))
+ {
+ maxProgress = (int)(gamesTar.Length / 1024 / 1024 + 20 + originalGames.Count() * 2);
+ SetProgress(progress, maxProgress);
+
+ clovershell.ExecuteSimple(string.Format("umount {0}", gamesPath));
+ clovershell.ExecuteSimple(string.Format("rm -rf {0}{1}/CLV-* {0}{1}/??? {2}/menu", rootFsPath, gamesPath, installPath), 5000, true);
+
+ if (gamesTar.Length > 0)
{
- switch (action)
+ gamesTar.OnReadProgress += delegate (long pos, long len)
{
- case Fel.CurrentAction.WritingMemory:
- SetStatus(Resources.UploadingKernel);
- break;
- }
- progress++;
- SetProgress(progress, maxProgress);
+ progress = (int)(startProgress + pos / 1024 / 1024);
+ SetProgress(progress, maxProgress);
+ };
+
+ SetStatus(Resources.UploadingGames);
+ clovershell.Execute(string.Format("tar -xvC {0}{1}", rootFsPath, gamesPath), gamesTar, null, null, 30000, true);
}
- );
+ }
- var bootCommand = string.Format("boota {0:x}", Fel.kernel_base_m);
- SetStatus(Resources.ExecutingCommand + " " + bootCommand);
- fel.RunUbootCmd(bootCommand, true);
- } while (stats.GamesProceed < stats.TotalGames);
- SetStatus(Resources.Done);
- SetProgress(maxProgress, maxProgress);
+ SetStatus(Resources.UploadingOriginalGames);
+ startProgress = progress;
+ foreach (var originalCode in originalGames.Keys)
+ {
+ string originalSyncCode = "";
+ switch (ConfigIni.ConsoleType)
+ {
+ case MainForm.ConsoleType.NES:
+ case MainForm.ConsoleType.Famicom:
+ originalSyncCode = $"mkdir -p \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " +
+ $"rsync -ac \"{gamesPath}/{originalCode}/\" \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " +
+ $"sed -i -e 's/\\/usr\\/bin\\/clover-kachikachi/\\/bin\\/clover-kachikachi-wr/g' \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/{originalCode}.desktop\"";
+ break;
+ case MainForm.ConsoleType.SNES:
+ case MainForm.ConsoleType.SuperFamicom:
+ originalSyncCode = $"mkdir -p \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " +
+ $"rsync -ac \"{gamesPath}/{originalCode}/\" \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\"";
+ /*
+ // With compression but very slow
+ originalSyncCode = $"mkdir -p \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " +
+ $"rsync -ac \"{gamesPath}/{originalCode}/\" \"/tmp/{originalCode}/\" && " +
+ $"gzip \"/tmp/{originalCode}/{originalCode}.sfrom\" && " +
+ $"rsync -ac \"/tmp/{originalCode}/\" \"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " +
+ $"rm -rf \"/tmp/{originalCode}/\"";
+ */
+ break;
+ }
+ clovershell.ExecuteSimple(originalSyncCode, 30000, true);
+ progress += 2;
+ SetProgress(progress, maxProgress);
+ };
+
+ SetStatus(Resources.UploadingConfig);
+ SyncConfig(Config);
+#if !DEBUG
+ Directory.Delete(tempDirectory, true);
+#endif
+ SetStatus(Resources.Done);
+ SetProgress(maxProgress, maxProgress);
+ }
+ finally
+ {
+ try
+ {
+ if (clovershell.IsOnline)
+ clovershell.ExecuteSimple("reboot", 100);
+ }
+ catch { }
+ }
}
- private byte[] CreatePatchedKernel(GamesTreeStats stats = null)
+ public static void SyncConfig(Dictionary<string, string> Config, bool reboot = false)
{
- if (stats == null) stats = new GamesTreeStats();
- var origGamesProceed = stats.GamesProceed;
- bool first = stats.GamesProceed == 0;
- bool partial = stats.GamesProceed > 0;
- SetStatus(Resources.BuildingCustom);
- if (first || !Directory.Exists(ramfsDirectory))
+ var clovershell = MainForm.Clovershell;
+
+ // Writing config
+ var config = new MemoryStream();
+ if (Config != null && Config.Count > 0)
{
- if (Directory.Exists(tempDirectory))
- Directory.Delete(tempDirectory, true);
- Directory.CreateDirectory(tempDirectory);
- Directory.CreateDirectory(kernelDirectory);
- Directory.CreateDirectory(ramfsDirectory);
- if (!ExecuteTool("unpackbootimg.exe", string.Format("-i \"{0}\" -o \"{1}\"", KernelDump, kernelDirectory)))
- throw new Exception("Can't unpack kernel image");
- if (!ExecuteTool("lzop.exe", string.Format("-d \"{0}\" -o \"{1}\"",
- Path.Combine(kernelDirectory, "kernel.img-ramdisk.gz"), initramfs_cpio)))
- throw new Exception("Can't unpack ramdisk");
- ExecuteTool("cpio.exe", string.Format("-imd --no-preserve-owner --quiet -I \"{0}\"",
- @"..\initramfs.cpio"), ramfsDirectory);
- if (!File.Exists(Path.Combine(ramfsDirectory, "init"))) // cpio.exe fails on Windows XP for some reason. But working!
- throw new Exception("Can't unpack ramdisk 2");
- if (Directory.Exists(hakchiDirectory)) Directory.Delete(hakchiDirectory, true);
- NesMiniApplication.DirectoryCopy(Path.Combine(modsDirectory, Mod), ramfsDirectory, true);
- var ramfsFiles = Directory.GetFiles(ramfsDirectory, "*.*", SearchOption.AllDirectories);
- foreach (var file in ramfsFiles)
+ foreach (var key in Config.Keys)
{
- var fInfo = new FileInfo(file);
- if (fInfo.Length > 10 && fInfo.Length < 100 && ((fInfo.Attributes & FileAttributes.System) == 0) &&
- (Encoding.ASCII.GetString(File.ReadAllBytes(file), 0, 10)) == "!<symlink>")
- fInfo.Attributes |= FileAttributes.System;
+ var data = Encoding.UTF8.GetBytes(string.Format("cfg_{0}='{1}'\n", key, Config[key].Replace(@"'", @"\'")));
+ config.Write(data, 0, data.Length);
}
}
-
- if (!first && Directory.Exists(transferDirectory))
+ clovershell.Execute("cat > /tmp/config", config, null, null, 1000, true);
+ clovershell.Execute("temppath=/tmp && source /etc/preinit && script_init && source /tmp/config && source $preinit.d/pffff_config", null, null, null, 30000, true);
+ config.Dispose();
+ if (reboot)
{
- Debug.WriteLine("Clearing transfer directory");
- Directory.Delete(transferDirectory, true);
+ try
+ {
+ clovershell.ExecuteSimple("reboot", 100);
+ }
+ catch { }
}
+ }
- // Games!
- if (Games != null)
+ public static Image TakeScreenshot()
+ {
+ var clovershell = MainForm.Clovershell;
+ var screenshot = new Bitmap(1280, 720, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
+ var rawStream = new MemoryStream();
+ clovershell.Execute("cat /dev/fb0", null, rawStream, null, 1000, true);
+ var raw = rawStream.ToArray();
+ BitmapData data = screenshot.LockBits(
+ new Rectangle(0, 0, screenshot.Width, screenshot.Height),
+ ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
+
+ int rawOffset = 0;
+ unsafe
{
- Directory.CreateDirectory(tempGamesDirectory);
- if (first)
+ for (int y = 0; y < screenshot.Height; ++y)
{
- File.WriteAllBytes(Path.Combine(tempGamesDirectory, "clear"), new byte[0]);
- Directory.CreateDirectory(originalGamesConfigDirectory);
- if (HiddenGames != null && HiddenGames.Length > 0)
+ byte* row = (byte*)data.Scan0 + (y * data.Stride);
+ int columnOffset = 0;
+ for (int x = 0; x < screenshot.Width; ++x)
{
- StringBuilder h = new StringBuilder();
- foreach (var game in HiddenGames)
- h.Append(game + "\n");
- File.WriteAllText(hiddenPath, h.ToString());
+ row[columnOffset] = raw[rawOffset];
+ row[columnOffset + 1] = raw[rawOffset + 1];
+ row[columnOffset + 2] = raw[rawOffset + 2];
+
+ columnOffset += 3;
+ rawOffset += 4;
}
}
+ }
+ screenshot.UnlockBits(data);
+ return screenshot;
+ }
- stats.Next();
- AddMenu(Games, stats);
- Debug.WriteLine(string.Format("Games copied: {0}/{1}, part size: {2}", stats.GamesProceed, stats.TotalGames, stats.Size));
+ public void Memboot(int maxProgress = -1, int progress = 0)
+ {
+ SetProgress(progress, maxProgress < 0 ? 1000 : maxProgress);
+ // Connecting to NES Mini
+ if (WaitForFelFromThread() != DialogResult.OK)
+ {
+ DialogResult = DialogResult.Abort;
+ return;
+ }
+ progress += 5;
+ SetProgress(progress, maxProgress > 0 ? maxProgress : 1000);
+
+ if (Directory.Exists(tempDirectory))
+ Directory.Delete(tempDirectory, true);
+ Directory.CreateDirectory(tempDirectory);
+
+ byte[] kernel;
+ if (!string.IsNullOrEmpty(Mod))
+ kernel = CreatePatchedKernel();
+ else
+ kernel = File.ReadAllBytes(KernelDumpPath);
+ var size = CalcKernelSize(kernel);
+ if (size > kernel.Length || size > Fel.transfer_max_size)
+ throw new Exception(Resources.InvalidKernelSize + " " + size);
+ size = (size + Fel.sector_size - 1) / Fel.sector_size;
+ size = size * Fel.sector_size;
+ if (kernel.Length != size)
+ {
+ var newK = new byte[size];
+ Array.Copy(kernel, newK, kernel.Length);
+ kernel = newK;
}
+ progress += 5;
+ if (maxProgress < 0)
+ maxProgress = (int)((double)kernel.Length / (double)67000 + 20);
+ SetProgress(progress, maxProgress);
+
+ SetStatus(Resources.UploadingKernel);
+ fel.WriteMemory(Fel.transfer_base_m, kernel,
+ delegate (Fel.CurrentAction action, string command)
+ {
+ switch (action)
+ {
+ case Fel.CurrentAction.WritingMemory:
+ SetStatus(Resources.UploadingKernel);
+ break;
+ }
+ progress++;
+ SetProgress(progress, maxProgress);
+ }
+ );
+
+ var bootCommand = string.Format("boota {0:x}", Fel.transfer_base_m);
+ SetStatus(Resources.ExecutingCommand + " " + bootCommand);
+ fel.RunUbootCmd(bootCommand, true);
+ Thread.Sleep(7000);
+#if !DEBUG
+ Directory.Delete(tempDirectory, true);
+#endif
+ SetStatus(Resources.Done);
+ SetProgress(maxProgress, maxProgress);
+ }
- bool last = stats.GamesProceed >= stats.TotalGames;
+ private void UnpackRamfs(string kernelPath = null)
+ {
+ Directory.CreateDirectory(tempDirectory);
+ Directory.CreateDirectory(kernelDirectory);
+ Directory.CreateDirectory(ramfsDirectory);
+ string tempKernelDump = Path.Combine(tempDirectory, "kernel.img");
+ if ((kernelPath ?? KernelDumpPath) != tempKernelDump)
+ File.Copy(kernelPath ?? KernelDumpPath, tempKernelDump, true);
+ if (!ExecuteTool("unpackbootimg.exe", string.Format("-i \"{0}\" -o \"{1}\"", tempKernelDump, kernelDirectory)))
+ throw new Exception("Can't unpack kernel image");
+ if (!ExecuteTool("lzop.exe", string.Format("-d \"{0}\" -o \"{1}\"",
+ Path.Combine(kernelDirectory, "kernel.img-ramdisk.gz"), initramfs_cpio)))
+ throw new Exception("Can't unpack ramdisk");
+ ExecuteTool("cpio.exe", string.Format("-imd --no-preserve-owner --quiet -I \"{0}\"",
+ @"..\initramfs.cpio"), ramfsDirectory);
+ if (!File.Exists(Path.Combine(ramfsDirectory, "init"))) // cpio.exe fails on Windows XP for some reason. But working!
+ throw new Exception("Can't unpack ramdisk 2");
+ }
- if (last && hmodsInstall != null && hmodsInstall.Count > 0)
+ private byte[] CreatePatchedKernel(string kernelPath = null)
+ {
+ SetStatus(Resources.BuildingCustom);
+ if (!File.Exists(Path.Combine(ramfsDirectory, "init")))
+ UnpackRamfs(kernelPath);
+ if (Directory.Exists(hakchiDirectory)) Directory.Delete(hakchiDirectory, true);
+ NesMiniApplication.DirectoryCopy(Path.Combine(modsDirectory, Mod), ramfsDirectory, true);
+ var ramfsFiles = Directory.GetFiles(ramfsDirectory, "*.*", SearchOption.AllDirectories);
+ foreach (var file in ramfsFiles)
+ {
+ var fInfo = new FileInfo(file);
+ if (fInfo.Length > 10 && fInfo.Length < 100 && ((fInfo.Attributes & FileAttributes.System) == 0) &&
+ (Encoding.ASCII.GetString(File.ReadAllBytes(file), 0, 10)) == "!<symlink>")
+ fInfo.Attributes |= FileAttributes.System;
+ }
+
+ if (hmodsInstall != null && hmodsInstall.Count() > 0)
{
Directory.CreateDirectory(tempHmodsDirectory);
foreach (var hmod in hmodsInstall)
@@ -637,7 +1045,7 @@ namespace com.clusterrr.hakchi_gui
}
}
}
- if (last && hmodsUninstall != null && hmodsUninstall.Count > 0)
+ if (hmodsUninstall != null && hmodsUninstall.Count() > 0)
{
Directory.CreateDirectory(tempHmodsDirectory);
var mods = new StringBuilder();
@@ -646,19 +1054,7 @@ namespace com.clusterrr.hakchi_gui
File.WriteAllText(Path.Combine(tempHmodsDirectory, "uninstall"), mods.ToString());
}
- // Writing config
- if (Config != null && Config.Count > 0)
- {
- Directory.CreateDirectory(transferDirectory);
- var config = new StringBuilder();
- foreach (var key in Config.Keys)
- config.AppendFormat("cfg_{0}='{1}'\n", key, Config[key].Replace(@"'", @"\'"));
- File.WriteAllText(configPath, config.ToString());
- }
-
// Building image
- if (first && Games != null && Games.Count > 0) // There is no reason to compress cryptsetup when we do not uploading games
- ExecuteTool("upx.exe", "--best sbin\\cryptsetup", ramfsDirectory);
byte[] ramdisk;
if (!ExecuteTool("mkbootfs.exe", string.Format("\"{0}\"", ramfsDirectory), out ramdisk))
throw new Exception("Can't repack ramdisk");
@@ -679,10 +1075,8 @@ namespace com.clusterrr.hakchi_gui
var result = File.ReadAllBytes(kernelPatched);
#if !DEBUG
- if (last)
- Directory.Delete(tempDirectory, true);
+ Directory.Delete(tempDirectory, true);
#endif
- GC.Collect();
return result;
}
@@ -737,25 +1131,11 @@ namespace com.clusterrr.hakchi_gui
{
public List<NesMenuCollection> allMenus = new List<NesMenuCollection>();
public int TotalGames = 0;
- public int GamesStart = 0;
- public int GamesProceed = 0;
- public long Size = 0;
public long TotalSize = 0;
- public bool Stopped;
-
- public void Next()
- {
- allMenus.Clear();
- GamesStart = GamesProceed;
- TotalGames = 0;
- GamesProceed = 0;
- Size = 0;
- TotalSize = 0;
- Stopped = false;
- }
+ public long TransferSize = 0;
}
- private void AddMenu(NesMenuCollection menuCollection, GamesTreeStats stats = null)
+ private void AddMenu(NesMenuCollection menuCollection, Dictionary<string, string> originalGames, GamesTreeStats stats = null)
{
if (stats == null)
stats = new GamesTreeStats();
@@ -774,19 +1154,11 @@ namespace com.clusterrr.hakchi_gui
stats.TotalGames++;
var game = element as NesMiniApplication;
var gameSize = game.Size();
- if (gameSize >= maxRamfsSize) throw new Exception(string.Format(Resources.GameTooBig, game.Name));
- stats.TotalSize += gameSize;
- if (stats.Stopped || stats.Size + gameSize >= maxRamfsSize)
- {
- stats.Stopped = true;
- continue;
- }
- stats.GamesProceed++;
- if (stats.GamesStart >= stats.GamesProceed) continue;
- Debug.Write(string.Format("Processing {0} ('{1}'), #{2}", game.Code, game.Name, stats.GamesProceed));
+ Debug.WriteLine(string.Format("Processing {0} ('{1}'), size: {2}KB", game.Code, game.Name, gameSize / 1024));
var gameCopy = game.CopyTo(targetDirectory);
- stats.Size += gameSize;
- Debug.WriteLine(string.Format(", total size: {0}", stats.Size));
+ stats.TotalSize += gameSize;
+ stats.TransferSize += gameSize;
+ stats.TotalGames++;
try
{
if (gameCopy is NesGame && File.Exists((gameCopy as NesGame).GameGeniePath))
@@ -797,11 +1169,11 @@ namespace com.clusterrr.hakchi_gui
}
catch (GameGenieFormatException ex)
{
- ShowError(new GameGenieFormatException(string.Format(Resources.GameGenieFormatError, ex.Code, game)), dontStop: true);
+ ShowError(new Exception(string.Format(Resources.GameGenieFormatError, ex.Code, game.Name)), dontStop: true);
}
catch (GameGenieNotFoundException ex)
{
- ShowError(new GameGenieNotFoundException(string.Format(Resources.GameGenieNotFound, ex.Code, game.Name)), dontStop: true);
+ ShowError(new Exception(string.Format(Resources.GameGenieNotFound, ex.Code, game.Name)), dontStop: true);
}
}
if (element is NesMenuFolder)
@@ -810,23 +1182,20 @@ namespace com.clusterrr.hakchi_gui
if (!stats.allMenus.Contains(folder.ChildMenuCollection))
{
stats.allMenus.Add(folder.ChildMenuCollection);
- AddMenu(folder.ChildMenuCollection, stats);
- }
- if (stats.GamesStart == 0)
- {
- folder.ChildIndex = stats.allMenus.IndexOf(folder.ChildMenuCollection);
- var folderDir = Path.Combine(targetDirectory, folder.Code);
- folder.Save(folderDir);
+ AddMenu(folder.ChildMenuCollection, originalGames, stats);
}
+ folder.ChildIndex = stats.allMenus.IndexOf(folder.ChildMenuCollection);
+ var folderDir = Path.Combine(targetDirectory, folder.Code);
+ var folderSize = folder.Save(folderDir);
+ stats.TotalSize += folderSize;
+ stats.TransferSize += folderSize;
+
}
if (element is NesDefaultGame)
{
- if (stats.GamesStart == 0)
- {
- var game = element as NesDefaultGame;
- var gfilePath = Path.Combine(originalGamesConfigDirectory, string.Format("gpath-{0}", game.Code));
- File.WriteAllText(gfilePath, menuIndex == 0 ? "." : string.Format("{0:D3}", menuIndex));
- }
+ var game = element as NesDefaultGame;
+ stats.TotalSize += game.Size;
+ originalGames[game.Code] = menuIndex == 0 ? "." : string.Format("{0:D3}", menuIndex);
}
}
}
@@ -840,7 +1209,7 @@ namespace com.clusterrr.hakchi_gui
private bool ExecuteTool(string tool, string args, out byte[] output, string directory = null, bool external = false)
{
var process = new Process();
- var appDirectory = baseDirectory;
+ var appDirectory = baseDirectoryInternal;
var fileName = !external ? Path.Combine(toolsDirectory, tool) : tool;
process.StartInfo.FileName = fileName;
process.StartInfo.Arguments = args;
@@ -868,7 +1237,7 @@ namespace com.clusterrr.hakchi_gui
return process.ExitCode == 0;
}
- static UInt32 CalKernelSize(byte[] header)
+ static UInt32 CalcKernelSize(byte[] header)
{
if (Encoding.ASCII.GetString(header, 0, 8) != "ANDROID!") throw new Exception(Resources.InvalidKernelHeader);
UInt32 kernel_size = (UInt32)(header[8] | (header[9] * 0x100) | (header[10] * 0x10000) | (header[11] * 0x1000000));
@@ -890,7 +1259,7 @@ namespace com.clusterrr.hakchi_gui
bool YesForAllPatches = false;
- public ICollection<NesMiniApplication> AddGames(string[] files, Form parentForm = null)
+ public ICollection<NesMiniApplication> AddGames(IEnumerable<string> files, Form parentForm = null)
{
var apps = new List<NesMiniApplication>();
addedApplications = null;
@@ -899,41 +1268,41 @@ namespace com.clusterrr.hakchi_gui
YesForAllPatches = false;
int count = 0;
SetStatus(Resources.AddingGames);
- foreach (var file in files)
+ foreach (var sourceFileName in files)
{
NesMiniApplication app = null;
try
{
- var fileName = file;
- var ext = Path.GetExtension(file).ToLower();
+ var fileName = sourceFileName;
+ var ext = Path.GetExtension(sourceFileName).ToLower();
bool? needPatch = YesForAllPatches ? (bool?)true : null;
byte[] rawData = null;
string tmp = null;
if (ext == ".7z" || ext == ".zip" || ext == ".rar")
{
- SevenZipExtractor.SetLibraryPath(Path.Combine(baseDirectory, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
- using (var szExtractor = new SevenZipExtractor(file))
+ SevenZipExtractor.SetLibraryPath(Path.Combine(baseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll"));
+ using (var szExtractor = new SevenZipExtractor(sourceFileName))
{
var filesInArchive = new List<string>();
- var nesFilesInArchive = new List<string>();
+ var gameFilesInArchive = new List<string>();
foreach (var f in szExtractor.ArchiveFileNames)
{
var e = Path.GetExtension(f).ToLower();
if (e == ".desktop" || AppTypeCollection.GetAppByExtension(e) != null)
- nesFilesInArchive.Add(f);
+ gameFilesInArchive.Add(f);
filesInArchive.Add(f);
}
- if (nesFilesInArchive.Count == 1) // Only one NES file (or app)
+ if (gameFilesInArchive.Count == 1) // Only one NES file (or app)
{
- fileName = nesFilesInArchive[0];
+ fileName = gameFilesInArchive[0];
}
- else if (nesFilesInArchive.Count > 1) // Many NES files, need to select
+ else if (gameFilesInArchive.Count > 1) // Many NES files, need to select
{
- var r = SelectFileFromThread(nesFilesInArchive.ToArray());
+ var r = SelectFileFromThread(gameFilesInArchive.ToArray());
if (r == DialogResult.OK)
fileName = selectedFile;
else if (r == DialogResult.Ignore)
- fileName = file;
+ fileName = sourceFileName;
else continue;
}
else if (filesInArchive.Count == 1) // No NES files but only one another file
@@ -946,10 +1315,10 @@ namespace com.clusterrr.hakchi_gui
if (r == DialogResult.OK)
fileName = selectedFile;
else if (r == DialogResult.Ignore)
- fileName = file;
+ fileName = sourceFileName;
else continue;
}
- if (fileName != file)
+ if (fileName != sourceFileName)
{
var o = new MemoryStream();
if (Path.GetExtension(fileName).ToLower() == ".desktop" // App in archive, need the whole directory
@@ -975,7 +1344,7 @@ namespace com.clusterrr.hakchi_gui
{
try
{
- app = NesGame.Import(fileName, YesForAllUnsupportedMappers ? (bool?)true : null, ref needPatch, needPatchCallback, this, rawData);
+ app = NesGame.Import(fileName, sourceFileName, YesForAllUnsupportedMappers ? (bool?)true : null, ref needPatch, needPatchCallback, this, rawData);
// Trying to import Game Genie codes
var lGameGeniePath = Path.Combine(Path.GetDirectoryName(fileName), Path.GetFileNameWithoutExtension(fileName) + ".xml");
@@ -995,12 +1364,12 @@ namespace com.clusterrr.hakchi_gui
? string.Format(Resources.MapperNotSupported, Path.GetFileName(fileName), (ex as UnsupportedMapperException).ROM.Mapper)
: string.Format(Resources.FourScreenNotSupported, Path.GetFileName(fileName)),
Resources.AreYouSure,
- files.Length <= 1 ? MessageBoxButtons.YesNo : MessageBoxButtons.AbortRetryIgnore,
+ files.Count() <= 1 ? MessageBoxButtons.YesNo : MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, true);
if (r == DialogResult.Abort)
YesForAllUnsupportedMappers = true;
if (r == DialogResult.Yes || r == DialogResult.Abort || r == DialogResult.Retry)
- app = NesGame.Import(fileName, true, ref needPatch, needPatchCallback, this, rawData);
+ app = NesGame.Import(fileName, sourceFileName, true, ref needPatch, needPatchCallback, this, rawData);
else
continue;
}
@@ -1009,7 +1378,7 @@ namespace com.clusterrr.hakchi_gui
}
else
{
- app = NesMiniApplication.Import(fileName, rawData);
+ app = NesMiniApplication.Import(fileName, sourceFileName, rawData);
}
if (!string.IsNullOrEmpty(tmp) && Directory.Exists(tmp)) Directory.Delete(tmp, true);
ConfigIni.SelectedGames += ";" + app.Code;
@@ -1022,7 +1391,7 @@ namespace com.clusterrr.hakchi_gui
}
if (app != null)
apps.Add(app);
- SetProgress(++count, files.Length);
+ SetProgress(++count, files.Count());
}
addedApplications = apps.ToArray();
return apps; // Added games/apps
@@ -1030,7 +1399,7 @@ namespace com.clusterrr.hakchi_gui
private bool needPatchCallback(Form parentForm, string nesFileName)
{
- if (GamesToAdd == null || GamesToAdd.Length <= 1)
+ if (GamesToAdd == null || GamesToAdd.Count() <= 1)
{
return MessageBoxFromThread(parentForm,
string.Format(Resources.PatchQ, Path.GetFileName(nesFileName)),
@@ -1064,8 +1433,8 @@ namespace com.clusterrr.hakchi_gui
return;
}
if (thread != null) thread.Abort();
- TaskbarProgress.SetState(this.Handle, TaskbarProgress.TaskbarStates.NoProgress);
- TaskbarProgress.SetValue(this.Handle, 0, 1);
+ TaskbarProgress.SetState(this, TaskbarProgress.TaskbarStates.NoProgress);
+ TaskbarProgress.SetValue(this, 0, 1);
}
}
}
diff --git a/clovercon/Makefile b/clovercon/Makefile
index ad69f539..fdf7b022 100644
--- a/clovercon/Makefile
+++ b/clovercon/Makefile
@@ -1,26 +1,32 @@
CURRENT = $(shell uname -r)
+HMOD = ../mods/hmods/clovercon.hmod
TARGET = clovercon
+TARGET_PATH = mod/lib/modules/3.4.112/extra
+TARGET2 = clvcon
+TARGET_PATH2 = mod/lib/modules/3.4.113/extra
OBJS = clovercon.o
-KDIR = linux-nesmini
-#KDIR = ~/linux
+KDIR = ~/nesmini-linux
PWD = $(shell pwd)
-DEST = .
obj-m := $(TARGET).o
-default:
+all:
make -C $(KDIR) SUBDIRS=$(PWD) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
modinfo $(TARGET).ko
arm-linux-gnueabihf-strip --strip-unneeded $(TARGET).ko
+ mkdir -p $(TARGET_PATH)
+ mkdir -p $(TARGET_PATH2)
+ cp -f $(TARGET).ko $(TARGET_PATH)/$(TARGET).ko
+ hexdump -ve '1/1 "%.2X"' $(TARGET).ko | sed "s/332E342E313132/332E342E313133/g" | xxd -r -p > $(TARGET_PATH2)/$(TARGET2).ko
+ modinfo $(TARGET_PATH2)/$(TARGET2).ko
+ cd mod && tar -czvf ../$(HMOD) *
$(TARGET).o: $(OBJS)
$(LD) $(LD_RFLAG) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -r -o $@ $(OBJS)
-install:
- su -c "cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a"
-
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
+ rm -f $(TARGET_PATH)/$(TARGET).ko $(TARGET_PATH2)/$(TARGET2).ko $(HMOD)
.PHONY: modules clean
diff --git a/clovercon/clovercon.c b/clovercon/clovercon.c
index 66ec4597..46e60db9 100644
--- a/clovercon/clovercon.c
+++ b/clovercon/clovercon.c
@@ -34,6 +34,7 @@
#include <linux/workqueue.h>
#include <linux/mutex.h>
#include <linux/bug.h>
+#include <linux/miscdevice.h>
static unsigned short home_combination = 0xffff;
static char autofire = 0;
@@ -41,7 +42,10 @@ static char autofire_xy = 0;
static unsigned char autofire_interval = 8;
static char fc_start = 0;
-MODULE_AUTHOR("Christophe Aguettaz <christophe.aguettaz@nerd.nintendo.com>");
+volatile static char debug_buff[30000];
+volatile static long int debug_pos = 0;
+
+MODULE_AUTHOR("Christophe Aguettaz <christophe.aguettaz@nerd.nintendo.com>, mod by Cluster <clusterrr@clusterrr.com");
MODULE_DESCRIPTION("Nintendo Clover/Wii Classic/Wii Pro controllers on I2C");
MODULE_LICENSE("GPL");
@@ -64,27 +68,24 @@ MODULE_LICENSE("GPL");
//Delay expressed in polling intervals
#define RETRY_BASE_DELAY 512
-#define DATA_FORMAT 3
-
-#define DF3_BTN_R 1
-#define DF3_BTN_START 2
-#define DF3_BTN_HOME 3
-#define DF3_BTN_SELECT 4
-#define DF3_BTN_L 5
-#define DF3_BTN_DOWN 6
-#define DF3_BTN_RIGHT 7
-
-#define DF3_BTN_UP 0
-#define DF3_BTN_LEFT 1
-#define DF3_BTN_ZR 2
-#define DF3_BTN_X 3
-#define DF3_BTN_A 4
-#define DF3_BTN_Y 5
-#define DF3_BTN_B 6
-#define DF3_BTN_ZL 7
+#define D_BTN_R 1
+#define D_BTN_START 2
+#define D_BTN_HOME 3
+#define D_BTN_SELECT 4
+#define D_BTN_L 5
+#define D_BTN_DOWN 6
+#define D_BTN_RIGHT 7
+
+#define D_BTN_UP 0
+#define D_BTN_LEFT 1
+#define D_BTN_ZR 2
+#define D_BTN_X 3
+#define D_BTN_A 4
+#define D_BTN_Y 5
+#define D_BTN_B 6
+#define D_BTN_ZL 7
#define DEAD_ZONE 20
-#define DIAG_MAX 40
#define STICK_MAX 72
#define STICK_FUZZ 4
@@ -114,30 +115,117 @@ static DEFINE_MUTEX(con_state_lock);
static DEFINE_MUTEX(detect_task_lock);
#define VERBOSITY 0
+#define STATE_DEVICES 1
#if VERBOSITY > 0
- #define ERR(m, ...) printk(KERN_ERR "Clovercon error: " m "\n", ##__VA_ARGS__)
- #define INF(m, ...) printk(KERN_INFO "Clovercon info: " m "\n", ##__VA_ARGS__)
+ #define ERR(m, ...) {int dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, "Clovercon error: " m "\n", ##__VA_ARGS__); if (dbg_len>0) debug_pos+=dbg_len;}
+ #define INF(m, ...) {int dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, "Clovercon info: " m "\n", ##__VA_ARGS__); if (dbg_len>0) debug_pos+=dbg_len;}
#else
#define ERR(m, ...)
#define INF(m, ...)
#endif
#if VERBOSITY > 1
- #define DBG(m, ...) printk(KERN_DEBUG "Clovercon: " m "\n", ##__VA_ARGS__)
- #if VERBOSITY > 2
- #define FAST_ERR(m, ...) ERR(m, ##__VA_ARGS__)
- #define FAST_DBG(m, ...) DBG(m, ##__VA_ARGS__)
- #else
- #define FAST_ERR(m, ...) trace_printk(KERN_ERR "Clovercon error: " m "\n", ##__VA_ARGS__)
- #define FAST_DBG(m, ...) trace_printk(KERN_DEBUG "Clovercon: " m "\n", ##__VA_ARGS__)
- #endif
+ #define DBG(m, ...) {int dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, "Clovercon: " m "\n", ##__VA_ARGS__); if (dbg_len>0) debug_pos+=dbg_len;}
+ #define FAST_ERR(m, ...) ERR(m, ##__VA_ARGS__)
+ #define FAST_DBG(m, ...) DBG(m, ##__VA_ARGS__)
#else
#define DBG(m, ...)
#define FAST_ERR(m, ...)
#define FAST_DBG(m, ...)
#endif
+void hex_dump(char* str, char* buf, int len)
+{
+#if VERBOSITY > 2
+ int dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, "%s", str);
+ if (dbg_len>0) debug_pos+=dbg_len;
+ while (len)
+ {
+ dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, " %02X", *buf);
+ if (dbg_len>0) debug_pos+=dbg_len;
+ buf++;
+ len--;
+ }
+ dbg_len = snprintf((void*)(debug_buff+debug_pos), sizeof(debug_buff)-1-debug_pos, "\n");
+ if (dbg_len>0) debug_pos+=dbg_len;
+#endif
+}
+
+#if VERBOSITY > 0
+static ssize_t clovercon_debug_read(struct file *fp, char __user *buf,
+ size_t count, loff_t *pos)
+{
+ size_t l = MAX(MIN(count, debug_pos - *pos), 0);
+ memcpy(buf, (void*)(debug_buff + *pos), l);
+ if (l > 0) *pos += l;
+ return l;
+}
+#endif
+
+#if (VERBOSITY > 0) || STATE_DEVICES
+static ssize_t device_dumb_write(struct file *fp, const char __user *buf,
+ size_t count, loff_t *pos)
+{
+ return count; // a-la /dev/null
+}
+
+static long device_dumb_ioctl(struct file *fp, unsigned code, unsigned long value)
+{
+ long ret = 0;
+ switch (code) {
+ default:
+ ret = -EINVAL;
+ break;
+ }
+
+ return ret;
+}
+
+static int device_dumb_open(struct inode *ip, struct file *fp)
+{
+ return 0;
+}
+
+static int device_dumb_release(struct inode *ip, struct file *fp)
+{
+ return 0;
+}
+#endif
+
+#if VERBOSITY > 0
+/* file operations for /dev/clovercon_debug */
+static const struct file_operations clovercon_debug_fops = {
+ .owner = THIS_MODULE,
+ .read = clovercon_debug_read,
+ .write = device_dumb_write,
+ .unlocked_ioctl = device_dumb_ioctl,
+ .open = device_dumb_open,
+ .release = device_dumb_release,
+};
+
+static struct miscdevice clovercon_debug_device = {
+ .minor = MISC_DYNAMIC_MINOR,
+ .name = "clovercon_debug",
+ .fops = &clovercon_debug_fops,
+};
+#endif
+
+#if STATE_DEVICES
+static ssize_t clovercon_state_read(struct file *fp, char __user *buf,
+ size_t count, loff_t *pos);
+
+/* file operations for /dev/clovercon* */
+static const struct file_operations clovercon_state_fops = {
+ .owner = THIS_MODULE,
+ .read = clovercon_state_read,
+ .write = device_dumb_write,
+ .unlocked_ioctl = device_dumb_ioctl,
+ .open = device_dumb_open,
+ .release = device_dumb_release,
+};
+#endif
+
enum ControllerState {
CS_OK,
CS_RETRY_1,
@@ -173,9 +261,19 @@ struct clovercon_info {
int autofire_timer;
int autofire_counter_a;
int autofire_counter_b;
+ int autofire_counter_x;
+ int autofire_counter_y;
bool autofire_a;
bool autofire_b;
+ bool autofire_x;
+ bool autofire_y;
int start_counter;
+ u8 data_format;
+ u16 buttons_state;
+#if STATE_DEVICES
+ struct miscdevice state_device;
+ char state_device_name[32];
+#endif
};
static struct clovercon_info con_info_list[MAX_CON_COUNT];
@@ -213,6 +311,31 @@ struct clovercon_info * clovercon_info_from_irq(int irq) {
}
#endif
+#if STATE_DEVICES
+static ssize_t clovercon_state_read(struct file *fp, char __user *buf,
+ size_t count, loff_t *pos)
+{
+ // which contoller? we need device file name
+ char path_buffer[64];
+ char state_buffer[16];
+ int id;
+ size_t l;
+ u16 state;
+
+ char* path = dentry_path_raw(fp->f_path.dentry,path_buffer,sizeof(path_buffer));
+ while (*path && *(path+1)) path++; // moving to last character which is number
+ if (!*path) return 0;
+ id = *path - '0';
+
+ state = con_info_list[id-1].buttons_state;
+ snprintf(state_buffer, sizeof(state_buffer), "%02X%02X", state & 0xFF, (state >> 8) & 0xFF);
+ l = MAX(MIN(count, strlen(state_buffer) - *pos), 0);
+ memcpy(buf, state_buffer + *pos, l);
+ if (l > 0) *pos += l;
+ return l;
+}
+#endif
+
struct clovercon_info * clovercon_info_from_adapter(struct i2c_adapter *adapter) {
int i;
for (i = 0; i < MAX_CON_COUNT; i++) {
@@ -297,23 +420,35 @@ static int clovercon_read_controller_info(struct i2c_client *client, u8 *data, s
// print_hex_dump(KERN_DEBUG, "Controller info data: " , DUMP_PREFIX_NONE, 16, 256, data, len, false);
}
-static int clovercon_setup(struct i2c_client *client) {
- u8 init_data[] = { 0xf0, 0x55, 0xfb, 0x00, 0xfe, DATA_FORMAT };
+static int clovercon_setup(struct clovercon_info *info) {
+ struct i2c_client *client = info->client;
+ u8 init_data[] = { 0xf0, 0x55, 0xfb, 0x00, 0xfe, 3 };
static const int CON_INFO_LEN = 6;
u8 con_info_data[CON_INFO_LEN];
int ret;
-
+#if VERBOSITY > 2
+ static const int READ_LEN = 21;
+ u8 data[READ_LEN];
+#endif
DBG("Clovercon setup");
+#if VERBOSITY > 3
+ ret = clovercon_read_controller_info(client, con_info_data, CON_INFO_LEN);
+ if (ret < 0) {
+ ERR("error reading controller info");
+ goto err;
+ }
+ hex_dump("con_info_data before setup:", con_info_data, ret);
+#endif
+
ret = clovercon_write(client, &init_data[0], 2);
if (ret)
goto err;
ret = clovercon_write(client, &init_data[2], 2);
if (ret)
goto err;
+ // trying to set data format to 3
ret = clovercon_write(client, &init_data[4], 2);
- if (ret)
- goto err;
ret = clovercon_read_controller_info(client, con_info_data, CON_INFO_LEN);
if (ret < 0) {
@@ -324,17 +459,29 @@ static int clovercon_setup(struct i2c_client *client) {
ret = -EIO;
goto err;
}
- if (con_info_data[4] != DATA_FORMAT) {
- ERR("failed to set data format, value is %i", (int)con_info_data[4]);
- ret = -EIO;
- goto err;
+ hex_dump("con_info_data after setup:", con_info_data, sizeof(con_info_data));
+
+#if VERBOSITY > 2
+ ret = clovercon_read(client, 0, data, READ_LEN);
+ if (ret)
+ {
+ ERR("read failed for active controller - possible controller disconnect");
+ ret = -EIO;
+ goto err;
}
+ hex_dump("poll:", data, READ_LEN);
+#endif
+
+ // autodetecting data format
+ // it should be 0x03 for original classic controllers and clovercons
+ // but seems like not every 3rd party controller supports data format selection
+ info->data_format = con_info_data[4];
+
if (con_info_data[5] != 1) {
ERR("unsupported controller id %i", (int)con_info_data[5]);
ret = -EIO;
goto err;
}
-
return 0;
err:
@@ -347,7 +494,7 @@ static void clamp_stick(int *px, int *py) {
int y_sign = 1;
int x = *px;
int y = *py;
- int norm;
+ //int norm;
if (x < 0) {
x_sign = -1;
@@ -361,6 +508,7 @@ static void clamp_stick(int *px, int *py) {
x = MAX(0, x - DEAD_ZONE);
y = MAX(0, y - DEAD_ZONE);
+/*
if (x == 0 && y == 0) {
goto clamp_end;
}
@@ -372,8 +520,8 @@ static void clamp_stick(int *px, int *py) {
x = DIAG_MAX * STICK_MAX * x / norm;
y = DIAG_MAX * STICK_MAX * y / norm;
}
-
clamp_end:
+*/
*px = x * x_sign;
*py = y * y_sign;
}
@@ -385,6 +533,7 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
int jx, jy, rx, ry, tl, tr;
bool left, right, up, down, a, b, x, y, select, start, home, l, r, zl, zr, reset;
u16 retry_delay = RETRY_BASE_DELAY;
+ u16 buttons_state;
int ret;
bool turbo;
@@ -411,7 +560,11 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
*
* Use that as last resort discarding criteria */
jy = 0;
+ data[18] = 0; // for ultra shitty pro controller clones
+ // which will work only after hardware
+ // modification (2.2K pull-up resistor on SCL and SDA)
for (jx=8; jx<21; jx++) {
+ if (data[jx] == 0xFF) data[jx] = 0; // for 3rd party controllers
jy += data[jx];
}
if (jy) {
@@ -419,54 +572,77 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
break;
}
- jx = data[0] - 0x80;
- rx = data[1] - 0x80;
- jy = 0x7fl - data[2];
- ry = 0x7fl - data[3];
- tl = data[4];
- tr = data[5];
-
- clamp_stick(&jx, &jy);
- clamp_stick(&rx, &ry);
-
- input_report_abs(polled_dev->input, ABS_X, jx);
- input_report_abs(polled_dev->input, ABS_Y, jy);
- input_report_abs(polled_dev->input, ABS_RX, rx);
- input_report_abs(polled_dev->input, ABS_RY, ry);
- input_report_abs(polled_dev->input, ABS_Z, tl);
- input_report_abs(polled_dev->input, ABS_RZ, tr);
+ if (info->data_format == 3)
+ {
+ jx = data[0] - 0x80;
+ rx = data[1] - 0x80;
+ jy = 0x7fl - data[2];
+ ry = 0x7fl - data[3];
+ tl = data[4];
+ tr = data[5];
+
+ r = !get_bit(data[6], D_BTN_R);
+ start = !get_bit(data[6], D_BTN_START);
+ home = !get_bit(data[6], D_BTN_HOME);
+ select = !get_bit(data[6], D_BTN_SELECT);
+ l = !get_bit(data[6], D_BTN_L);
+ down = !get_bit(data[6], D_BTN_DOWN);
+ right = !get_bit(data[6], D_BTN_RIGHT);
+
+ up = !get_bit(data[7], D_BTN_UP);
+ left = !get_bit(data[7], D_BTN_LEFT);
+ zr = !get_bit(data[7], D_BTN_ZR);
+ x = !get_bit(data[7], D_BTN_X);
+ y = !get_bit(data[7], D_BTN_Y);
+ a = !get_bit(data[7], D_BTN_A);
+ b = !get_bit(data[7], D_BTN_B);
+ zl = !get_bit(data[7], D_BTN_ZL);
+ } else {
+ jx = ((data[0] & 0x3f) - 0x20) * 4;
+ rx = (((data[2] >> 7) | ((data[1] & 0xC0) >> 5) | ((data[0] & 0xC0) >> 3)) - 0x10) * 8;
+ jy = ((data[1] & 0x3f) - 0x20) * -4;
+ ry = ((data[2] & 0x1f) - 0x10) * -8;
+ tl = ((data[3] >> 5) | ((data[2] & 0x60) >> 2)) * 8;
+ tr = (data[3] & 0x1f) * 8;
+
+ r = !get_bit(data[4], D_BTN_R);
+ start = !get_bit(data[4], D_BTN_START);
+ home = !get_bit(data[4], D_BTN_HOME);
+ select = !get_bit(data[4], D_BTN_SELECT);
+ l = !get_bit(data[4], D_BTN_L);
+ down = !get_bit(data[4], D_BTN_DOWN);
+ right = !get_bit(data[4], D_BTN_RIGHT);
+
+ up = !get_bit(data[5], D_BTN_UP);
+ left = !get_bit(data[5], D_BTN_LEFT);
+ zr = !get_bit(data[5], D_BTN_ZR);
+ x = !get_bit(data[5], D_BTN_X);
+ y = !get_bit(data[5], D_BTN_Y);
+ a = !get_bit(data[5], D_BTN_A);
+ b = !get_bit(data[5], D_BTN_B);
+ zl = !get_bit(data[5], D_BTN_ZL);
+ }
- r = !get_bit(data[6], DF3_BTN_R);
- start = !get_bit(data[6], DF3_BTN_START);
- home = !get_bit(data[6], DF3_BTN_HOME);
- select = !get_bit(data[6], DF3_BTN_SELECT);
- l = !get_bit(data[6], DF3_BTN_L);
- down = !get_bit(data[6], DF3_BTN_DOWN);
- right = !get_bit(data[6], DF3_BTN_RIGHT);
-
- up = !get_bit(data[7], DF3_BTN_UP);
- left = !get_bit(data[7], DF3_BTN_LEFT);
- zr = !get_bit(data[7], DF3_BTN_ZR);
- x = !get_bit(data[7], DF3_BTN_X);
- y = !get_bit(data[7], DF3_BTN_Y);
- a = !get_bit(data[7], DF3_BTN_A);
- b = !get_bit(data[7], DF3_BTN_B);
- zl = !get_bit(data[7], DF3_BTN_ZL);
+ // Bitmask for current controller state
+ buttons_state = 0;
+ if (a) buttons_state |= (1 << 0);
+ if (b) buttons_state |= (1 << 1);
+ if (select) buttons_state |= (1 << 2);
+ if (start) buttons_state |= (1 << 3);
+ if (up || (jy < -DEAD_ZONE)) buttons_state |= (1 << 4);
+ if (down || (jy > DEAD_ZONE)) buttons_state |= (1 << 5);
+ if (left || (jx < -DEAD_ZONE)) buttons_state |= (1 << 6);
+ if (right || (jx > DEAD_ZONE)) buttons_state |= (1 << 7);
+ if (x) buttons_state |= (1 << 8);
+ if (y) buttons_state |= (1 << 9);
+ if (l) buttons_state |= (1 << 10);
+ if (r) buttons_state |= (1 << 11);
+ if (zl) buttons_state |= (1 << 12);
+ if (zr) buttons_state |= (1 << 13);
+ info->buttons_state = buttons_state;
// Reset combination
- reset =
- (((home_combination >> 0) & 1) ^ !a) &&
- (((home_combination >> 1) & 1) ^ !b) &&
- (((home_combination >> 2) & 1) ^ !select) &&
- (((home_combination >> 3) & 1) ^ !start) &&
- (((home_combination >> 4) & 1) ^ !up) &&
- (((home_combination >> 5) & 1) ^ !down) &&
- (((home_combination >> 6) & 1) ^ !left) &&
- (((home_combination >> 7) & 1) ^ !right) &&
- (((home_combination >> 8) & 1) ^ !x) &&
- (((home_combination >> 9) & 1) ^ !y) &&
- (((home_combination >> 10) & 1) ^ !l) &&
- (((home_combination >> 11) & 1) ^ !r);
+ reset = home_combination == buttons_state;
// Start button workaroud for second controller on Famicom
if (fc_start && info->id == 2)
@@ -486,23 +662,36 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
turbo = info->autofire_timer / autofire_interval;
if (autofire)
{
- if (a && select && !b && !start && !up && !down && !left && !right)
+ if (select && a && !b && !x && !y && !start && !up && !down && !left && !right)
info->autofire_counter_a++;
else
info->autofire_counter_a = 0;
- if (!a && select && b && !start && !up && !down && !left && !right)
+ if (select && !a && b && !x && !y && !start && !up && !down && !left && !right)
info->autofire_counter_b++;
else
info->autofire_counter_b = 0;
+ if (select && !a && !b && x && !y && !start && !up && !down && !left && !right)
+ info->autofire_counter_x++;
+ else
+ info->autofire_counter_x = 0;
+ if (select && !a && !b && !x && y && !start && !up && !down && !left && !right)
+ info->autofire_counter_y++;
+ else
+ info->autofire_counter_y = 0;
if (info->autofire_counter_a == AUTOFIRE_COMBINATION_THRESHOLD)
info->autofire_a = !info->autofire_a;
if (info->autofire_counter_b == AUTOFIRE_COMBINATION_THRESHOLD)
info->autofire_b = !info->autofire_b;
+ if (info->autofire_counter_x == AUTOFIRE_COMBINATION_THRESHOLD)
+ info->autofire_x = !info->autofire_x;
+ if (info->autofire_counter_y == AUTOFIRE_COMBINATION_THRESHOLD)
+ info->autofire_y = !info->autofire_y;
if (info->autofire_a && !turbo) a = 0;
if (info->autofire_b && !turbo) b = 0;
-
+ if (info->autofire_x && !turbo) x = 0;
+ if (info->autofire_y && !turbo) y = 0;
}
if (autofire_xy)
{
@@ -536,6 +725,15 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
info->reset_counter = 0;
}
+ clamp_stick(&jx, &jy);
+ clamp_stick(&rx, &ry);
+
+ input_report_abs(polled_dev->input, ABS_X, jx);
+ input_report_abs(polled_dev->input, ABS_Y, jy);
+ input_report_abs(polled_dev->input, ABS_RX, rx);
+ input_report_abs(polled_dev->input, ABS_RY, ry);
+ input_report_abs(polled_dev->input, ABS_Z, tl);
+ input_report_abs(polled_dev->input, ABS_RZ, tr);
input_report_key(polled_dev->input, BTN_TR, r);
input_report_key(polled_dev->input, BTN_START, start);
input_report_key(polled_dev->input, BTN_MODE, (info->home_counter>=HOME_BUTTON_THRESHOLD) || (info->reset_counter>=RESET_COMBINATION_THRESHOLD));
@@ -565,7 +763,7 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
info->retry_counter++;
if (info->retry_counter == retry_delay) {
DBG("retrying controller setup");
- ret = clovercon_setup(info->client);
+ ret = clovercon_setup(info);
if (ret) {
info->state = MIN(CS_ERR, info->state + 1);
} else {
@@ -582,7 +780,7 @@ static void clovercon_poll(struct input_polled_dev *polled_dev) {
static void clovercon_open(struct input_polled_dev *polled_dev) {
struct clovercon_info *info = polled_dev->private;
- if (clovercon_setup(info->client)) {
+ if (clovercon_setup(info)) {
info->retry_counter = 0;
info->state = CS_RETRY_1;
INF("opened controller %i, controller in error state after failed setup", info->id);
@@ -739,6 +937,14 @@ int clovercon_add_controller(struct clovercon_info *info) {
return -ENOMEM;
}
+#if STATE_DEVICES
+ info->state_device.minor = MISC_DYNAMIC_MINOR,
+ sprintf(info->state_device_name, "clovercon%d", info->id);
+ info->state_device.name = info->state_device_name;
+ info->state_device.fops = &clovercon_state_fops,
+ misc_register(&info->state_device);
+#endif
+
INF("added device for controller %i", info->id);
return 0;
}
@@ -751,6 +957,9 @@ void clovercon_remove_controller(struct clovercon_info *info) {
i2c_unregister_device(client);
mutex_lock(&con_state_lock);
info->client = NULL;
+#if STATE_DEVICES
+ misc_deregister(&info->state_device);
+#endif
INF("removed device for controller %i", info->id);
}
@@ -774,7 +983,7 @@ static void clovercon_detect_task(struct work_struct *dummy) {
int val;
mutex_lock(&detect_task_lock);
- DBG("detect task running");
+ //DBG("detect task running");
mutex_lock(&con_state_lock);
for (i = 0; i < MAX_CON_COUNT; i++) {
info = &con_info_list[i];
@@ -782,18 +991,18 @@ static void clovercon_detect_task(struct work_struct *dummy) {
continue;
}
val = gpio_get_value(info->gpio);
- DBG("detect pin value: %i", val);
+ //DBG("detect pin value: %i", val);
if (val && !info->client) {
- DBG("detect task adding controller %i", i);
+ //DBG("detect task adding controller %i", i);
clovercon_add_controller(info);
} else if (!val && info->client) {
- DBG("detect task removing controller %i", i);
+ //DBG("detect task removing controller %i", i);
clovercon_remove_controller(info);
}
}
mutex_unlock(&con_state_lock);
mutex_unlock(&detect_task_lock);
- DBG("detect task done");
+ //DBG("detect task done");
}
#if CLOVERCON_DETECT_USE_IRQ
@@ -983,6 +1192,7 @@ static void clovercon_teardown_detection(void) {
}
}
+
static int __init clovercon_init(void) {
int i2c_bus;
int gpio_pin;
@@ -1025,6 +1235,10 @@ static int __init clovercon_init(void) {
goto err_controller_cleanup;
}
+#if VERBOSITY > 0
+ misc_register(&clovercon_debug_device);
+#endif
+
return 0;
err_controller_cleanup:
@@ -1041,6 +1255,9 @@ static void __exit clovercon_exit(void) {
clovercon_teardown_detection();
clovercon_remove_controllers();
i2c_del_driver(&clovercon_driver);
+#if VERBOSITY > 0
+ misc_deregister(&clovercon_debug_device);
+#endif
}
module_exit(clovercon_exit);
diff --git a/clovercon/mod/etc/preinit.d/pc000_clovercon b/clovercon/mod/etc/preinit.d/pc000_clovercon
new file mode 100644
index 00000000..3133af7d
--- /dev/null
+++ b/clovercon/mod/etc/preinit.d/pc000_clovercon
@@ -0,0 +1,34 @@
+if [ $cfg_clovercon_enabled == "y" ]; then
+CLOVER_BOARD_NAME=$(cat $mountpoint/etc/clover/boardtype)
+MODULE="clvcon"
+[ -f "$mountpoint/lib/modules/$(uname -r)/extra/$MODULE.ko" ] || MODULE="clovercon"
+
+echo "clovercon_hack: starting driver"
+echo "home button combination: $cfg_clovercon_home_combination"
+echo "autofire: $cfg_clovercon_autofire"
+echo "autofire XY: $cfg_clovercon_autofire_xy"
+echo "autofire interval: $cfg_clovercon_autofire_interval"
+echo "famicom 2nd start workaround: $cfg_clovercon_fc_start"
+
+case "${CLOVER_BOARD_NAME}" in
+ fp)
+ module_params=2,195,1,194
+ ;;
+ ep)
+ module_params=1,195,2,194
+ ;;
+ dp-hvc)
+ module_params=1,-1,2,-1
+ ;;
+ dp-shvc)
+ module_params=1,-1,2,-1
+ ;;
+ dp-nes)
+ module_params=1,195,2,194
+ ;;
+esac
+
+overmount /lib/modules/$(uname -r)/extra/$MODULE.ko
+insmod $mountpoint/lib/modules/$(uname -r)/extra/$MODULE.ko module_params=$module_params home_combination=$cfg_clovercon_home_combination autofire=$cfg_clovercon_autofire autofire_xy=$cfg_clovercon_autofire_xy autofire_interval=$cfg_clovercon_autofire_interval fc_start=$cfg_clovercon_fc_start
+
+fi
diff --git a/clovercon/mod/install b/clovercon/mod/install
new file mode 100644
index 00000000..5d9bf850
--- /dev/null
+++ b/clovercon/mod/install
@@ -0,0 +1,6 @@
+cfg_clovercon_enabled='y'
+cfg_clovercon_home_combination='0x24'
+cfg_clovercon_autofire='1'
+cfg_clovercon_autofire_xy='0'
+cfg_clovercon_autofire_interval='8'
+cfg_clovercon_fc_start='0'
diff --git a/clovercon/mod/readme.txt b/clovercon/mod/readme.txt
new file mode 100644
index 00000000..ce810620
--- /dev/null
+++ b/clovercon/mod/readme.txt
@@ -0,0 +1,7 @@
+=== Clovercon Hack ===
+
+This module installs custom clovercon gamepad driver.
+Features:
+* It allowes to use button combination to open menu
+* Autofire
+* Start button simulation on second controller (for Famicom Mini)
diff --git a/data/GameGenieDB.xml b/data/GameGenieDB.xml
index fa37e9f7..f2b18891 100644
--- a/data/GameGenieDB.xml
+++ b/data/GameGenieDB.xml
@@ -6735,6 +6735,11 @@
<game code="CLV-H-EISTB" name="Sunday Funday: The Ride" crc="5B16A3C8">
<gamegenie code="ESNNUZEY" description="Enable level skip (Press B then Select)" />
</game>
+ <game code="CLV-H-WMPJX" name="Super Mario Bros. 3" crc="A0B0B742">
+ <gamegenie code="KKKZSPIU" description="Enable Debug Mode" />
+ <gamegenie code="SLXPLOVS" description="Infinite lives for Mario and Luigi" />
+ <gamegenie code="YPXXLVGE" description="Mario (not Luigi) can re-use items again and again" />
+ </game>
<game code="CLV-H-IYAOH" name="Super Pitfall" crc="979C5314">
<gamegenie code="SZKSASVK" description="Infinite lives - 1P game" />
<gamegenie code="SXESTSVK" description="Infinite lives - P1" />
@@ -7960,4 +7965,4 @@
<game code="CLV-H-SVDKL" name="Zombie Nation" crc="03FB57B6">
<gamegenie code="AVXTEISZ" description="Infinite health" />
</game>
-</database> \ No newline at end of file
+</database>
diff --git a/data/nescarts.xml b/data/nescarts.xml
index cca37c55..3be805a0 100644
--- a/data/nescarts.xml
+++ b/data/nescarts.xml
Binary files differ
diff --git a/data/splash.gz b/data/splash.gz
new file mode 100644
index 00000000..c89d6012
--- /dev/null
+++ b/data/splash.gz
Binary files differ
diff --git a/driver/nesmini_driver.exe b/driver/nesmini_driver.exe
index 9631fe02..d1165525 100644
--- a/driver/nesmini_driver.exe
+++ b/driver/nesmini_driver.exe
Binary files differ
diff --git a/driver/source/libwdi.suo b/driver/source/libwdi.suo
new file mode 100644
index 00000000..e6c28f99
--- /dev/null
+++ b/driver/source/libwdi.suo
Binary files differ
diff --git a/driver/source/libwdi/.msvc/detect_64build.vcxproj b/driver/source/libwdi/.msvc/detect_64build.vcxproj
index 407667ef..66cfe5fc 100644
--- a/driver/source/libwdi/.msvc/detect_64build.vcxproj
+++ b/driver/source/libwdi/.msvc/detect_64build.vcxproj
@@ -27,12 +27,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
diff --git a/driver/source/libwdi/.msvc/detect_64build.vcxproj.user b/driver/source/libwdi/.msvc/detect_64build.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/detect_64build.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/.msvc/embedder.vcxproj b/driver/source/libwdi/.msvc/embedder.vcxproj
index 82cba849..90ebb519 100644
--- a/driver/source/libwdi/.msvc/embedder.vcxproj
+++ b/driver/source/libwdi/.msvc/embedder.vcxproj
@@ -21,12 +21,12 @@
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/driver/source/libwdi/.msvc/embedder.vcxproj.user b/driver/source/libwdi/.msvc/embedder.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/embedder.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/.msvc/installer_x64.vcxproj b/driver/source/libwdi/.msvc/installer_x64.vcxproj
index bb609f9d..d8490433 100644
--- a/driver/source/libwdi/.msvc/installer_x64.vcxproj
+++ b/driver/source/libwdi/.msvc/installer_x64.vcxproj
@@ -37,12 +37,12 @@
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/driver/source/libwdi/.msvc/installer_x64.vcxproj.user b/driver/source/libwdi/.msvc/installer_x64.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/installer_x64.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/.msvc/installer_x86.vcxproj b/driver/source/libwdi/.msvc/installer_x86.vcxproj
index 1c834044..392d050a 100644
--- a/driver/source/libwdi/.msvc/installer_x86.vcxproj
+++ b/driver/source/libwdi/.msvc/installer_x86.vcxproj
@@ -21,12 +21,12 @@
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/driver/source/libwdi/.msvc/installer_x86.vcxproj.user b/driver/source/libwdi/.msvc/installer_x86.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/installer_x86.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/.msvc/libwdi_dll.vcxproj b/driver/source/libwdi/.msvc/libwdi_dll.vcxproj
index c0a178ec..5caa85b6 100644
--- a/driver/source/libwdi/.msvc/libwdi_dll.vcxproj
+++ b/driver/source/libwdi/.msvc/libwdi_dll.vcxproj
@@ -28,12 +28,12 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
diff --git a/driver/source/libwdi/.msvc/libwdi_dll.vcxproj.user b/driver/source/libwdi/.msvc/libwdi_dll.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/libwdi_dll.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/.msvc/libwdi_static.vcxproj b/driver/source/libwdi/.msvc/libwdi_static.vcxproj
index 223f2e83..04e2245d 100644
--- a/driver/source/libwdi/.msvc/libwdi_static.vcxproj
+++ b/driver/source/libwdi/.msvc/libwdi_static.vcxproj
@@ -28,12 +28,12 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
diff --git a/driver/source/libwdi/.msvc/libwdi_static.vcxproj.user b/driver/source/libwdi/.msvc/libwdi_static.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/driver/source/libwdi/.msvc/libwdi_static.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project> \ No newline at end of file
diff --git a/driver/source/libwdi/build64.h b/driver/source/libwdi/build64.h
new file mode 100644
index 00000000..f4e575a9
--- /dev/null
+++ b/driver/source/libwdi/build64.h
@@ -0,0 +1 @@
+#define NO_BUILD64
diff --git a/driver/source/msvc/config.h b/driver/source/msvc/config.h
index 148b3d92..b6506293 100644
--- a/driver/source/msvc/config.h
+++ b/driver/source/msvc/config.h
@@ -25,7 +25,7 @@
#endif
/* DDK WDF coinstaller version */
-#define WDF_VER 1011
+#define WDF_VER 1009
/* CoInstaller subdirectory for WinUSB redist files ("winusb" or "wdf") */
#define COINSTALLER_DIR "wdf"
diff --git a/driver/source/nesmini_driver/nesmini_driver.vcxproj b/driver/source/nesmini_driver/nesmini_driver.vcxproj
index 787723a4..e66e471d 100644
--- a/driver/source/nesmini_driver/nesmini_driver.vcxproj
+++ b/driver/source/nesmini_driver/nesmini_driver.vcxproj
@@ -34,7 +34,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v140</PlatformToolset>
+ <PlatformToolset>v90</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
@@ -119,6 +119,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\libwdi;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
diff --git a/folder_images/2600.png b/folder_images/2600.png
index 1eda2753..f6b09723 100644
--- a/folder_images/2600.png
+++ b/folder_images/2600.png
Binary files differ
diff --git a/folder_images/2600_darth_vader.png b/folder_images/2600_darth_vader.png
index 11e5d17f..1122f028 100644
--- a/folder_images/2600_darth_vader.png
+++ b/folder_images/2600_darth_vader.png
Binary files differ
diff --git a/folder_images/2600jr.png b/folder_images/2600jr.png
index 83e3afb0..1b87657a 100644
--- a/folder_images/2600jr.png
+++ b/folder_images/2600jr.png
Binary files differ
diff --git a/folder_images/32x_genesis2.png b/folder_images/32x_genesis2.png
index 5a509636..21f2829c 100644
--- a/folder_images/32x_genesis2.png
+++ b/folder_images/32x_genesis2.png
Binary files differ
diff --git a/folder_images/32x_megadrive2.png b/folder_images/32x_megadrive2.png
index 61641a35..39aa30e4 100644
--- a/folder_images/32x_megadrive2.png
+++ b/folder_images/32x_megadrive2.png
Binary files differ
diff --git a/folder_images/32x_megadrive2_jp.png b/folder_images/32x_megadrive2_jp.png
index ce468d56..6b6e2f5b 100644
--- a/folder_images/32x_megadrive2_jp.png
+++ b/folder_images/32x_megadrive2_jp.png
Binary files differ
diff --git a/folder_images/arcade.png b/folder_images/arcade.png
index 4bd0c0ae..f4fca7d1 100644
--- a/folder_images/arcade.png
+++ b/folder_images/arcade.png
Binary files differ
diff --git a/folder_images/folder.png b/folder_images/folder.png
index fc2289be..b3902ea2 100644
--- a/folder_images/folder.png
+++ b/folder_images/folder.png
Binary files differ
diff --git a/folder_images/folder_a.png b/folder_images/folder_a.png
index 8b3a3115..07c360bd 100644
--- a/folder_images/folder_a.png
+++ b/folder_images/folder_a.png
Binary files differ
diff --git a/folder_images/folder_b.png b/folder_images/folder_b.png
index 0f56323b..0220a412 100644
--- a/folder_images/folder_b.png
+++ b/folder_images/folder_b.png
Binary files differ
diff --git a/folder_images/folder_back.png b/folder_images/folder_back.png
index bc07aeb5..a8713503 100644
--- a/folder_images/folder_back.png
+++ b/folder_images/folder_back.png
Binary files differ
diff --git a/folder_images/folder_c.png b/folder_images/folder_c.png
index 5159b9ad..bfd66a37 100644
--- a/folder_images/folder_c.png
+++ b/folder_images/folder_c.png
Binary files differ
diff --git a/folder_images/folder_d.png b/folder_images/folder_d.png
index b5d583fa..7e6b3025 100644
--- a/folder_images/folder_d.png
+++ b/folder_images/folder_d.png
Binary files differ
diff --git a/folder_images/folder_e.png b/folder_images/folder_e.png
index 6b86571b..6dac399b 100644
--- a/folder_images/folder_e.png
+++ b/folder_images/folder_e.png
Binary files differ
diff --git a/folder_images/folder_f.png b/folder_images/folder_f.png
index 6f72a04c..49a567b5 100644
--- a/folder_images/folder_f.png
+++ b/folder_images/folder_f.png
Binary files differ
diff --git a/folder_images/folder_g.png b/folder_images/folder_g.png
index 21ea2da6..eaa00ebe 100644
--- a/folder_images/folder_g.png
+++ b/folder_images/folder_g.png
Binary files differ
diff --git a/folder_images/folder_h.png b/folder_images/folder_h.png
index 1684226e..9d7dfbb3 100644
--- a/folder_images/folder_h.png
+++ b/folder_images/folder_h.png
Binary files differ
diff --git a/folder_images/folder_i.png b/folder_images/folder_i.png
index 67c98954..e54993a0 100644
--- a/folder_images/folder_i.png
+++ b/folder_images/folder_i.png
Binary files differ
diff --git a/folder_images/folder_j.png b/folder_images/folder_j.png
index 15b21132..ccd7a571 100644
--- a/folder_images/folder_j.png
+++ b/folder_images/folder_j.png
Binary files differ
diff --git a/folder_images/folder_k.png b/folder_images/folder_k.png
index aacbd83c..f0a78248 100644
--- a/folder_images/folder_k.png
+++ b/folder_images/folder_k.png
Binary files differ
diff --git a/folder_images/folder_l.png b/folder_images/folder_l.png
index 27b2a135..9d750c7d 100644
--- a/folder_images/folder_l.png
+++ b/folder_images/folder_l.png
Binary files differ
diff --git a/folder_images/folder_m.png b/folder_images/folder_m.png
index bd0dbfdb..6a92c47c 100644
--- a/folder_images/folder_m.png
+++ b/folder_images/folder_m.png
Binary files differ
diff --git a/folder_images/folder_n.png b/folder_images/folder_n.png
index 649fc399..7de70638 100644
--- a/folder_images/folder_n.png
+++ b/folder_images/folder_n.png
Binary files differ
diff --git a/folder_images/folder_number.png b/folder_images/folder_number.png
index 29338acd..376096af 100644
--- a/folder_images/folder_number.png
+++ b/folder_images/folder_number.png
Binary files differ
diff --git a/folder_images/folder_o.png b/folder_images/folder_o.png
index ca417b8a..d3f4f1b6 100644
--- a/folder_images/folder_o.png
+++ b/folder_images/folder_o.png
Binary files differ
diff --git a/folder_images/folder_p.png b/folder_images/folder_p.png
index cc000af9..31742da1 100644
--- a/folder_images/folder_p.png
+++ b/folder_images/folder_p.png
Binary files differ
diff --git a/folder_images/folder_q.png b/folder_images/folder_q.png
index 2f60e6f0..c8604992 100644
--- a/folder_images/folder_q.png
+++ b/folder_images/folder_q.png
Binary files differ
diff --git a/folder_images/folder_r.png b/folder_images/folder_r.png
index a07b598a..98a1f3fd 100644
--- a/folder_images/folder_r.png
+++ b/folder_images/folder_r.png
Binary files differ
diff --git a/folder_images/folder_s.png b/folder_images/folder_s.png
index 80be1e2b..707f80ff 100644
--- a/folder_images/folder_s.png
+++ b/folder_images/folder_s.png
Binary files differ
diff --git a/folder_images/folder_system_2600.png b/folder_images/folder_system_2600.png
index 3e00b08b..d2ef274e 100644
--- a/folder_images/folder_system_2600.png
+++ b/folder_images/folder_system_2600.png
Binary files differ
diff --git a/folder_images/folder_system_32x.png b/folder_images/folder_system_32x.png
index 217fcf5b..f54d3714 100644
--- a/folder_images/folder_system_32x.png
+++ b/folder_images/folder_system_32x.png
Binary files differ
diff --git a/folder_images/folder_system_arcade.png b/folder_images/folder_system_arcade.png
index ac4af911..bccb17ee 100644
--- a/folder_images/folder_system_arcade.png
+++ b/folder_images/folder_system_arcade.png
Binary files differ
diff --git a/folder_images/folder_system_famicom.png b/folder_images/folder_system_famicom.png
index e128fc97..317b1a3e 100644
--- a/folder_images/folder_system_famicom.png
+++ b/folder_images/folder_system_famicom.png
Binary files differ
diff --git a/folder_images/folder_system_fds.png b/folder_images/folder_system_fds.png
index 45cc3390..da7760c2 100644
--- a/folder_images/folder_system_fds.png
+++ b/folder_images/folder_system_fds.png
Binary files differ
diff --git a/folder_images/folder_system_gb.png b/folder_images/folder_system_gb.png
index a7ea375f..01d65814 100644
--- a/folder_images/folder_system_gb.png
+++ b/folder_images/folder_system_gb.png
Binary files differ
diff --git a/folder_images/folder_system_gba.png b/folder_images/folder_system_gba.png
index 72c9c0b6..6f585d43 100644
--- a/folder_images/folder_system_gba.png
+++ b/folder_images/folder_system_gba.png
Binary files differ
diff --git a/folder_images/folder_system_gbc.png b/folder_images/folder_system_gbc.png
index 7852745d..9aca1ed6 100644
--- a/folder_images/folder_system_gbc.png
+++ b/folder_images/folder_system_gbc.png
Binary files differ
diff --git a/folder_images/folder_system_genesis.png b/folder_images/folder_system_genesis.png
index 78675fa1..c542d310 100644
--- a/folder_images/folder_system_genesis.png
+++ b/folder_images/folder_system_genesis.png
Binary files differ
diff --git a/folder_images/folder_system_gg.png b/folder_images/folder_system_gg.png
index 18616d5a..34ae1df2 100644
--- a/folder_images/folder_system_gg.png
+++ b/folder_images/folder_system_gg.png
Binary files differ
diff --git a/folder_images/folder_system_n64.png b/folder_images/folder_system_n64.png
index b986865b..380f7d49 100644
--- a/folder_images/folder_system_n64.png
+++ b/folder_images/folder_system_n64.png
Binary files differ
diff --git a/folder_images/folder_system_neogeo.png b/folder_images/folder_system_neogeo.png
index 114ff2d2..d4c79154 100644
--- a/folder_images/folder_system_neogeo.png
+++ b/folder_images/folder_system_neogeo.png
Binary files differ
diff --git a/folder_images/folder_system_nes.png b/folder_images/folder_system_nes.png
index f3e501d7..cd3ff604 100644
--- a/folder_images/folder_system_nes.png
+++ b/folder_images/folder_system_nes.png
Binary files differ
diff --git a/folder_images/folder_system_nes_org.png b/folder_images/folder_system_nes_org.png
index 4894ec8d..ea89537b 100644
--- a/folder_images/folder_system_nes_org.png
+++ b/folder_images/folder_system_nes_org.png
Binary files differ
diff --git a/folder_images/folder_system_pce.png b/folder_images/folder_system_pce.png
index 6914230d..3649f9ea 100644
--- a/folder_images/folder_system_pce.png
+++ b/folder_images/folder_system_pce.png
Binary files differ
diff --git a/folder_images/folder_system_sms.png b/folder_images/folder_system_sms.png
index 6d9c370b..c3887d5f 100644
--- a/folder_images/folder_system_sms.png
+++ b/folder_images/folder_system_sms.png
Binary files differ
diff --git a/folder_images/folder_system_snes_eu_jp.png b/folder_images/folder_system_snes_eu_jp.png
index ec443ea9..fed20bec 100644
--- a/folder_images/folder_system_snes_eu_jp.png
+++ b/folder_images/folder_system_snes_eu_jp.png
Binary files differ
diff --git a/folder_images/folder_system_snes_usa.png b/folder_images/folder_system_snes_usa.png
index 17ffcd3d..1843aa8a 100644
--- a/folder_images/folder_system_snes_usa.png
+++ b/folder_images/folder_system_snes_usa.png
Binary files differ
diff --git a/folder_images/folder_t.png b/folder_images/folder_t.png
index 135e794e..2fa4f13c 100644
--- a/folder_images/folder_t.png
+++ b/folder_images/folder_t.png
Binary files differ
diff --git a/folder_images/folder_u.png b/folder_images/folder_u.png
index aa4ced58..362ee97d 100644
--- a/folder_images/folder_u.png
+++ b/folder_images/folder_u.png
Binary files differ
diff --git a/folder_images/folder_v.png b/folder_images/folder_v.png
index 317db7b6..32b2e0b8 100644
--- a/folder_images/folder_v.png
+++ b/folder_images/folder_v.png
Binary files differ
diff --git a/folder_images/folder_w.png b/folder_images/folder_w.png
index db601fea..d68c888a 100644
--- a/folder_images/folder_w.png
+++ b/folder_images/folder_w.png
Binary files differ
diff --git a/folder_images/folder_x.png b/folder_images/folder_x.png
index 041d78ea..7fd956e3 100644
--- a/folder_images/folder_x.png
+++ b/folder_images/folder_x.png
Binary files differ
diff --git a/folder_images/folder_y.png b/folder_images/folder_y.png
index 5694ce82..74a08064 100644
--- a/folder_images/folder_y.png
+++ b/folder_images/folder_y.png
Binary files differ
diff --git a/folder_images/folder_z.png b/folder_images/folder_z.png
index fed151f5..e34d09b4 100644
--- a/folder_images/folder_z.png
+++ b/folder_images/folder_z.png
Binary files differ
diff --git a/folder_images/gamegear.png b/folder_images/gamegear.png
index e80397a3..491cbf50 100644
--- a/folder_images/gamegear.png
+++ b/folder_images/gamegear.png
Binary files differ
diff --git a/folder_images/gb_dmg.png b/folder_images/gb_dmg.png
index be1fb927..638973c1 100644
--- a/folder_images/gb_dmg.png
+++ b/folder_images/gb_dmg.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_black.png b/folder_images/gb_play_it_loud_black.png
index e5751691..9a8bcbca 100644
--- a/folder_images/gb_play_it_loud_black.png
+++ b/folder_images/gb_play_it_loud_black.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_blue.png b/folder_images/gb_play_it_loud_blue.png
index dd6b3d4a..cec8c7d9 100644
--- a/folder_images/gb_play_it_loud_blue.png
+++ b/folder_images/gb_play_it_loud_blue.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_green.png b/folder_images/gb_play_it_loud_green.png
index b701bfcd..79b12d8c 100644
--- a/folder_images/gb_play_it_loud_green.png
+++ b/folder_images/gb_play_it_loud_green.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_red.png b/folder_images/gb_play_it_loud_red.png
index af90ae72..6eee9233 100644
--- a/folder_images/gb_play_it_loud_red.png
+++ b/folder_images/gb_play_it_loud_red.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_white.png b/folder_images/gb_play_it_loud_white.png
index cc1697ec..e8f53553 100644
--- a/folder_images/gb_play_it_loud_white.png
+++ b/folder_images/gb_play_it_loud_white.png
Binary files differ
diff --git a/folder_images/gb_play_it_loud_yellow.png b/folder_images/gb_play_it_loud_yellow.png
index fca8cb16..78548eee 100644
--- a/folder_images/gb_play_it_loud_yellow.png
+++ b/folder_images/gb_play_it_loud_yellow.png
Binary files differ
diff --git a/folder_images/gba.png b/folder_images/gba.png
index 404ceabd..3fbaf03e 100644
--- a/folder_images/gba.png
+++ b/folder_images/gba.png
Binary files differ
diff --git a/folder_images/gbc_green.png b/folder_images/gbc_green.png
index 9fb39ace..e87edf19 100644
--- a/folder_images/gbc_green.png
+++ b/folder_images/gbc_green.png
Binary files differ
diff --git a/folder_images/gbc_purple.png b/folder_images/gbc_purple.png
index de5f2992..4239b464 100644
--- a/folder_images/gbc_purple.png
+++ b/folder_images/gbc_purple.png
Binary files differ
diff --git a/folder_images/gbc_red.png b/folder_images/gbc_red.png
index ddb08bf9..86eab962 100644
--- a/folder_images/gbc_red.png
+++ b/folder_images/gbc_red.png
Binary files differ
diff --git a/folder_images/gbc_turquoise.png b/folder_images/gbc_turquoise.png
index 8ef039ec..1bb150c9 100644
--- a/folder_images/gbc_turquoise.png
+++ b/folder_images/gbc_turquoise.png
Binary files differ
diff --git a/folder_images/gbc_yellow.png b/folder_images/gbc_yellow.png
index d4f91c12..f8af2d12 100644
--- a/folder_images/gbc_yellow.png
+++ b/folder_images/gbc_yellow.png
Binary files differ
diff --git a/folder_images/genesis2.png b/folder_images/genesis2.png
index de3a91eb..e2cb54b2 100644
--- a/folder_images/genesis2.png
+++ b/folder_images/genesis2.png
Binary files differ
diff --git a/folder_images/megadrive2.png b/folder_images/megadrive2.png
index e01c562a..2060c865 100644
--- a/folder_images/megadrive2.png
+++ b/folder_images/megadrive2.png
Binary files differ
diff --git a/folder_images/megadrive2_jp.png b/folder_images/megadrive2_jp.png
index f7e6509e..079a2a35 100644
--- a/folder_images/megadrive2_jp.png
+++ b/folder_images/megadrive2_jp.png
Binary files differ
diff --git a/folder_images/n64.png b/folder_images/n64.png
index 6abae115..baa4e5bc 100644
--- a/folder_images/n64.png
+++ b/folder_images/n64.png
Binary files differ
diff --git a/folder_images/neogeo.png b/folder_images/neogeo.png
index ca5cec00..7ed08137 100644
--- a/folder_images/neogeo.png
+++ b/folder_images/neogeo.png
Binary files differ
diff --git a/folder_images/nes.png b/folder_images/nes.png
index 7f623648..1aab0bde 100644
--- a/folder_images/nes.png
+++ b/folder_images/nes.png
Binary files differ
diff --git a/folder_images/pce.png b/folder_images/pce.png
index 4331c319..c869e2d3 100644
--- a/folder_images/pce.png
+++ b/folder_images/pce.png
Binary files differ
diff --git a/folder_images/sms.png b/folder_images/sms.png
index 3ad73002..ebb32e77 100644
--- a/folder_images/sms.png
+++ b/folder_images/sms.png
Binary files differ
diff --git a/folder_images/snes_eu_jp.png b/folder_images/snes_eu_jp.png
index f00a6889..87129a57 100644
--- a/folder_images/snes_eu_jp.png
+++ b/folder_images/snes_eu_jp.png
Binary files differ
diff --git a/folder_images/snes_usa.png b/folder_images/snes_usa.png
index 2db8f9dc..ad2798f0 100644
--- a/folder_images/snes_usa.png
+++ b/folder_images/snes_usa.png
Binary files differ
diff --git a/hakchi_gui.csproj b/hakchi_gui.csproj
index dd032358..021d83c1 100644
--- a/hakchi_gui.csproj
+++ b/hakchi_gui.csproj
@@ -14,14 +14,37 @@
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
+ <IsWebBootstrapper>true</IsWebBootstrapper>
+ <PublishUrl>ftp://clusterrr.com/www/www/soft/hakchi2/</PublishUrl>
+ <Install>true</Install>
+ <InstallFrom>Web</InstallFrom>
+ <UpdateEnabled>true</UpdateEnabled>
+ <UpdateMode>Background</UpdateMode>
+ <UpdateInterval>7</UpdateInterval>
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+ <UpdatePeriodically>false</UpdatePeriodically>
+ <UpdateRequired>false</UpdateRequired>
+ <MapFileExtensions>false</MapFileExtensions>
+ <InstallUrl>http://clusterrr.com/soft/hakchi2/</InstallUrl>
+ <SupportUrl>http://clusterrr.com</SupportUrl>
+ <ProductName>hakchi2</ProductName>
+ <PublisherName>Alexey %27Cluster%27 Avdyukhin</PublisherName>
+ <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
+ <WebPage>index.html</WebPage>
+ <ApplicationRevision>11</ApplicationRevision>
+ <ApplicationVersion>2.0.18.11</ApplicationVersion>
+ <UseApplicationTrust>false</UseApplicationTrust>
+ <CreateDesktopShortcut>true</CreateDesktopShortcut>
+ <PublishWizardCompleted>true</PublishWizardCompleted>
+ <BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>x86</PlatformTarget>
+ <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG;COMPRESS</DefineConstants>
+ <DefineConstants>TRACE;DEBUG;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
@@ -31,7 +54,7 @@
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
+ <DefineConstants>TRACE;LIBUSBDOTNET WINDOWS_TESTING</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@@ -39,9 +62,7 @@
<PropertyGroup>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
- <PropertyGroup>
- <NoWin32Manifest>True</NoWin32Manifest>
- </PropertyGroup>
+ <PropertyGroup />
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
@@ -51,8 +72,34 @@
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
</PropertyGroup>
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup>
+ <TargetZone>LocalIntranet</TargetZone>
+ </PropertyGroup>
+ <PropertyGroup>
+ <GenerateManifests>true</GenerateManifests>
+ </PropertyGroup>
+ <PropertyGroup>
+ <SignManifests>true</SignManifests>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ManifestCertificateThumbprint>1D05715BF83320949FC1BAC8462308051A0C0F04</ManifestCertificateThumbprint>
+ </PropertyGroup>
+ <PropertyGroup>
+ <ManifestKeyFile>cluster_cert.pfx</ManifestKeyFile>
+ </PropertyGroup>
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup />
+ <PropertyGroup>
+ <NoWin32Manifest>true</NoWin32Manifest>
+ </PropertyGroup>
<ItemGroup>
- <Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Management" />
@@ -73,6 +120,8 @@
<DependentUpon>AboutBox.cs</DependentUpon>
</Compile>
<Compile Include="Apps\AppTypeCollection.cs" />
+ <Compile Include="Apps\ArcadeGame.cs" />
+ <Compile Include="Apps\Atari2600Game.cs" />
<Compile Include="Apps\Sega32XGame.cs" />
<Compile Include="Apps\GenesisGame.cs" />
<Compile Include="Apps\PceGame.cs" />
@@ -84,7 +133,26 @@
<Compile Include="Apps\SmsGame.cs" />
<Compile Include="Apps\SnesGame.cs" />
<Compile Include="Apps\NesUGame.cs" />
+ <Compile Include="Clovershell\ClovershellConnection.cs" />
+ <Compile Include="Clovershell\ClovershellException.cs" />
+ <Compile Include="Clovershell\ExecConnection.cs" />
+ <Compile Include="Clovershell\ShellConnection.cs" />
<Compile Include="ConfigIni.cs" />
+ <Compile Include="FileBrowserForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="FileBrowserForm.Designer.cs">
+ <DependentUpon>FileBrowserForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="FtpServer\NesMiniFileSystemHandler.cs" />
+ <Compile Include="FtpServer\NesMiniAuthHandler.cs" />
+ <Compile Include="FtpServer\DebugLogHandler.cs" />
+ <Compile Include="FtpServer\FileSystemHelper.cs" />
+ <Compile Include="FtpServer\IAuthHandler.cs" />
+ <Compile Include="FtpServer\IFileSystemHandler.cs" />
+ <Compile Include="FtpServer\ILogHandler.cs" />
+ <Compile Include="FtpServer\Server.cs" />
+ <Compile Include="FtpServer\Session.cs" />
<Compile Include="GameGenieCodeAddModForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -98,11 +166,167 @@
<DependentUpon>GameGenieCodeForm.cs</DependentUpon>
</Compile>
<Compile Include="GameGenieDataBase.cs" />
+ <Compile Include="ImagesForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="ImagesForm.Designer.cs">
+ <DependentUpon>ImagesForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="LibWinUsb\Descriptors\ClassCodeType.cs" />
+ <Compile Include="LibWinUsb\Descriptors\DescriptorType.cs" />
+ <Compile Include="LibWinUsb\Descriptors\LangStringDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\StringDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbConfigDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbDeviceDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbEndpointDescriptor.cs" />
+ <Compile Include="LibWinUsb\Descriptors\UsbInterfaceDescriptor.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\DeviceType.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\EventType.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\IDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IPortNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IUsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\IVolumeNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\PortNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\UsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Info\VolumeNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastDeviceinterface.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastHdr.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastPort.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevBroadcastVolume.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\DevNotifyNativeWindow.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Internal\SafeNotifyHandle.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DeviceListPolling.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifier.DevMonitor.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifierMode.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItem.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxDevItemList.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\Linux\LinuxUsbDeviceNotifyInfo.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifier.cs" />
+ <Compile Include="LibWinUsb\DeviceNotify\WindowsDeviceNotifyEventArgs.cs" />
+ <Compile Include="LibWinUsb\Info\UsbBaseInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbConfigInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbDeviceInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbEndpointInfo.cs" />
+ <Compile Include="LibWinUsb\Info\UsbInterfaceInfo.cs" />
+ <Compile Include="LibWinUsb\Internal\Kernel32.cs" />
+ <Compile Include="LibWinUsb\Internal\OverlappedTransferContext.cs" />
+ <Compile Include="LibWinUsb\Internal\SafeOverlapped.cs" />
+ <Compile Include="LibWinUsb\Internal\SetupApi.cs" />
+ <Compile Include="LibWinUsb\Internal\TransferContextBase.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbApiBase.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\BaseRegSymbolicName.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\NamedGroup.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\RegHardwareID.cs" />
+ <Compile Include="LibWinUsb\Internal\UsbRegex\RegSymbolicName.cs" />
+ <Compile Include="LibWinUsb\IUsbDevice.cs" />
+ <Compile Include="LibWinUsb\IUsbInterface.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbAPI.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbDriverIO_IOControlMessage.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbIoCtl.cs" />
+ <Compile Include="LibWinUsb\LibUsb\Internal\LibUsbRequest.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbDevice.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbDeviceRegistryKeyRequest.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbKernelType.cs" />
+ <Compile Include="LibWinUsb\LibUsb\LibUsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\ControlEpLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DataEpLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DataReceivedEnabledChangedEventArgs.cs" />
+ <Compile Include="LibWinUsb\Main\DeviceLockType.cs" />
+ <Compile Include="LibWinUsb\Main\DevicePropertyType.cs" />
+ <Compile Include="LibWinUsb\Main\EndpointDataEventArgs.cs" />
+ <Compile Include="LibWinUsb\Main\EndpointType.cs" />
+ <Compile Include="LibWinUsb\Main\ErrorCode.cs" />
+ <Compile Include="LibWinUsb\Main\Helper.cs" />
+ <Compile Include="LibWinUsb\Main\LegacyUsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\ReadEndpointID.cs" />
+ <Compile Include="LibWinUsb\Main\SafeContextHandle.cs" />
+ <Compile Include="LibWinUsb\Main\SetupApiRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\SPDRP.cs" />
+ <Compile Include="LibWinUsb\Main\UsbConstants.cs" />
+ <Compile Include="LibWinUsb\Main\UsbCtrlFlags.cs" />
+ <Compile Include="LibWinUsb\Main\UsbDeviceFinder.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointBase.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointDirection.cs" />
+ <Compile Include="LibWinUsb\Main\UsbEndpointList.cs" />
+ <Compile Include="LibWinUsb\Main\UsbException.cs" />
+ <Compile Include="LibWinUsb\Main\UsbKernelVersion.cs" />
+ <Compile Include="LibWinUsb\Main\UsbLockStyle.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRegDeviceList.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRegistry.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRequestRecipient.cs" />
+ <Compile Include="LibWinUsb\Main\UsbRequestType.cs" />
+ <Compile Include="LibWinUsb\Main\UsbSetupPacket.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStandardRequest.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStatusClodes.cs" />
+ <Compile Include="LibWinUsb\Main\UsbStream.cs" />
+ <Compile Include="LibWinUsb\Main\UsbSymbolicName.cs" />
+ <Compile Include="LibWinUsb\Main\UsbTransfer.cs" />
+ <Compile Include="LibWinUsb\Main\WriteEndpointID.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\CallbackDelegates.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbAltInterfaceDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbConfigDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbDeviceDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbEndpointDescriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Descriptors\MonoUsbInterface.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoLibUsbApi.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDevice.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbDeviceHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointReader.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEndpointWriter.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbError.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbEventHandler.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\MonoUsbSessionHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveEventArgs.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\AddRemoveType.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbConfigHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfile.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileHandleEnumerator.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileList.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\MonoUsbProfileListHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Profile\PollfdItem.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_control_setup.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_iso_packet_descriptor.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\Internal\libusb_transfer.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetup.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbControlSetupHandle.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbIsoPacket.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTansferStatus.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransfer.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferContext.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\Transfer\MonoUsbTransferFlags.cs" />
+ <Compile Include="LibWinUsb\MonoLibUsb\UnixNativeTimeval.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.Common.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.Error.cs" />
+ <Compile Include="LibWinUsb\UsbDevice.OS.Specific.cs" />
+ <Compile Include="LibWinUsb\UsbEndpointReader.cs" />
+ <Compile Include="LibWinUsb\UsbEndpointWriter.cs" />
+ <Compile Include="LibWinUsb\UsbGlobals.cs" />
+ <Compile Include="LibWinUsb\WinUsb\DeviceInformationTypes.cs" />
+ <Compile Include="LibWinUsb\WinUsb\DeviceSpeedTypes.cs" />
+ <Compile Include="LibWinUsb\WinUsb\Internal\SafeWinUsbInterfaceHandle.cs" />
+ <Compile Include="LibWinUsb\WinUsb\Internal\WinUsbAPI.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipeInformation.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipePolicies.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PipePolicyType.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PowerPolicies.cs" />
+ <Compile Include="LibWinUsb\WinUsb\PowerPolicyType.cs" />
+ <Compile Include="LibWinUsb\WinUsb\WinUsbDevice.cs" />
+ <Compile Include="LibWinUsb\WinUsb\WinUsbRegistry.cs" />
<Compile Include="MessageBoxManager.cs" />
- <Compile Include="Properties\Resources.Designer.cs">
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- <DependentUpon>Resources.resx</DependentUpon>
+ <Compile Include="Properties\Resources.Designer.cs" />
+ <Compile Include="SaveStateManager.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="SaveStateManager.Designer.cs">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
</Compile>
<Compile Include="SelectModsForm.cs">
<SubType>Form</SubType>
@@ -120,26 +344,6 @@
<Compile Include="FelLib\Fel.cs" />
<Compile Include="FelLib\FelException.cs" />
<Compile Include="FelLib\FelParseException.cs" />
- <Compile Include="FelLib\WinUSBNet\API\APIException.cs" />
- <Compile Include="FelLib\WinUSBNet\API\DeviceDetails.cs" />
- <Compile Include="FelLib\WinUSBNet\API\DeviceManagement.cs" />
- <Compile Include="FelLib\WinUSBNet\API\DeviceManagementAPI.cs" />
- <Compile Include="FelLib\WinUSBNet\API\FileAPI.cs" />
- <Compile Include="FelLib\WinUSBNet\API\WinUSBDevice.cs" />
- <Compile Include="FelLib\WinUSBNet\API\WinUSBDeviceAPI.cs" />
- <Compile Include="FelLib\WinUSBNet\DeviceNotifyHook.cs" />
- <Compile Include="FelLib\WinUSBNet\USB.cs" />
- <Compile Include="FelLib\WinUSBNet\USBAsyncResult.cs" />
- <Compile Include="FelLib\WinUSBNet\USBDevice.cs" />
- <Compile Include="FelLib\WinUSBNet\USBDeviceDescriptor.cs" />
- <Compile Include="FelLib\WinUSBNet\USBDeviceInfo.cs" />
- <Compile Include="FelLib\WinUSBNet\USBException.cs" />
- <Compile Include="FelLib\WinUSBNet\USBInterface.cs" />
- <Compile Include="FelLib\WinUSBNet\USBInterfaceCollection.cs" />
- <Compile Include="FelLib\WinUSBNet\USBNotifier.cs" />
- <Compile Include="FelLib\WinUSBNet\USBPipe.cs" />
- <Compile Include="FelLib\WinUSBNet\USBPipeCollection.cs" />
- <Compile Include="FelLib\WinUSBNet\USBPipePolicy.cs" />
<Compile Include="GameGeniePatcher.cs" />
<Compile Include="ImageGooglerForm.cs">
<SubType>Form</SubType>
@@ -163,11 +367,6 @@
<Compile Include="Apps\NesMiniApplication.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Properties\Resources.ru-RU.Designer.cs">
- <DependentUpon>Resources.ru-RU.resx</DependentUpon>
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- </Compile>
<Compile Include="SearchForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -234,20 +433,28 @@
<Compile Include="StringInputForm.Designer.cs">
<DependentUpon>StringInputForm.cs</DependentUpon>
</Compile>
+ <Compile Include="TarStream.cs" />
<Compile Include="TaskbarProgress.cs" />
- <Compile Include="TreeContructorForm.cs">
+ <Compile Include="FoldersManagerForm.cs">
<SubType>Form</SubType>
</Compile>
- <Compile Include="TreeContructorForm.Designer.cs">
- <DependentUpon>TreeContructorForm.cs</DependentUpon>
+ <Compile Include="FoldersManagerForm.Designer.cs">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
</Compile>
+ <Compile Include="TrackableFileStream.cs" />
<Compile Include="UnsupportedFourScreenException.cs" />
<Compile Include="UnsupportedMapperException.cs" />
- <Compile Include="WaitingForm.cs">
+ <Compile Include="WaitingClovershellForm.cs">
<SubType>Form</SubType>
</Compile>
- <Compile Include="WaitingForm.Designer.cs">
- <DependentUpon>WaitingForm.cs</DependentUpon>
+ <Compile Include="WaitingClovershellForm.Designer.cs">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="WaitingFelForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="WaitingFelForm.Designer.cs">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
</Compile>
<Compile Include="WorkerForm.cs">
<SubType>Form</SubType>
@@ -258,30 +465,324 @@
<EmbeddedResource Include="AboutBox.resx">
<DependentUpon>AboutBox.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="FileBrowserForm.resx">
+ <DependentUpon>FileBrowserForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.bg-BG.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.ca-ES.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.da-DK.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.de-De.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.el-GR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.en-GB.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.es-AR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.es-ES.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.fi-FI.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.fr-FR.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.id-ID.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.it-IT.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.nl.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.pt-PT.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.sk-SK.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.sv-SE.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.uk-UA.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.zh-CHS.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.zh-CHT.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.zh-TW.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.bg-BG.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.ca-ES.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.da-DK.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.de-DE.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.el-GR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.en-GB.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.es-AR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.es-ES.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.fi-FI.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.fr-FR.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.id-ID.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.it-IT.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.nl.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeAddModForm.pl-PL.resx">
<DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.pt-PT.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeAddModForm.resx">
<DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeAddModForm.ru-RU.resx">
<DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.sk-SK.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.sv-SE.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.uk-UA.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.zh-CHS.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.zh-CHT.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeAddModForm.zh-TW.resx">
+ <DependentUpon>GameGenieCodeAddModForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.bg-BG.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.ca-ES.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.da-DK.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.de-DE.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.el-GR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.en-GB.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.es-AR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.es-ES.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.fi-FI.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.fr-FR.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.id-ID.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.it-IT.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.nl.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeForm.pl-PL.resx">
<DependentUpon>GameGenieCodeForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.pt-PT.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeForm.resx">
<DependentUpon>GameGenieCodeForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="GameGenieCodeForm.ru-RU.resx">
<DependentUpon>GameGenieCodeForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.sk-SK.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.sv-SE.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.uk-UA.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.zh-CHS.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.zh-CHT.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="GameGenieCodeForm.zh-TW.resx">
+ <DependentUpon>GameGenieCodeForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.bg-BG.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.ca-ES.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.da-DK.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.de-DE.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.el-GR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.en-GB.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.es-AR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.es-ES.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.fi-FI.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.fr-FR.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.id-ID.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.it-IT.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.nl.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.pl-PL.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.pt-PT.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="ImageGooglerForm.resx">
<DependentUpon>ImageGooglerForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.ru-RU.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.sk-SK.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.sv-SE.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.uk-UA.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.zh-CHS.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.zh-CHT.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImageGooglerForm.zh-TW.resx">
+ <DependentUpon>ImageGooglerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ImagesForm.resx">
+ <DependentUpon>ImagesForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.bg-BG.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.ca-ES.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.da-DK.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.de-DE.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.el-GR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.en-GB.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.es-AR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.es-ES.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.fi-FI.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.fr-FR.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.id-ID.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.it-IT.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.nl.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="MainForm.pl-PL.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="MainForm.pt-PT.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
@@ -290,21 +791,361 @@
<DependentUpon>MainForm.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
- <EmbeddedResource Include="SelectModsForm.resx">
- <DependentUpon>SelectModsForm.cs</DependentUpon>
+ <EmbeddedResource Include="MainForm.sk-SK.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.pl-PL.resx">
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="MainForm.sv-SE.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="Properties\Resources.ru-RU.resx">
- <Generator>ResXFileCodeGenerator</Generator>
- <LastGenOutput>Resources.ru-RU.Designer.cs</LastGenOutput>
- <SubType>Designer</SubType>
+ <EmbeddedResource Include="MainForm.uk-UA.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.zh-CHS.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.zh-CHT.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="MainForm.zh-TW.resx">
+ <DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.bg-BG.resx" />
+ <EmbeddedResource Include="Properties\Resources.ca-ES.resx" />
+ <EmbeddedResource Include="Properties\Resources.da-DK.resx" />
+ <EmbeddedResource Include="Properties\Resources.de-DE.resx" />
+ <EmbeddedResource Include="Properties\Resources.el-GR.resx" />
+ <EmbeddedResource Include="Properties\Resources.en-GB.resx" />
+ <EmbeddedResource Include="Properties\Resources.es-AR.resx" />
+ <EmbeddedResource Include="Properties\Resources.es-ES.resx" />
+ <EmbeddedResource Include="Properties\Resources.fi-FI.resx" />
+ <EmbeddedResource Include="Properties\Resources.fr-FR.resx" />
+ <EmbeddedResource Include="Properties\Resources.id-ID.resx" />
+ <EmbeddedResource Include="Properties\Resources.it-IT.resx" />
+ <EmbeddedResource Include="Properties\Resources.nl.resx" />
+ <EmbeddedResource Include="Properties\Resources.pl-PL.resx" />
+ <EmbeddedResource Include="Properties\Resources.pt-PT.resx" />
<EmbeddedResource Include="Properties\Resources.resx">
- <Generator>ResXFileCodeGenerator</Generator>
<SubType>Designer</SubType>
- <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ <LastGenOutput>Resources1.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <EmbeddedResource Include="Properties\Resources.ru-RU.resx" />
+ <EmbeddedResource Include="Properties\Resources.sk-SK.resx" />
+ <EmbeddedResource Include="Properties\Resources.sv-SE.resx" />
+ <EmbeddedResource Include="Properties\Resources.uk-UA.resx" />
+ <EmbeddedResource Include="Properties\Resources.zh-CHS.resx" />
+ <EmbeddedResource Include="Properties\Resources.zh-CHT.resx" />
+ <EmbeddedResource Include="Properties\Resources.zh-TW.resx" />
+ <EmbeddedResource Include="SaveStateManager.bg-BG.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.ca-ES.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.da-DK.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.de-DE.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.el-GR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.en-GB.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.es-AR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.es-ES.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.fi-FI.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.fr-FR.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.id-ID.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.it-IT.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.nl.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.pl-PL.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.pt-PT.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.ru-RU.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.sk-SK.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.sv-SE.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.uk-UA.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.zh-CHS.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.zh-CHT.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SaveStateManager.zh-TW.resx">
+ <DependentUpon>SaveStateManager.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.bg-BG.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.ca-ES.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.da-DK.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.de-DE.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.el-GR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.en-GB.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.es-AR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.es-ES.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.fi-FI.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.fr-FR.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.id-ID.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.it-IT.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.nl.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.pt-PT.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.sk-SK.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.sv-SE.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.uk-UA.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.zh-CHS.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.zh-CHT.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SearchForm.zh-TW.resx">
+ <DependentUpon>SearchForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.bg-BG.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.ca-ES.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.da-DK.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.de-DE.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.el-GR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.en-GB.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.es-AR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.es-ES.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.fi-FI.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.fr-FR.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.id-ID.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.it-IT.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.nl.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.pt-PT.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.sk-SK.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.sv-SE.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.uk-UA.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.zh-CHS.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.zh-CHT.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectButtonsForm.zh-TW.resx">
+ <DependentUpon>SelectButtonsForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.bg-BG.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.ca-ES.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.da-DK.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.de-DE.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.el-GR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.en-GB.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.es-AR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.es-ES.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.fi-FI.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.fr-FR.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.id-ID.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.it-IT.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.nl.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.pt-PT.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.sk-SK.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.sv-SE.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.uk-UA.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.zh-CHS.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.zh-CHT.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectFileForm.zh-TW.resx">
+ <DependentUpon>SelectFileForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.bg-BG.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.ca-ES.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.da-DK.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.de-DE.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.el-GR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.en-GB.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.es-AR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.es-ES.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.fi-FI.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.fr-FR.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.id-ID.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.it-IT.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.nl.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.pt-PT.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.sk-SK.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.sv-SE.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.uk-UA.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.zh-CHS.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.zh-CHT.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectIconForm.zh-TW.resx">
+ <DependentUpon>SelectIconForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="SelectModsForm.resx">
+ <DependentUpon>SelectModsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SearchForm.pl-PL.resx">
<DependentUpon>SearchForm.cs</DependentUpon>
@@ -345,192 +1186,377 @@
<EmbeddedResource Include="StringInputForm.resx">
<DependentUpon>StringInputForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="TreeContructorForm.pl-PL.resx">
- <DependentUpon>TreeContructorForm.cs</DependentUpon>
+ <EmbeddedResource Include="FoldersManagerForm.pl-PL.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="FoldersManagerForm.ru-RU.resx">
+ <DependentUpon>FoldersManagerForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.bg-BG.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.ca-ES.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.da-DK.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.de-DE.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.el-GR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.en-GB.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.es-AR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.es-ES.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.fi-FI.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.fr-FR.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.id-ID.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.it-IT.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.nl.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.pl-PL.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.pt-PT.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="TreeContructorForm.resx">
- <DependentUpon>TreeContructorForm.cs</DependentUpon>
+ <EmbeddedResource Include="WaitingClovershellForm.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="TreeContructorForm.ru-RU.resx">
- <DependentUpon>TreeContructorForm.cs</DependentUpon>
+ <EmbeddedResource Include="WaitingClovershellForm.ru-RU.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="WaitingForm.pl-PL.resx">
- <DependentUpon>WaitingForm.cs</DependentUpon>
+ <EmbeddedResource Include="WaitingClovershellForm.sk-SK.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="WaitingForm.resx">
- <DependentUpon>WaitingForm.cs</DependentUpon>
+ <EmbeddedResource Include="WaitingClovershellForm.sv-SE.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
</EmbeddedResource>
- <EmbeddedResource Include="WaitingForm.ru-RU.resx">
- <DependentUpon>WaitingForm.cs</DependentUpon>
+ <EmbeddedResource Include="WaitingClovershellForm.uk-UA.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.zh-CHS.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.zh-CHT.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingClovershellForm.zh-TW.resx">
+ <DependentUpon>WaitingClovershellForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.bg-BG.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.ca-ES.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.da-DK.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.de-DE.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.el-GR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.en-GB.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.es-AR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.es-ES.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.fi-FI.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.fr-FR.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.id-ID.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.it-IT.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.nl.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.pl-PL.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.pt-PT.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.ru-RU.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.sk-SK.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.sv-SE.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.uk-UA.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.zh-CHS.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.zh-CHT.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
+ </EmbeddedResource>
+ <EmbeddedResource Include="WaitingFelForm.zh-TW.resx">
+ <DependentUpon>WaitingFelForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WorkerForm.resx">
<DependentUpon>WorkerForm.cs</DependentUpon>
</EmbeddedResource>
- <None Include="art\README.txt">
+ <Content Include="art\README.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="data\fes1.bin">
+ </Content>
+ <Content Include="data\fes1.bin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="data\uboot.bin">
+ </Content>
+ <Content Include="data\splash.gz">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="LICENSE">
+ </Content>
+ <Content Include="data\uboot.bin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\hmods\clovercon.hmod">
+ </Content>
+ <EmbeddedResource Include="images\flags\ar.png" />
+ <EmbeddedResource Include="images\flags\bg.png" />
+ <EmbeddedResource Include="images\flags\de.png" />
+ <EmbeddedResource Include="images\flags\es.png" />
+ <EmbeddedResource Include="images\flags\fr.png" />
+ <EmbeddedResource Include="images\flags\gr.png" />
+ <EmbeddedResource Include="images\flags\it.png" />
+ <EmbeddedResource Include="images\flags\nl.png" />
+ <EmbeddedResource Include="images\flags\pl.png" />
+ <EmbeddedResource Include="images\flags\pt.png" />
+ <EmbeddedResource Include="images\flags\ru.png" />
+ <EmbeddedResource Include="images\flags\se.png" />
+ <EmbeddedResource Include="images\flags\sk.png" />
+ <EmbeddedResource Include="images\flags\us.png" />
+ <EmbeddedResource Include="images\flags\fi.png" />
+ <EmbeddedResource Include="images\flags\id.png" />
+ <EmbeddedResource Include="images\flags\gb.png" />
+ <EmbeddedResource Include="images\flags\cn.png" />
+ <EmbeddedResource Include="images\flags\tw.png" />
+ <EmbeddedResource Include="images\flags\ua.png" />
+ <Content Include="images\flags\dk.png" />
+ <Content Include="LICENSE">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\hmods\fontfix.hmod">
+ </Content>
+ <Content Include="mods\hmods\clovercon.hmod">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\bin\busybox">
+ </Content>
+ <Content Include="mods\hmods\clovershell.hmod">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\bin\rsync">
+ </Content>
+ <Content Include="mods\hmods\copyleft.hmod">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\config">
+ </Content>
+ <Content Include="mods\hmods\fontfix.hmod">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\init">
+ </Content>
+ <Content Include="mods\mod_uninstall\bin\busybox">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\bin\chmenu">
+ </Content>
+ <Content Include="mods\mod_uninstall\hakchi\init">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\bin\clover-kachikachi-wr">
+ </Content>
+ <Content Include="mods\mod_uninstall\sbin\init">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\inittab">
+ </Content>
+ <Content Include="patches\1dac6208-Snow Bros. %28U%29 [!] - NES Mini patch.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit">
+ </Content>
+ <Content Include="patches\279710dc-Battletoads %28U%29 [bugfix].ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\2caae01c-Felix the cat noDim hack %28for U [!] version%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\46fd7843-Splatter House - Wanpaku Graffiti %28J%29 [!] - MMC3 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\4ec0fecc-Ufouria - The Saga %28E%29 [NTSC hack].ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\61179bfa-Jungle Book %28no dim%29 .ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\6dc28b5a-Bio Miracle Bokutte Upa - MMC5 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\75b3eb37-Saiyuuki World 2 - MMC3 patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\8889c564-Immortal, The %28U%29 [!] %28bright hack%29.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\96087988-RoboCop 3 %28U%29 [!] - NES Mini patch.ips">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="patches\9ab274ae-Cheetahmen II - MMC1 patch.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0000_defines">
+ </Content>
+ <Content Include="patches\ac8dcdea-Cybernoid - The Fighting Machine %28U%29 [!] %28fix%29.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0010_functions">
+ </Content>
+ <Content Include="patches\ba51ac6f-Holy Diver %28J%29 - MMC1 patch.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p0000_config">
+ </Content>
+ <Content Include="patches\c4b6ed3c-Bill &amp; Ted%27s Excellent Video Game Adventure %28U%29 - NES Mini patch.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7000_preinit">
+ </Content>
+ <Content Include="patches\ca033b3a-Dragon%27s Lair %28U%29 [!] %28no dim%29.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7070_firmware">
+ </Content>
+ <Content Include="patches\d054ffb0-Startropics II - Zoda%27s Revenge %28U%29 [!] - MMC3 patch.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7070_preinit">
+ </Content>
+ <Content Include="patches\f6898a59-James Bond Jr %28no dim%29.ips">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7100_preinit">
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\install">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pa100_games">
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\pb223_music_hack">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pffff_bootstock">
+ </Content>
+ <Content Include="user_mods\music_hack.hmod\uninstall">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pffff_config">
+ </Content>
+ <Content Include="user_mods\password.hmod\install">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\rootfs\etc\profile">
+ </Content>
+ <Content Include="user_mods\password.hmod\password.raw.gz">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\backup">
+ </Content>
+ <Content Include="user_mods\password.hmod\password_fail.raw.gz">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\base">
+ </Content>
+ <Content Include="user_mods\password.hmod\password_ok.raw.gz">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\games">
+ </Content>
+ <Content Include="user_mods\password.hmod\S810password">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\install">
+ </Content>
+ <Content Include="user_mods\password.hmod\uninstall">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\remove_thumbnails.hmod\install">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="user_mods\remove_thumbnails.hmod\uninstall">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\package">
+ </Content>
+ <None Include="cluster_cert.pfx" />
+ <Content Include="mods\mod_hakchi\bin\busybox">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\hakchi\script\transfer">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_hakchi\sbin\init">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\init">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_uninstall\bin\busybox">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\chmenu">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_uninstall\hakchi\init">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\bin\clover-kachikachi-wr">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="mods\mod_uninstall\sbin\init">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\init.d\S78clvcon">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\1dac6208-Snow Bros. %28U%29 [!] - NES Mini patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\inittab">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\279710dc-Battletoads %28U%29 [bugfix].ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\2caae01c-Felix the cat noDim hack %28for U [!] version%29.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0000_defines">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\46fd7843-Splatter House - Wanpaku Graffiti %28J%29 [!] - MMC3 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\b0010_functions">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\4ec0fecc-Ufouria - The Saga %28E%29 [NTSC hack].ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p0000_config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\61179bfa-Jungle Book %28no dim%29 .ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7000_preinit">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\6dc28b5a-Bio Miracle Bokutte Upa - MMC5 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7070_firmware">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\75b3eb37-Saiyuuki World 2 - MMC3 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\p7100_preinit">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\8889c564-Immortal, The %28U%29 [!] %28bright hack%29.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pa100_games">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\96087988-RoboCop 3 %28U%29 [!] - NES Mini patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\preinit.d\pffff_config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\9ab274ae-Cheetahmen II - MMC1 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\rootfs\etc\profile">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\ac8dcdea-Cybernoid - The Fighting Machine %28U%29 [!] %28fix%29.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\backup">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\ba51ac6f-Holy Diver %28J%29 - MMC1 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\base">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\c4b6ed3c-Bill &amp; Ted%27s Excellent Video Game Adventure %28U%29 - NES Mini patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\games">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\ca033b3a-Dragon%27s Lair %28U%29 [!] %28no dim%29.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\install">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\d054ffb0-Startropics II - Zoda%27s Revenge %28U%29 [!] - MMC3 patch.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\package">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="patches\f6898a59-James Bond Jr %28no dim%29.ips">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\removed">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="user_mods\music_hack.hmod\install">
+ </Content>
+ <Content Include="mods\mod_hakchi\hakchi\script\transfer">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="user_mods\music_hack.hmod\pb223_music_hack">
+ </Content>
+ <Content Include="mods\mod_hakchi\sbin\init">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <None Include="user_mods\music_hack.hmod\uninstall">
+ </Content>
+ <Content Include="mods\mod_hakchi\bin\rsync">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
+ </Content>
+ <None Include="Properties\app.manifest" />
</ItemGroup>
<ItemGroup>
<Content Include="data\GameGenieDB.xml">
@@ -542,6 +1568,27 @@
<Content Include="driver\nesmini_driver.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Content Include="folder_images\2600.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\2600jr.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\2600_darth_vader.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_genesis2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_megadrive2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\32x_megadrive2_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\arcade.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
<Content Include="folder_images\folder.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -605,6 +1652,15 @@
<Content Include="folder_images\folder_s.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Content Include="folder_images\folder_system_2600.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_32x.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\folder_system_arcade.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
<Content Include="folder_images\folder_system_famicom.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -623,9 +1679,15 @@
<Content Include="folder_images\folder_system_genesis.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Content Include="folder_images\folder_system_gg.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
<Content Include="folder_images\folder_system_n64.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Content Include="folder_images\folder_system_neogeo.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
<Content Include="folder_images\folder_system_nes.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -665,69 +1727,164 @@
<Content Include="folder_images\folder_z.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
- <Content Include="images\app_sm.png" />
- <Content Include="images\app_sm_tr.png" />
- <Content Include="images\blank_app.png" />
- <Content Include="images\blank_gb.png" />
- <Content Include="images\blank_gba.png" />
- <Content Include="images\blank_gbc.png" />
- <Content Include="images\blank_genesis.png" />
- <Content Include="images\blank_n64.png" />
- <Content Include="images\blank_nes.png" />
- <Content Include="images\blank_pce.png" />
- <Content Include="images\blank_sms.png" />
- <Content Include="images\blank_snes-eu-jp.png" />
- <Content Include="images\blank_snes-us.png" />
- <Content Include="images\gba_sm.png" />
- <Content Include="images\gba_sm_tr.png" />
- <Content Include="images\gbc_sm.png" />
- <Content Include="images\gbc_sm_tr.png" />
- <Content Include="images\gb_sm.png" />
- <Content Include="images\gb_sm_tr.png" />
- <Content Include="images\genesis_sm.png" />
- <Content Include="images\genesis_sm_tr.png" />
- <Content Include="images\n64_sm.png" />
- <Content Include="images\n64_sm_tr.png" />
- <Content Include="images\nes_sm_tr.png" />
- <Content Include="images\famicom_sm.png" />
- <Content Include="images\famicom_sm_tr.png" />
- <Content Include="images\fds_sm.png" />
- <Content Include="images\fds_sm_tr.png" />
- <Content Include="images\folder_sm_tr.png" />
- <Content Include="images\original_sm_tr.png" />
- <Content Include="images\pce_sm.png" />
- <Content Include="images\pce_sm_tr.png" />
- <Content Include="images\sms_sm.png" />
- <Content Include="images\sms_sm_tr.png" />
- <Content Include="images\snes-eu-jp_sm.png" />
- <Content Include="images\snes-eu-jp_sm_tr.png" />
- <Content Include="images\snes-us_sm.png" />
- <Content Include="images\snes-us_sm_tr.png" />
+ <Content Include="folder_images\gamegear.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gba.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_green.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_purple.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_red.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_turquoise.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gbc_yellow.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_dmg.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_black.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_blue.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_green.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_red.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_white.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\gb_play_it_loud_yellow.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\genesis2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\megadrive2.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\megadrive2_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\n64.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\neogeo.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\nes.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\pce.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\sms.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\snes_eu_jp.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\snes_usa.png">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <EmbeddedResource Include="images\2600_sm.png" />
+ <EmbeddedResource Include="images\2600_sm_tr.png" />
+ <EmbeddedResource Include="images\32x_sm.png" />
+ <EmbeddedResource Include="images\32x_sm_tr.png" />
+ <EmbeddedResource Include="images\app_sm.png" />
+ <EmbeddedResource Include="images\app_sm_tr.png" />
+ <EmbeddedResource Include="images\arcade_sm.png" />
+ <EmbeddedResource Include="images\arcade_sm_tr.png" />
+ <EmbeddedResource Include="images\blank_2600.png" />
+ <EmbeddedResource Include="images\blank_32x.png" />
+ <EmbeddedResource Include="images\blank_app.png" />
+ <EmbeddedResource Include="images\blank_arcade.png" />
+ <EmbeddedResource Include="images\blank_gb.png" />
+ <EmbeddedResource Include="images\blank_gba.png" />
+ <EmbeddedResource Include="images\blank_gbc.png" />
+ <EmbeddedResource Include="images\blank_genesis.png" />
+ <EmbeddedResource Include="images\blank_gg.png" />
+ <EmbeddedResource Include="images\blank_n64.png" />
+ <EmbeddedResource Include="images\blank_neogeo.png" />
+ <EmbeddedResource Include="images\blank_nes.png" />
+ <EmbeddedResource Include="images\blank_pce.png" />
+ <EmbeddedResource Include="images\blank_sms.png" />
+ <EmbeddedResource Include="images\blank_snes-eu-jp.png" />
+ <EmbeddedResource Include="images\blank_snes-us.png" />
+ <EmbeddedResource Include="images\gba_sm.png" />
+ <EmbeddedResource Include="images\gba_sm_tr.png" />
+ <EmbeddedResource Include="images\gbc_sm.png" />
+ <EmbeddedResource Include="images\gbc_sm_tr.png" />
+ <EmbeddedResource Include="images\gb_sm.png" />
+ <EmbeddedResource Include="images\gb_sm_tr.png" />
+ <EmbeddedResource Include="images\genesis_sm.png" />
+ <EmbeddedResource Include="images\genesis_sm_tr.png" />
+ <EmbeddedResource Include="images\gg_sm.png" />
+ <EmbeddedResource Include="images\gg_sm_tr.png" />
+ <EmbeddedResource Include="images\green.png" />
+ <EmbeddedResource Include="images\n64_sm.png" />
+ <EmbeddedResource Include="images\n64_sm_tr.png" />
+ <EmbeddedResource Include="images\neogeo_sm.png" />
+ <EmbeddedResource Include="images\neogeo_sm_tr.png" />
+ <EmbeddedResource Include="images\nes_sm_tr.png" />
+ <EmbeddedResource Include="images\famicom_sm.png" />
+ <EmbeddedResource Include="images\famicom_sm_tr.png" />
+ <EmbeddedResource Include="images\fds_sm.png" />
+ <EmbeddedResource Include="images\fds_sm_tr.png" />
+ <EmbeddedResource Include="images\folder_sm_tr.png" />
+ <EmbeddedResource Include="images\original_sm_tr.png" />
+ <EmbeddedResource Include="images\pce_sm.png" />
+ <EmbeddedResource Include="images\pce_sm_tr.png" />
+ <EmbeddedResource Include="images\red.png" />
+ <EmbeddedResource Include="images\sms_sm.png" />
+ <EmbeddedResource Include="images\sms_sm_tr.png" />
+ <EmbeddedResource Include="images\snes-eu-jp_sm.png" />
+ <EmbeddedResource Include="images\snes-eu-jp_sm_tr.png" />
+ <EmbeddedResource Include="images\snes-us_sm.png" />
+ <EmbeddedResource Include="images\snes-us_sm_tr.png" />
<Content Include="user_mods\music_hack.hmod\music.wav">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="user_mods\music_hack.hmod\readme.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
+ <Content Include="user_mods\password.hmod\readme.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
<Content Include="user_mods\README.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
- <None Include="folder_images\README.txt">
+ <Content Include="user_mods\remove_thumbnails.hmod\readme.txt">
+ <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+ </Content>
+ <Content Include="folder_images\README.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
- <Content Include="icon.ico" />
+ </Content>
+ <None Include="icon.ico" />
<Content Include="folder_images\folder_back.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
- <Content Include="images\blank_fds.png" />
- <Content Include="images\blank_jp.png" />
- <Content Include="images\nes_sm.png" />
- <Content Include="images\folder_sm.png" />
- <Content Include="images\gamepad.png" />
- <Content Include="images\original_sm.png" />
- <None Include="patches\README.txt">
+ <EmbeddedResource Include="images\blank_fds.png" />
+ <EmbeddedResource Include="images\blank_jp.png" />
+ <EmbeddedResource Include="images\nes_sm.png" />
+ <EmbeddedResource Include="images\folder_sm.png" />
+ <EmbeddedResource Include="images\gamepad.png" />
+ <EmbeddedResource Include="images\original_sm.png" />
+ <Content Include="patches\README.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </None>
+ </Content>
<Content Include="tools\7z.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -766,16 +1923,59 @@
<Content Include="tools\unpackbootimg.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
- <Content Include="tools\upx.exe">
- <CopyToOutputDirectory>Always</CopyToOutputDirectory>
- </Content>
</ItemGroup>
- <ItemGroup />
+ <ItemGroup>
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+ <Install>false</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+ <Visible>False</Visible>
+ <ProductName>.NET Framework 3.5 SP1</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
+ <Visible>False</Visible>
+ <ProductName>Windows Installer 4.5</ProductName>
+ <Install>true</Install>
+ </BootstrapperPackage>
+ </ItemGroup>
+ <ItemGroup>
+ <PublishFile Include="data\GameGenieDB.xml">
+ <Visible>False</Visible>
+ <Group>
+ </Group>
+ <TargetPath>
+ </TargetPath>
+ <PublishState>Include</PublishState>
+ <IncludeHash>True</IncludeHash>
+ <FileType>File</FileType>
+ </PublishFile>
+ <PublishFile Include="data\nescarts.xml">
+ <Visible>False</Visible>
+ <Group>
+ </Group>
+ <TargetPath>
+ </TargetPath>
+ <PublishState>Include</PublishState>
+ <IncludeHash>True</IncludeHash>
+ <FileType>File</FileType>
+ </PublishFile>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
</PropertyGroup>
+ <PropertyGroup>
+ <PostBuildEvent>if exist languages rd /S /Q languages
+md languages
+for /D %25%25i in (*.*) do if exist %25%25i\hakchi.resources.dll move /Y %25%25i languages\%25%25i
+
+rem del *.application
+rem del *.manifest</PostBuildEvent>
+ </PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
diff --git a/images/flags/ar.png b/images/flags/ar.png
new file mode 100644
index 00000000..e5ef8f1f
--- /dev/null
+++ b/images/flags/ar.png
Binary files differ
diff --git a/images/flags/bg.png b/images/flags/bg.png
new file mode 100644
index 00000000..0469f060
--- /dev/null
+++ b/images/flags/bg.png
Binary files differ
diff --git a/images/flags/cn.png b/images/flags/cn.png
new file mode 100644
index 00000000..89144146
--- /dev/null
+++ b/images/flags/cn.png
Binary files differ
diff --git a/images/flags/de.png b/images/flags/de.png
new file mode 100644
index 00000000..ac4a9773
--- /dev/null
+++ b/images/flags/de.png
Binary files differ
diff --git a/images/flags/dk.png b/images/flags/dk.png
new file mode 100644
index 00000000..e2993d3c
--- /dev/null
+++ b/images/flags/dk.png
Binary files differ
diff --git a/images/flags/es.png b/images/flags/es.png
new file mode 100644
index 00000000..c2de2d71
--- /dev/null
+++ b/images/flags/es.png
Binary files differ
diff --git a/images/flags/fi.png b/images/flags/fi.png
new file mode 100644
index 00000000..14ec091b
--- /dev/null
+++ b/images/flags/fi.png
Binary files differ
diff --git a/images/flags/fr.png b/images/flags/fr.png
new file mode 100644
index 00000000..8332c4ec
--- /dev/null
+++ b/images/flags/fr.png
Binary files differ
diff --git a/images/flags/gb.png b/images/flags/gb.png
new file mode 100644
index 00000000..ff701e19
--- /dev/null
+++ b/images/flags/gb.png
Binary files differ
diff --git a/images/flags/gr.png b/images/flags/gr.png
new file mode 100644
index 00000000..8651ade7
--- /dev/null
+++ b/images/flags/gr.png
Binary files differ
diff --git a/images/flags/id.png b/images/flags/id.png
new file mode 100644
index 00000000..c6bc0faf
--- /dev/null
+++ b/images/flags/id.png
Binary files differ
diff --git a/images/flags/it.png b/images/flags/it.png
new file mode 100644
index 00000000..89692f74
--- /dev/null
+++ b/images/flags/it.png
Binary files differ
diff --git a/images/flags/nl.png b/images/flags/nl.png
new file mode 100644
index 00000000..fe44791e
--- /dev/null
+++ b/images/flags/nl.png
Binary files differ
diff --git a/images/flags/pl.png b/images/flags/pl.png
new file mode 100644
index 00000000..d413d010
--- /dev/null
+++ b/images/flags/pl.png
Binary files differ
diff --git a/images/flags/pt.png b/images/flags/pt.png
new file mode 100644
index 00000000..ece79801
--- /dev/null
+++ b/images/flags/pt.png
Binary files differ
diff --git a/images/flags/ru.png b/images/flags/ru.png
new file mode 100644
index 00000000..47da4214
--- /dev/null
+++ b/images/flags/ru.png
Binary files differ
diff --git a/images/flags/se.png b/images/flags/se.png
new file mode 100644
index 00000000..1994653d
--- /dev/null
+++ b/images/flags/se.png
Binary files differ
diff --git a/images/flags/sk.png b/images/flags/sk.png
new file mode 100644
index 00000000..7ccbc827
--- /dev/null
+++ b/images/flags/sk.png
Binary files differ
diff --git a/images/flags/tw.png b/images/flags/tw.png
new file mode 100644
index 00000000..f31c654c
--- /dev/null
+++ b/images/flags/tw.png
Binary files differ
diff --git a/images/flags/ua.png b/images/flags/ua.png
new file mode 100644
index 00000000..09563a21
--- /dev/null
+++ b/images/flags/ua.png
Binary files differ
diff --git a/images/flags/us.png b/images/flags/us.png
new file mode 100644
index 00000000..10f451fe
--- /dev/null
+++ b/images/flags/us.png
Binary files differ
diff --git a/images/globe.png b/images/globe.png
new file mode 100644
index 00000000..0174a858
--- /dev/null
+++ b/images/globe.png
Binary files differ
diff --git a/images/green.png b/images/green.png
new file mode 100644
index 00000000..78008dd3
--- /dev/null
+++ b/images/green.png
Binary files differ
diff --git a/images/red.png b/images/red.png
new file mode 100644
index 00000000..1d9be49b
--- /dev/null
+++ b/images/red.png
Binary files differ
diff --git a/mods/hmods/clovercon.hmod b/mods/hmods/clovercon.hmod
index 3608621c..405ab16c 100644
--- a/mods/hmods/clovercon.hmod
+++ b/mods/hmods/clovercon.hmod
Binary files differ
diff --git a/mods/hmods/clovershell.hmod b/mods/hmods/clovershell.hmod
new file mode 100644
index 00000000..e268dfd0
--- /dev/null
+++ b/mods/hmods/clovershell.hmod
Binary files differ
diff --git a/mods/hmods/copyleft.hmod b/mods/hmods/copyleft.hmod
new file mode 100644
index 00000000..de0e607a
--- /dev/null
+++ b/mods/hmods/copyleft.hmod
Binary files differ
diff --git a/mods/hmods/fontfix.hmod b/mods/hmods/fontfix.hmod
index 8d0ac77a..fe0df0c1 100644
--- a/mods/hmods/fontfix.hmod
+++ b/mods/hmods/fontfix.hmod
Binary files differ
diff --git a/mods/mod_hakchi/hakchi/config b/mods/mod_hakchi/hakchi/config
index 91ce3847..4efc5ca1 100644
--- a/mods/mod_hakchi/hakchi/config
+++ b/mods/mod_hakchi/hakchi/config
@@ -1,4 +1,4 @@
local cf_backup_dummy='n'
local cf_backup='n'
local cf_backup_nandc='n'
-local cf_shutdown='y'
+local cf_shutdown='n'
diff --git a/mods/mod_hakchi/hakchi/init b/mods/mod_hakchi/hakchi/init
index ac0ebf1f..e885e8e0 100644
--- a/mods/mod_hakchi/hakchi/init
+++ b/mods/mod_hakchi/hakchi/init
@@ -2,16 +2,16 @@ init(){
echo
/bin/busybox --install -s /bin/
-local modname=hakchi
-local modpath=/$modname
-local mountpoint=/newroot
-local installpath=$mountpoint/var/lib/$modname
-local firmwarepath=$installpath/firmware
-local rootfs=$installpath/rootfs
-local preinit=$rootfs/etc/preinit
-local preinitpath=$preinit.d
-local gamepath=/usr/share/games/nes/kachikachi
-local temppath=/tmp
+local modname="hakchi"
+local modpath="/$modname"
+local mountpoint="/newroot"
+local installpath
+local firmwarepath
+local rootfs
+local preinit
+local preinitpath
+local gamepath
+local temppath="/tmp"
mkdir -p "$temppath"
diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu
index a448234c..5ae4fdcc 100644
--- a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu
+++ b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu
@@ -5,8 +5,8 @@ script_init
state_file=$installpath/menu
[ -z "$1" ] && exit 1
-prev_code=$(cat "$state_file")
-[ "$1" == "$prev_code" ] && exit 0
+[ -f "$state_file" ] && prev_code=$(cat "$state_file") || prev_code=000
+[ "$1" == "$prev_code" ] && exit 1
echo Switching to menu $1
if [ "$1" == "000" ]; then
@@ -19,11 +19,14 @@ fi
echo $1 > "$state_file"
echo New directory: $targetpath
-if [ ! -f "$targetpath/title.fnt" ]; then
- ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt"
-fi
-if [ ! -f "$targetpath/copyright.fnt" ]; then
- ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt"
+
+if [ "$1" != "000" ]; then
+ if [ -f "$rootfs$gamepath/title.fnt" ] && [ ! -f "$targetpath/title.fnt" ]; then
+ ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt"
+ fi
+ if [ -f "$rootfs$gamepath/copyright.fnt" ] && [ ! -f "$targetpath/copyright.fnt" ]; then
+ ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt"
+ fi
fi
pkill -KILL clover-mcp
@@ -31,4 +34,4 @@ pkill -KILL ReedPlayer-Clover
overmount_games
-clover-mcp
+/etc/init.d/S81clover-mcp start
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/init.d/S78clvcon b/mods/mod_hakchi/hakchi/rootfs/etc/init.d/S78clvcon
new file mode 100644
index 00000000..9b47abc4
--- /dev/null
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/init.d/S78clvcon
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+CLV_BOARD_NAME=$(cat /etc/clover/boardtype)
+MODULE="clvcon"
+[ -f "/lib/modules/$(uname -r)/extra/$MODULE.ko" ] || MODULE="clovercon"
+
+start()
+{
+ echo "$MODULE: starting driver"
+ case "${CLV_BOARD_NAME}" in
+ fp)
+ # inverted c1/c2 detect lines
+ MODULE_PARAMS="2,195,1,194"
+ ;;
+ ep|dp-nes|dp-shvc)
+ # regular setup w/ detect lines
+ MODULE_PARAMS="1,195,2,194"
+ ;;
+ dp-hvc)
+ # no detect lines
+ MODULE_PARAMS="1,-1,2,-1"
+ ;;
+ esac
+ modprobe "$MODULE" module_params=$MODULE_PARAMS
+}
+
+stop()
+{
+ echo "$MODULE: stopping driver"
+ modprobe -r "$MODULE"
+}
+
+case "$1" in
+start)
+ start
+;;
+stop)
+ stop
+;;
+restart)
+ stop
+ start
+;;
+*)
+ echo "$MODULE: Please use start, stop, or restart."
+ exit 1
+esac
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/inittab b/mods/mod_hakchi/hakchi/rootfs/etc/inittab
index 8bba3546..ee87e540 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/inittab
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/inittab
@@ -5,7 +5,7 @@ null::sysinit:/bin/mkdir -p /var/cache /var/lock /var/log /var/spool
null::sysinit:/bin/ln -s /tmp /var/tmp
null::sysinit:/bin/ln -s /run /var/run
-null::sysinit:/bin/mkdir -p /var/cache/clover/reed-libs/tmp /var/lib/clover/profiles/0/home-menu /var/lib/clover/config/reed-libs
+null::sysinit:/bin/mkdir -p /var/cache/clover/reed-libs/tmp /var/lib/clover/profiles/0/home-menu /var/lib/clover/config/reed-libs /var/lib/profiling-data
null::sysinit:/etc/init.d/rcS
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit
index 8d2bb643..a0452250 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit
@@ -53,7 +53,7 @@ script_init(){
}
preinit(){
- [ -z "$gamepath" ] && [ -d "/newroot" ] && /bin/busybox --install -s /bin/ && cp -a $rootfs/bin/rsync /bin/
+ [ -z "$gamepath" ] && [ -d "/newroot" ] && /bin/busybox --install -s /bin/ && cp -a "$rootfs/bin/rsync" /bin/
source_base
source_parts "$preinitpath/p????_*"
}
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines
index 59c101ec..47c72734 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines
@@ -1,9 +1,27 @@
-modname=hakchi
-modpath=/$modname
-installpath=$mountpoint/var/lib/$modname
-firmwarepath=$installpath/firmware
-rootfs=$installpath/rootfs
-preinit=$rootfs/etc/preinit
-preinitpath=$preinit.d
-gamepath=/usr/share/games/nes/kachikachi
-temppath=/tmp
+set_gamepath(){
+ local feck="$mountpoint/var/lib/clover/profiles/0/home-menu/save/system-save.json"
+ if [ -f "$mountpoint/etc/clover/version/canoe" ]; then
+# echo "SNES gamepath"
+ gamepath="/usr/share/games"
+ [ -f "$feck" ] && mv -f "$feck" "$feck.nes"
+ [ -d "$feck.snes" ] && rm -rf "$feck" && mv "$feck.snes" "$feck"
+ else
+# echo "NES gamepath"
+ gamepath="/usr/share/games/nes/kachikachi"
+ [ -d "$feck" ] && rm -rf "$feck.snes" && mv "$feck" "$feck.snes"
+ [ -f "$feck.nes" ] && mv -f "$feck.nes" "$feck"
+ fi
+}
+
+modname="hakchi"
+modpath="/$modname"
+#mountpoint="/newroot"
+installpath="$mountpoint/var/lib/$modname"
+firmwarepath="$installpath/firmware"
+rootfs="$installpath/rootfs"
+preinit="$rootfs/etc/preinit"
+preinitpath="$preinit.d"
+gamepath=""
+set_gamepath
+temppath="/tmp"
+
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions
index 9085c48d..2689c24e 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions
@@ -6,10 +6,38 @@ mount_base(){
umount_base(){
sync
- umount -r "$mountpoint/var/lib"
+ umount "$mountpoint/var/lib"
umount "$mountpoint/var"
}
+remove_old(){
+ [ -d "$1" ] || return 1
+ [ -f "$modpath/script/removed" ] || return 0
+ local basepath="$1"
+ source "$modpath/script/removed"
+}
+
+mod_repair_etc(){
+ remove_old "$rootfs"
+ rm -f "$modpath/rootfs/etc/preinit.d/p0000_config"
+ chown -R 0:0 $modpath/
+
+ local etc="$temppath/etc"
+ rm -rf "$etc"
+ mkdir -p "$etc"
+ copy "$mountpoint/etc/" "$etc/"
+ if [ "$1" == "full" ]; then
+ copy "$modpath/rootfs/etc/" "$etc/"
+ else
+ copy "$rootfs/etc/inittab" "$etc/inittab"
+ fi
+ copy "$etc/" "$rootfs/etc/"
+}
+
+mod_repair_modules(){
+ restore "/lib/modules/$(uname -r)/"
+}
+
remount_root(){
[ -z "$(mount | grep -F loop)" ] || return 1
@@ -29,7 +57,16 @@ load_firmware(){
[ -d "$firmwarepath" ] || return 0
local firmware=$(find "$firmwarepath" -type f -name "*.hsqs" | sort | head -n 1)
[ -f "$firmware" ] || return 0
- remount_root "$firmware" && cryptsetup close root-crypt
+ mod_repair_modules
+ remount_root "$firmware" || return 0
+ cryptsetup close root-crypt
+ mod_repair_etc
+ if [ -d "$rootfs/lib/modules/$(uname -r)" ]; then
+ overmount "/lib/modules"
+ else
+ echo "no modules for loaded kernel $(uname -r)"
+ fi
+ set_gamepath
}
shutdown(){
@@ -38,11 +75,13 @@ shutdown(){
sync
umount -a -r 2>/dev/null
poweroff -f
- while :;do :;done
+ while :;do sleep 1;:;done
}
early_getty(){
+ cd "$modpath/transfer"
getty -ni 115200 ttyS0 -l /bin/sh
+ cd /
}
copy(){
@@ -71,15 +110,15 @@ mount_bind(){
}
overmount(){
- l_boot_stock=n
if [ "$#" == "1" ]; then
echo overmounting $1
- mount_bind "$rootfs$1" "$mountpoint$1"
+ mount_bind "$rootfs$1" "$mountpoint$1" && return 0
fi
if [ "$#" == "2" ]; then
echo overmounting $1 on $2
- mount_bind "$1" "$mountpoint$2"
+ mount_bind "$rootfs$1" "$mountpoint$2" && return 0
fi
+ echo overmounting failed
}
overmount_games(){
@@ -89,8 +128,7 @@ overmount_games(){
echo menu code: $menu_code
if [ "$menu_code" != "000" ]; then
if [ -d "$rootfs$gamepath/$menu_code" ]; then
- overmount "$rootfs$gamepath/$menu_code" "$gamepath"
- return $?
+ overmount "$gamepath/$menu_code" "$gamepath" && return 0
fi
fi
overmount "$gamepath"
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config
index e4faab64..68e938f6 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config
@@ -1,6 +1,4 @@
cfg_boot_stock_firmware='n'
cfg_boot_stock='n'
-cfg_clovercon_option=''
cfg_disable_armet='y'
cfg_nes_extra_args='--ppu-palette 2'
-cfg_savecheck='n'
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit
index 5300dc82..6fb17938 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit
@@ -1,2 +1,9 @@
-echo loading $modname
-local l_boot_stock=y
+if [ "$cfg_boot_stock" == "y" ]; then
+ # load firmware if needed/present
+ source_parts "$preinitpath/p????_*firmware*"
+ # stop loading
+ umount_base 2>/dev/null
+ return 0
+else
+ echo loading $modname
+fi
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware
index f56ae926..43d756fd 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware
@@ -1 +1 @@
-[ "cfg_boot_stock_firmware" == "y" ] || load_firmware
+[ "$cfg_boot_stock_firmware" == "y" ] || load_firmware
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit
deleted file mode 100644
index a65e2231..00000000
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit
+++ /dev/null
@@ -1,2 +0,0 @@
-# placeholder
-# rm -f "$preinitpath/p7070_preinit"
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit
index 0e7456f7..7110dfb9 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit
@@ -1,6 +1,2 @@
-overmount_base(){
- overmount "/bin"
- overmount "/etc"
-}
-
-[ "$cfg_boot_stock" == "y" ] || overmount_base
+overmount "/bin"
+overmount "/etc"
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games
index 6df5a265..73cf7716 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games
@@ -1 +1,5 @@
-[ "$cfg_boot_stock" == "y" ] || overmount_games
+if [ -z "$(ls $rootfs$gamepath/CLV-* 2>/dev/null)" ]; then
+ echo "no romz found"
+else
+ overmount_games
+fi
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock
deleted file mode 100644
index 1159c9b1..00000000
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock
+++ /dev/null
@@ -1 +0,0 @@
-[ "$l_boot_stock" == "y" ] && umount_base
diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config
index d1e50f5b..9defb135 100644
--- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config
+++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config
@@ -1,3 +1,3 @@
-config=p0000_config
+local config=p0000_config
set | grep -F cfg_ | sort > "$temppath/$config"
copy "$temppath/$config" "$preinitpath/$config"
diff --git a/mods/mod_hakchi/hakchi/script/base b/mods/mod_hakchi/hakchi/script/base
index 034c4f7c..db197dd0 100644
--- a/mods/mod_hakchi/hakchi/script/base
+++ b/mods/mod_hakchi/hakchi/script/base
@@ -1,10 +1,2 @@
-mount_base(){
- mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs "$mountpoint/var"
- mkdir -p "$mountpoint/var/lib"
- mount -o defaults,nosuid,nodev,noatime /dev/nandc "$mountpoint/var/lib"
-}
-
-umount_base(){
- umount "$mountpoint/var/lib"
- umount "$mountpoint/var"
-}
+source "$modpath/rootfs/etc/preinit"
+source_base "$modpath/rootfs/etc/preinit.d"
diff --git a/mods/mod_hakchi/hakchi/script/games b/mods/mod_hakchi/hakchi/script/games
index 157033fc..fe3ddf5f 100644
--- a/mods/mod_hakchi/hakchi/script/games
+++ b/mods/mod_hakchi/hakchi/script/games
@@ -51,6 +51,7 @@ transfer_games(){
transfer_original_games "$1/original"
echo transfering new games...
# this is simple
+ [ "$gamepath" == "/usr/share/games" ] && find "$1" -name *.desktop -exec sed -i -e 's/\/games\/nes\/kachikachi/\/games/g' {} +
copy_mask "$1/*" "$target_dir"
# need to reset menu state
rm -f $installpath/menu
diff --git a/mods/mod_hakchi/hakchi/script/install b/mods/mod_hakchi/hakchi/script/install
index 9c9f059a..fdd3df92 100644
--- a/mods/mod_hakchi/hakchi/script/install
+++ b/mods/mod_hakchi/hakchi/script/install
@@ -6,18 +6,12 @@ mod_uninstall(){
}
mod_repair(){
- restore "/etc/clover/"
- restore "/etc/issue"
- rm -f "$modpath/rootfs/etc/preinit.d/p0000_config"
- chown -R 0:0 $modpath/
+ mod_repair_etc full
chmod 755 $modpath/rootfs/bin/*
- copy "$modpath/rootfs/" "$rootfs/"
+ chmod 755 $modpath/rootfs/etc/init.d/*
copy "/bin/" "$rootfs/bin/"
copy "/sbin/cryptsetup" "$rootfs/bin/cryptsetup"
-
- # This file required by hakchi2 kernel...
- echo hakchi_enabled=y > "$temppath/config"
- copy "$temppath/config" "$installpath/"
+ copy "$modpath/rootfs/" "$rootfs/"
}
mod_install(){
diff --git a/mods/mod_hakchi/hakchi/script/package b/mods/mod_hakchi/hakchi/script/package
index 7dea3bd6..68396efc 100644
--- a/mods/mod_hakchi/hakchi/script/package
+++ b/mods/mod_hakchi/hakchi/script/package
@@ -47,7 +47,7 @@ pack_install(){
transfer_path "$transferpath"
echo creating uninstall for $(basename "$1" .hmod)...
echo >> "$transferpath/uninstall"
- echo "\# auto-generated" >> "$transferpath/uninstall"
+ echo "# auto-generated" >> "$transferpath/uninstall"
cd "$transferpath"
find . -type l -exec echo rm -f \"\$rootfs/{}\" + >> "$transferpath/uninstall"
find . -type f -exec echo rm -f \"\$rootfs/{}\" + >> "$transferpath/uninstall"
diff --git a/mods/mod_hakchi/hakchi/script/removed b/mods/mod_hakchi/hakchi/script/removed
new file mode 100644
index 00000000..32661dec
--- /dev/null
+++ b/mods/mod_hakchi/hakchi/script/removed
@@ -0,0 +1,2 @@
+rm -f "$basepath/etc/preinit.d/p7070_preinit"
+rm -f "$basepath/etc/preinit.d/pffff_bootstock"
diff --git a/mods/mod_hakchi/hakchi/script/transfer b/mods/mod_hakchi/hakchi/script/transfer
index f27b2170..0ec983c7 100644
--- a/mods/mod_hakchi/hakchi/script/transfer
+++ b/mods/mod_hakchi/hakchi/script/transfer
@@ -7,11 +7,9 @@ backup_nandc
mount_base
backup
-source "$modpath/rootfs/etc/preinit"
-source_base "$modpath/rootfs/etc/preinit.d"
source_config
-local transferpath=$modpath/transfer
+local transferpath="$modpath/transfer"
[ -f "$transferpath/earlybird" ] && source "$transferpath/earlybird"
rm -f "$transferpath/earlybird"
@@ -30,11 +28,10 @@ if [ -d "$transferpath/firmware" ]; then
fi
# if we're running modified firmware, mount it now
-source_parts "$preinitpath/p????_*firmware*"
source_parts "$modpath/rootfs/etc/preinit.d/p????_*firmware*"
# now we can do install/repair
-if [ -d "$preinitpath" ]; then
+if [ -f "$preinit" ]; then
echo $modname already installed
mod_repair
else
diff --git a/tools/upx.exe b/tools/upx.exe
deleted file mode 100644
index 806fb856..00000000
--- a/tools/upx.exe
+++ /dev/null
Binary files differ
diff --git a/user_mods/password.hmod/S810password b/user_mods/password.hmod/S810password
new file mode 100644
index 00000000..baef6e35
--- /dev/null
+++ b/user_mods/password.hmod/S810password
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# Some constants
+# Controller pseudo-file
+clovercon=/dev/input/by-path/platform-twi.1-event-joystick
+# Password pattern - it's Konami Code :)
+password="c202 c202 c302 c302 c002 c102 c002 c102 3101 3001 3b01"
+# Max tries
+max_tries=30
+
+# Init scripts are executed with "start" argument when system boots and with "stop" argument during shutdown
+# So we need to check that it's boot state, not shutdown
+[ -z "$1" ] || [ "$1" == "start" ] || exit 0
+
+# Drawing "ENTER PASSWORD" image
+gunzip -c /etc/password.raw.gz > /dev/fb0
+
+# Endless loop
+while [ true ]; do
+ # Wait while pseudo-file doesn't exists (controller is not connected or is not initialized yet)
+ while [ ! -e $clovercon ]; do usleep 100; done
+ # Reading buttons
+ buttons=$(cat $clovercon | hexdump -v -e '1/1 "%02x"' -n 32)
+ buttons=${buttons:20:4}
+ # Appending pressed button to "str" variable
+ str="$str $buttons"
+ # If "str" variable is longer than password string, cut it
+ # So we get only last presses
+ [ "${#str}" -gt "${#password}" ] && str="${str:$((${#str}-${#password})):${#password}}"
+
+ # Is password correct?
+ if [ "$str" == "$password" ]; then
+ # Display "OK" image
+ gunzip -c /etc/password_ok.raw.gz > /dev/fb0
+ # Exit and continue system loading
+ exit 0
+ fi
+
+ # Password is not correct yet, decrease tries counter
+ max_tries=$(($max_tries-1))
+ # Is it zero?
+ if [ "$max_tries" == "0" ]; then
+ # Display "ACCESS DENIED" image
+ gunzip -c /etc/password_fail.raw.gz > /dev/fb0
+ # Wait for three seconds
+ sleep 3
+ # Shutdown system
+ poweroff
+ fi
+done
diff --git a/user_mods/password.hmod/install b/user_mods/password.hmod/install
new file mode 100644
index 00000000..2f66861a
--- /dev/null
+++ b/user_mods/password.hmod/install
@@ -0,0 +1,7 @@
+local script=S810password
+copy $script $rootfs/etc/init.d/
+chmod +x $rootfs/etc/init.d/$script
+copy password.raw.gz $rootfs/etc/
+copy password_ok.raw.gz $rootfs/etc/
+copy password_fail.raw.gz $rootfs/etc/
+return 1
diff --git a/user_mods/password.hmod/password.raw.gz b/user_mods/password.hmod/password.raw.gz
new file mode 100644
index 00000000..afa6cc3b
--- /dev/null
+++ b/user_mods/password.hmod/password.raw.gz
Binary files differ
diff --git a/user_mods/password.hmod/password_fail.raw.gz b/user_mods/password.hmod/password_fail.raw.gz
new file mode 100644
index 00000000..e60ba2d2
--- /dev/null
+++ b/user_mods/password.hmod/password_fail.raw.gz
Binary files differ
diff --git a/user_mods/password.hmod/password_ok.raw.gz b/user_mods/password.hmod/password_ok.raw.gz
new file mode 100644
index 00000000..c37c5860
--- /dev/null
+++ b/user_mods/password.hmod/password_ok.raw.gz
Binary files differ
diff --git a/user_mods/password.hmod/readme.txt b/user_mods/password.hmod/readme.txt
new file mode 100644
index 00000000..ebff0c8c
--- /dev/null
+++ b/user_mods/password.hmod/readme.txt
@@ -0,0 +1,3 @@
+=== Password Protection Hack ===
+
+This module adds password protection to NES Mini. Default password is Konami Code :)
diff --git a/user_mods/password.hmod/uninstall b/user_mods/password.hmod/uninstall
new file mode 100644
index 00000000..b5247786
--- /dev/null
+++ b/user_mods/password.hmod/uninstall
@@ -0,0 +1,5 @@
+local script=S810password
+rm $rootfs/etc/init.d/$script
+rm $rootfs/etc/password.raw.gz
+rm $rootfs/etc/password_ok.raw.gz
+rm $rootfs/etc/password_fail.raw.gz
diff --git a/user_mods/remove_thumbnails.hmod/install b/user_mods/remove_thumbnails.hmod/install
new file mode 100644
index 00000000..6ecd1d93
--- /dev/null
+++ b/user_mods/remove_thumbnails.hmod/install
@@ -0,0 +1,22 @@
+# Lines started with "#" are ignored and can be used as comments
+# Next line defines "scnfile" variable with path to "sys_game_thumbnail.scn" file
+scnfile=/usr/share/clover-ui/resources/prefab/sys_game_thumbnail.scn
+# Same with nes.json file
+nesjson=/usr/share/clover-ui/resources/sprites/nes.json
+# This line defines "preinitfile" variable with pre-init file name
+preinitfile=p81a8_hide_thumnbnails
+# "restore" is hakchi function which copies original file to corresponding path in /var/lib/hakchi/rootfs
+restore $scnfile
+restore $nesjson
+# sed is GNU util to modify file, this command replaces "enabled:true" to "enabled:false"
+# Please note that we need to edit $rootfs$scnfile (writable file), not a just $scnfile (original read-only file)
+sed -i -e 's/"enabled":true/"enabled":false/g' $rootfs$scnfile
+# Same with nes.json file, most simple way is to replace coordinates sprite coords with zeros
+sed -i -e 's/\[93,861,12,8\]/\[0,0,0,0\]/g' $rootfs$nesjson
+sed -i -e 's/\[93,871,12,8\]/\[0,0,0,0\]/g' $rootfs$nesjson
+sed -i -e 's/\[107,861,12,8\]/\[0,0,0,0\]/g' $rootfs$nesjson
+# Create pre-init script and echo "overmount" command to it
+echo "overmount $scnfile" > $preinitpath/$preinitfile
+echo "overmount $nesjson" >> $preinitpath/$preinitfile
+# We should return 1 to prevent execution of automatic installer
+return 1
diff --git a/user_mods/remove_thumbnails.hmod/readme.txt b/user_mods/remove_thumbnails.hmod/readme.txt
new file mode 100644
index 00000000..557d3552
--- /dev/null
+++ b/user_mods/remove_thumbnails.hmod/readme.txt
@@ -0,0 +1,3 @@
+=== No-thumbnails Hack ===
+
+This module removes thumbnails at the bottom of the screen.
diff --git a/user_mods/remove_thumbnails.hmod/uninstall b/user_mods/remove_thumbnails.hmod/uninstall
new file mode 100644
index 00000000..6687483c
--- /dev/null
+++ b/user_mods/remove_thumbnails.hmod/uninstall
@@ -0,0 +1,7 @@
+# All we need is to delete created files, original file is safe and will be used again after reboot
+scnfile=/usr/share/clover-ui/resources/prefab/sys_game_thumbnail.scn
+nesjson=/usr/share/clover-ui/resources/sprites/nes.json
+preinitfile=p81a8_hide_thumnbnails
+rm -f $preinitpath/$preinitfile
+rm -f $rootfs$scnfile
+rm -f $rootfs$nesjson