diff --git a/uppsrc/ide/MacroManager.cpp b/uppsrc/ide/MacroManager.cpp new file mode 100644 index 000000000..1f4225b9f --- /dev/null +++ b/uppsrc/ide/MacroManager.cpp @@ -0,0 +1,421 @@ +#include "ide.h" + +class MacroElement { +public: + enum class Type { + MACRO, + FUNCTION, + UNKNOWN + }; + +public: + MacroElement(Type type, const String& fileName, int line, const String& comment); + + static Image GetImage(Type type); + +public: + Type type; + String comment; + String name; + String prototype; + String args; + String code; + String fileName; + int line; +}; + +MacroElement::MacroElement(Type type, const String& fileName, int line, const String& comment) + : type(type) + , fileName(fileName) + , line(line) + , comment(comment) +{} + +Image MacroElement::GetImage(Type type) +{ + switch(type) + { + case(Type::MACRO): + return IdeImg::Macro(); + case(Type::FUNCTION): + return IdeImg::Fn(); + case(Type::UNKNOWN): + return Image(); + } +} + +#define METHOD_NAME "MacroManagerWindow " << UPP_FUNCTION_NAME << "(): " + +class MacroManagerWindow : public WithMacroManagerLayout { + using MacroStore = ArrayMap>; + +public: + MacroManagerWindow(Ide& ide); + + void Layout() override; + +private: + void InitButtons(); + + void LoadUscFile(const String& fileName); + void LoadUscDir(const String& dir); + void LoadMacros(); + void ReloadMacros(); + + void OnMacroSel(); + void OnImport(); + void OnExport(); + void OnEditFile(); + + void ReadFunction(CParser& parser, const String& comment, const char* prototypeBegin); + void ReadMacro(CParser& parser, const String& comment, const char* prototypeBegin); + void FinishRead(CParser& parser, const char* prototypeBegin, MacroElement& element); + + MacroElement& ObtainElement(const Value& key); + +private: + static String ReadArgs(CParser& parser); + static String ReadKeyDesc(CParser& parser); + +private: + // TODO: MacroManager shold not depend upon Ide instance. + // The edit logic should be outside class the same as load macros. + Ide& ide; + + MacroStore macrosStore; + TreeCtrl macrosTree; + CodeEditor editor; +}; + +MacroManagerWindow::MacroManagerWindow(Ide& ide) + : ide(ide) +{ + CtrlLayout(*this, "Macro Manager"); + Zoomable().Sizeable().MinimizeBox(false); + macrosTree.NoRoot(); + + splitter.Horz(macrosTree, editor).SetPos(3500); + + editor.Highlight("usc"); + editor.SetReadOnly(); + + editButton.Disable(); + exportButton.Disable(); + + LoadMacros(); + macrosTree.OpenDeep(0); + editor.Hide(); + + macrosTree.WhenSel = [=] { OnMacroSel(); }; + + InitButtons(); +}; + +void MacroManagerWindow::InitButtons() +{ + closeButton.Tip(t_("Close macro manager.")); + editButton.Tip(t_("Edit selected element inside TheIDE.")); + importButton.Tip(t_("Import macro from .usc file to your global macros store.")); + exportButton.Tip(t_("Export current selected element. If macro or function is selected the parent file will be exported.")); + + closeButton.Close(); + + closeButton << [=] { Break(); }; + editButton << [=] { OnEditFile(); }; + importButton << [=] { OnImport(); }; + exportButton << [=] { OnExport(); }; +} + +void MacroManagerWindow::Layout() +{ + OnMacroSel(); +} + +void MacroManagerWindow::OnMacroSel() +{ + if(!macrosTree.IsCursor()) { + editor.Hide(); + editButton.Disable(); + exportButton.Disable(); + return; + } + + Value key = macrosTree.Get(); + if(IsNull(key)) { + editor.Hide(); + editButton.Enable(); + exportButton.Enable(); + return; + } + + MacroElement& element = ObtainElement(key); + + String macroContent = TrimBoth(element.comment); + if(macroContent.GetCount()) + macroContent << "\n"; + + macroContent << element.prototype << element.code; + + editButton.Enable(); + exportButton.Enable(); + editor.Show(); + editor.Set(macroContent); +} + +void MacroManagerWindow::OnImport() +{ + String filePath = SelectFileOpen("*.usc"); + + if(IsNull(filePath)) + return; + + String newFilePath = AppendFileName(GetLocalDir(), GetFileName(filePath)); + + RealizeDirectory(GetLocalDir()); + if(!DirectoryExists(GetLocalDir())) { + Loge() << METHOD_NAME << "Realize directory \"" << GetLocalDir() << "\" failed."; + return; + } + + if(FileExists(newFilePath)) { + if(!PromptYesNo("Target file aready exists! Do you want to overwrite it?")) + return; + } + + FileCopy(filePath, newFilePath); + + LoadUscFile(newFilePath); + ReloadMacros(); +} + +void MacroManagerWindow::OnExport() +{ + String dir = SelectDirectory(); + if(dir.IsEmpty()) + return; + + for(const String& filePath : macrosStore.GetKeys()) + FileCopy(filePath, AppendFileName(dir, GetFileName(filePath))); +} + +void MacroManagerWindow::OnEditFile() +{ + if(!macrosTree.IsCursor()) + return; + + Value key = macrosTree.Get(); + if(IsNull(key)) { + ide.EditFile(macrosTree.GetValue()); + ide.editor.SetCursor(ide.editor.GetPos(0)); + Break(); + return; + } + + MacroElement& element = ObtainElement(key); + + ide.EditFile(element.fileName); + ide.editor.SetCursor(ide.editor.GetPos(element.line - 1)); + ide.editor.CenterCursor(); + + Break(); +} + +static void FindNext(CParser& parser) +{ + while(!parser.IsEof() && !parser.IsId("fn") && !parser.IsId("macro")) + parser.SkipTerm(); +} + +void MacroManagerWindow::ReadFunction(CParser& parser, const String& comment, const char* prototypeBegin) +{ + String fileName = parser.GetFileName(); + MacroElement fn(MacroElement::Type::FUNCTION, fileName, parser.GetLine(), comment); + + if(!parser.IsId()) { + FindNext(parser); + return; + } + fn.name = parser.ReadId(); + if(!parser.Char('(')) { + FindNext(parser); + return; + } + fn.args = ReadArgs(parser); + + FinishRead(parser, prototypeBegin, fn); +} + +void MacroManagerWindow::ReadMacro(CParser& parser, const String& comment, const char* prototypeBegin) +{ + String fileName = parser.GetFileName(); + MacroElement macro(MacroElement::Type::MACRO, fileName, parser.GetLine(), comment); + + if(!parser.IsString()) { + FindNext(parser); + return; + } + macro.name = String() << (parser.IsString() ? parser.ReadString() : ""); + if(parser.Char(':')) { + if(!parser.IsString()) { + FindNext(parser); + return; + } + + macro.name << " : " << (parser.IsString() ? parser.ReadString() : ""); + } + if (!parser.IsChar('{')) + ReadKeyDesc(parser); + + FinishRead(parser, prototypeBegin, macro); +} + +void MacroManagerWindow::FinishRead(CParser& parser, const char* prototypeBegin, MacroElement& element) +{ + const char* bodyBegin = parser.GetPtr(); + + element.prototype = String(prototypeBegin, bodyBegin); + + if (!parser.Char('{')) { + FindNext(parser); + return; + } + + Upp::SkipBlock(parser); + + if(parser.GetSpacePtr() > bodyBegin) + element.code = String(bodyBegin, parser.GetSpacePtr()); + + macrosStore.GetAdd(element.fileName).Add(element); +} + +MacroElement& MacroManagerWindow::ObtainElement(const Value& key) +{ + ASSERT(!key.IsNull()); + + Point pos = static_cast(key); + return macrosStore[pos.x][pos.y]; +} + +void MacroManagerWindow::LoadUscFile(const String& fileName) +{ + String fileContent = LoadFile(fileName); + if(fileContent.IsEmpty()) { + Logw() << METHOD_NAME << "Following file \"" << fileName << "\" doesn't exist or is empty."; + return; + } + + try { + CParser parser(fileContent, fileName); + + while (!parser.IsEof()) { + String comment = TrimLeft(String(parser.GetSpacePtr(), parser.GetPtr())); + + if (!parser.IsId()) + return; + + const char* prototypeBegin = parser.GetPtr(); + String id = parser.ReadId(); + + if(id.IsEqual("fn")) + ReadFunction(parser, comment, prototypeBegin); + else + if(id.IsEqual("macro")) + ReadMacro(parser, comment, prototypeBegin); + else + return; + } + } + catch (const CParser::Error& error) { + Logw() << METHOD_NAME << "Parsing file \"" << fileName << "\" failed with error: " << error << "."; + } +} + +String MacroManagerWindow::ReadArgs(CParser& parser) +{ + int level = 1; + parser.Char('('); + + String ret = "("; + while(level > 0 && !parser.IsEof()) { + if (parser.Char('(')) + level++; + else + if (parser.Char(')')) + level--; + else + ret << parser.GetChar(); + } + ret << ")"; + + return ret; +} + +String MacroManagerWindow::ReadKeyDesc(CParser& parser) +{ + if(!parser.IsId()) + return String(); + + String ret = parser.ReadId(); + + while(!parser.IsEof() && parser.Char('+')) { + if(parser.IsId()) + ret << "+" << parser.ReadId(); + + else + if(parser.IsNumber()) + ret << "+" << parser.ReadInt(); + else + break; + } + + return ret; +} + +void MacroManagerWindow::LoadUscDir(const String& dir) +{ + for(FindFile ff(AppendFileName(dir, "*.usc")); ff; ff.Next()) + LoadUscFile(AppendFileName(dir, ff.GetName())); +} + +void MacroManagerWindow::LoadMacros() +{ + const Workspace& wspc = ide.IdeWorkspace(); + + for(int i = 0; i < wspc.GetCount(); i++) { + const Package& package = wspc.GetPackage(i); + + for (const auto& file : package.file) { + String filePath = SourcePath(wspc[i], file); + + if (ToLower(GetFileExt(filePath)) == ".usc") + LoadUscFile(filePath); + } + } + + LoadUscDir(GetLocalDir()); + LoadUscDir(GetFileFolder(ConfigFile("x"))); + + ReloadMacros(); +} + +void MacroManagerWindow::ReloadMacros() +{ + macrosTree.Clear(); + + for(int i = 0; i < macrosStore.GetCount(); i++) { + int id = macrosTree.Add(0, Image(), Null, macrosStore.GetKey(i)); + + for(int j = 0; j < macrosStore[i].GetCount(); j++) { + MacroElement& element = macrosStore[i][j]; + + macrosTree.Add(id, MacroElement::GetImage(element.type), Point(i, j), element.name); + } + } +} + +#undef METHOD_NAME + +void Ide::DoMacroManager() +{ + MacroManagerWindow(*this).Execute(); +} diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index ac2934c4d..b32ea113f 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -731,7 +731,8 @@ public: void DoEditKeys(); void AKEditor(); - + void DoMacroManager(); + void PackageMenu(Bar& menu); void UscFile(const String& file); diff --git a/uppsrc/ide/ide.iml b/uppsrc/ide/ide.iml index 978fa4c7a..37be6fe98 100644 --- a/uppsrc/ide/ide.iml +++ b/uppsrc/ide/ide.iml @@ -15,6 +15,8 @@ IMAGE_ID(IdeAux) IMAGE_ID(Header) IMAGE_ID(Source) IMAGE_ID(Script) +IMAGE_ID(Macro) +IMAGE_ID(Fn) IMAGE_ID(Images) IMAGE_ID(Language) IMAGE_ID(add) @@ -135,297 +137,303 @@ IMAGE_DATA(246,249,219,250,199,189,148,213,230,95,202,254,1,123,166,190,32,0,0,0 IMAGE_END_DATA(672, 7) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,153,107,76,84,71,20,199,239,23,141,181,182,72,173,22,172,70,227,106,138,36,190,27,181,164,106,181,209,210) -IMAGE_DATA(90,173,205,102,131,138,181,47,176,69,90,21,171,149,69,23,215,90,69,17,81,84,64,163,18,154,20,98,23,83,154,10) -IMAGE_DATA(40,86,9,74,124,69,212,22,215,84,88,137,198,8,233,35,105,163,16,63,216,15,255,238,217,101,174,119,239,99,239,92) -IMAGE_DATA(86,116,23,247,108,78,238,221,153,249,205,255,204,153,185,179,119,64,24,42,12,21,194,214,105,3,167,135,170,62,87,255) -IMAGE_DATA(181,181,181,62,238,46,244,248,35,136,43,40,244,181,76,174,207,116,229,250,204,88,187,208,213,23,124,92,172,151,187,188) -IMAGE_DATA(190,227,187,221,110,247,120,183,209,15,244,19,188,250,124,251,202,195,126,140,185,146,11,74,125,249,190,34,247,160,215,151) -IMAGE_DATA(236,17,79,76,95,45,134,199,173,47,143,161,171,244,21,79,40,212,99,8,17,125,93,239,226,252,63,50,125,227,235,207) -IMAGE_DATA(39,14,221,253,183,243,207,159,158,5,166,175,159,55,46,125,182,222,216,239,167,248,59,250,148,232,235,246,211,217,79,240) -IMAGE_DATA(235,7,22,159,254,243,21,234,250,221,203,250,186,63,8,190,116,25,125,192,21,60,143,73,14,70,157,226,37,7,11,117) -IMAGE_DATA(94,80,57,168,48,231,225,195,250,129,233,7,192,171,253,248,168,185,22,111,208,131,195,60,155,193,250,39,29,69,80,153) -IMAGE_DATA(69,48,54,145,22,25,143,226,226,98,221,183,122,114,106,39,40,23,131,119,33,114,94,181,120,94,239,142,250,1,230,63) -IMAGE_DATA(208,249,15,93,11,111,6,10,11,120,51,112,58,117,15,236,30,167,118,130,202,98,246,252,73,147,243,170,197,243,122,119) -IMAGE_DATA(212,15,48,255,225,205,32,108,162,5,188,25,8,78,39,223,163,64,237,84,22,51,213,217,57,175,90,60,183,119,71,253) -IMAGE_DATA(192,242,255,116,111,6,193,107,52,217,118,104,127,15,86,94,122,60,182,67,251,187,150,217,193,231,93,21,127,160,252,211) -IMAGE_DATA(62,254,71,197,63,102,11,133,55,3,187,224,125,45,100,254,162,32,44,153,46,8,85,61,5,33,206,31,183,88,16,92) -IMAGE_DATA(212,158,174,210,114,98,229,101,90,154,212,86,94,71,186,106,229,114,93,187,242,87,71,215,104,108,140,141,17,132,157,70) -IMAGE_DATA(121,98,24,175,151,31,53,163,113,217,85,114,246,184,120,105,252,90,245,148,35,127,125,176,252,203,231,136,190,243,230,84) -IMAGE_DATA(26,135,93,178,238,120,216,144,181,16,216,12,120,94,219,180,89,11,189,54,10,254,254,189,230,143,247,101,141,235,251,106) -IMAGE_DATA(89,12,191,86,250,242,14,195,125,40,199,110,172,15,111,254,28,178,62,212,207,218,198,250,48,182,81,122,251,48,50,111) -IMAGE_DATA(106,206,31,191,246,122,113,114,229,47,52,143,22,210,205,0,3,250,128,92,90,255,87,60,64,78,247,150,247,123,89,208) -IMAGE_DATA(22,13,180,13,148,39,210,243,192,234,241,94,54,26,212,143,156,21,148,201,242,220,31,24,235,192,220,40,139,167,140,116) -IMAGE_DATA(21,236,188,56,8,223,173,82,112,78,247,121,208,217,113,38,116,56,28,106,19,241,144,189,251,163,98,194,136,69,199,153) -IMAGE_DATA(148,93,37,253,120,217,11,121,94,86,194,179,182,177,177,177,10,158,93,69,150,156,238,239,41,245,53,116,189,206,116,99) -IMAGE_DATA(6,123,191,75,248,198,198,70,84,86,86,98,248,240,225,98,89,124,124,188,167,140,234,120,248,166,166,38,85,23,121,63) -IMAGE_DATA(241,83,155,59,173,121,248,247,94,60,30,184,31,30,114,186,167,50,145,247,147,63,210,161,246,102,247,3,247,31,188,78) -IMAGE_DATA(247,84,70,117,62,121,96,218,50,254,65,7,199,244,217,189,200,19,195,220,143,62,43,211,212,87,113,202,51,27,63,139) -IMAGE_DATA(159,141,159,234,100,107,80,110,22,54,95,121,121,121,98,222,233,158,202,116,88,69,63,50,215,231,100,111,6,186,131,21) -IMAGE_DATA(116,118,212,186,6,11,102,167,67,188,66,240,57,48,234,242,196,204,94,3,239,53,29,10,235,106,125,89,59,163,185,240) -IMAGE_DATA(137,147,244,179,74,28,62,49,209,119,54,54,85,94,162,79,109,207,95,155,235,101,214,192,247,187,6,47,117,210,75,201) -IMAGE_DATA(117,138,122,242,120,244,114,33,139,211,112,46,216,120,89,95,117,13,202,249,244,51,175,98,172,15,115,169,221,135,94,46) -IMAGE_DATA(216,88,82,114,185,121,213,92,164,36,57,21,107,138,119,93,103,205,115,143,39,198,210,105,94,139,229,225,185,188,43,255) -IMAGE_DATA(128,216,47,58,194,52,99,225,36,91,218,129,197,174,12,71,114,219,215,135,62,105,91,146,111,113,77,54,143,182,69,12) -IMAGE_DATA(232,99,242,199,142,122,125,132,217,90,154,220,250,253,229,61,184,216,90,7,231,223,87,112,249,207,11,56,214,92,142,245) -IMAGE_DATA(213,95,98,241,158,247,90,135,190,250,178,89,139,221,240,83,106,251,47,55,202,113,235,222,13,156,188,83,133,18,215,126) -IMAGE_DATA(20,55,22,160,252,102,9,206,252,81,139,236,211,86,44,44,124,183,125,240,248,40,159,62,94,136,138,24,102,45,73,106) -IMAGE_DATA(57,218,228,192,141,187,215,113,240,250,46,236,190,180,5,185,245,223,162,192,185,13,249,206,108,228,54,108,196,209,91,229) -IMAGE_DATA(176,85,167,98,206,150,55,90,122,247,123,102,24,227,221,227,205,44,60,183,9,191,255,211,224,214,203,199,158,171,217,216) -IMAGE_DATA(122,126,189,184,232,54,93,178,98,93,93,42,50,207,45,71,229,205,195,72,40,154,137,17,111,13,201,100,252,138,253,31) -IMAGE_DATA(184,170,154,15,187,227,44,69,206,197,13,216,124,97,29,172,39,151,137,252,210,195,137,88,115,226,35,124,117,124,17,246) -IMAGE_DATA(253,182,13,187,206,216,49,37,99,130,120,62,183,150,37,223,175,185,93,133,194,107,219,220,108,134,230,195,183,226,216,2) -IMAGE_DATA(100,158,74,129,195,121,16,211,54,79,188,207,248,213,135,62,190,127,164,249,7,100,95,177,97,67,253,106,191,188,173,230) -IMAGE_DATA(51,148,57,15,32,110,227,120,145,79,218,109,118,237,173,207,70,193,213,173,200,56,155,138,21,167,62,69,114,153,197,135) -IMAGE_DATA(35,95,89,157,136,194,250,77,216,94,179,22,99,87,142,20,227,159,100,30,149,249,121,153,25,21,205,14,88,79,37,33) -IMAGE_DATA(173,230,67,207,120,165,252,178,202,249,88,117,116,17,42,154,74,241,230,142,201,136,158,214,95,204,223,243,3,158,29,150) -IMAGE_DATA(184,107,78,139,173,122,41,126,118,29,18,115,69,220,242,74,114,98,19,113,164,177,4,95,56,22,98,244,170,87,90,122) -IMAGE_DATA(246,237,33,206,31,217,144,9,3,205,11,242,223,110,79,175,72,66,165,187,143,189,245,89,176,157,88,130,117,199,147,176) -IMAGE_DATA(247,226,102,84,184,217,84,199,124,140,91,27,219,30,49,242,57,213,53,56,104,220,75,230,119,178,166,182,206,219,55,29) -IMAGE_DATA(59,78,219,80,250,107,1,74,175,20,96,107,77,58,102,108,159,72,186,173,90,44,179,222,253,122,153,76,51,7,219,226) -IMAGE_DATA(210,199,185,166,124,51,161,237,53,251,152,182,49,105,49,174,168,169,253,109,61,35,123,248,125,126,58,101,65,248,223,132) -IMAGE_DATA(180,148,148,20,24,113,98,164,29,36,36,36,220,46,42,42,2,143,83,91,121,0,145,145,145,150,156,156,28,93,150,218) -IMAGE_DATA(80,91,181,65,204,154,53,235,172,30,79,109,252,228,97,178,191,24,168,142,218,248,75,164,201,100,218,174,197,83,29,199) -IMAGE_DATA(92,12,114,231,87,145,75,42,163,58,14,158,114,153,38,231,169,140,135,101,38,157,79,181,249,226,48,79,46,121,114,166) -IMAGE_DATA(101,52,87,58,243,165,103,131,4,206,156,61,49,11,111,6,93,191,25,0,181,62,30,222,12,194,155,65,48,218,255,27) -IMAGE_DATA(100,191,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) -IMAGE_END_DATA(1728, 13) +IMAGE_DATA(120,156,237,89,123,76,20,103,16,223,127,36,214,218,98,235,163,96,107,52,162,233,73,226,187,81,75,170,86,27,83,90) +IMAGE_DATA(171,181,185,92,170,98,233,11,108,145,214,87,181,114,232,225,90,171,40,86,20,21,208,136,13,77,10,161,135,41,77,229) +IMAGE_DATA(80,172,18,148,88,53,162,182,184,166,194,73,52,141,144,62,146,54,10,241,15,251,199,116,231,142,89,191,125,221,238,222) +IMAGE_DATA(137,222,29,12,153,236,126,143,223,252,102,230,123,238,193,141,224,70,112,189,18,180,128,73,141,84,126,83,246,235,235,235) +IMAGE_DATA(101,42,86,250,244,1,248,21,22,252,122,162,228,39,94,37,63,9,245,139,92,126,78,166,82,187,82,149,237,93,101,158) +IMAGE_DATA(231,125,26,53,252,161,254,133,47,191,185,125,229,190,29,107,170,198,133,37,191,114,95,81,106,216,243,51,123,196,35,227) +IMAGE_DATA(215,242,225,97,243,43,125,232,46,126,213,10,5,109,31,34,132,223,80,187,57,255,15,140,223,250,252,147,249,97,184,255) +IMAGE_DATA(6,191,254,140,36,52,126,227,188,153,226,167,249,70,231,167,116,142,246,16,126,67,59,193,254,133,63,127,104,254,25,175) +IMAGE_DATA(175,72,231,143,46,25,32,254,65,248,165,203,234,2,87,225,205,8,243,97,20,20,158,249,176,208,198,115,26,31,42,164) +IMAGE_DATA(102,240,189,252,161,241,135,128,215,58,124,180,84,15,111,81,195,67,124,155,193,198,71,237,69,88,137,131,179,54,144,14) +IMAGE_DATA(5,30,74,75,75,13,111,245,168,216,143,83,79,6,255,68,52,249,212,195,155,213,104,228,15,49,255,161,142,127,228,74) +IMAGE_DATA(239,102,160,146,144,55,3,65,48,252,96,247,41,246,227,52,38,179,239,39,77,147,79,61,188,89,141,70,254,16,243,223) +IMAGE_DATA(187,25,244,138,36,33,111,6,156,32,152,91,10,216,79,99,50,99,27,111,242,169,135,55,173,209,200,31,90,254,123,246) +IMAGE_DATA(102,16,190,130,131,205,131,126,57,92,241,236,231,49,15,250,101,61,225,193,156,118,151,255,161,226,123,122,252,15,10,255) +IMAGE_DATA(144,37,18,110,6,60,231,191,22,146,14,226,184,165,179,56,174,38,134,227,146,2,225,82,57,206,139,253,241,201,214,35) +IMAGE_DATA(86,89,167,199,137,125,149,109,200,171,85,175,228,229,213,167,142,161,96,108,132,181,113,220,110,171,120,196,16,222,40,63) +IMAGE_DATA(90,130,113,241,26,57,123,88,120,214,127,189,118,204,81,32,27,148,127,229,24,97,217,108,78,89,63,120,102,222,153,193) +IMAGE_DATA(70,172,68,192,102,96,230,218,166,143,117,224,181,145,11,244,239,181,64,120,57,214,58,191,156,203,97,249,90,41,199,187) +IMAGE_DATA(45,219,80,199,110,205,134,63,127,110,133,13,237,111,109,107,54,172,109,148,126,27,86,198,77,75,205,251,175,63,95,4) +IMAGE_DATA(83,249,139,204,79,139,240,254,76,8,66,98,196,211,144,23,19,142,26,163,113,50,82,219,44,253,147,221,215,134,125,6) +IMAGE_DATA(41,78,2,155,120,170,24,97,89,188,141,57,133,140,252,210,226,73,101,78,87,180,73,118,3,9,218,70,191,17,75,125) +IMAGE_DATA(177,140,245,88,151,106,112,98,83,204,228,3,226,40,94,51,177,19,30,159,20,47,91,166,156,224,19,125,65,251,244,78) +IMAGE_DATA(245,20,7,59,6,228,15,150,81,177,140,190,208,59,249,199,114,176,126,179,74,182,216,119,155,245,91,88,212,73,84,111) +IMAGE_DATA(6,90,106,197,134,114,130,24,45,36,18,118,226,6,35,180,232,105,97,179,126,176,139,92,111,115,160,62,90,155,15,98) +IMAGE_DATA(176,157,22,147,214,230,196,46,122,173,28,16,158,226,100,69,47,119,172,109,202,35,249,194,10,109,26,90,27,38,217,166) +IMAGE_DATA(54,226,33,95,3,197,77,177,176,254,154,221,156,123,138,176,159,9,48,164,63,160,178,237,127,37,3,160,226,187,227,173) +IMAGE_DATA(190,14,232,136,7,232,24,170,156,128,190,171,188,17,222,143,141,7,180,163,196,42,84,170,43,153,224,134,249,113,14,95) +IMAGE_DATA(29,242,170,176,11,146,128,251,102,141,10,39,8,130,79,241,221,237,118,107,93,209,238,99,111,127,175,186,202,33,22,186) +IMAGE_DATA(126,173,166,39,99,199,143,61,95,224,199,50,120,234,155,152,152,168,194,211,83,194,162,226,251,29,53,191,14,175,95,137) +IMAGE_DATA(215,54,204,95,102,240,205,205,205,224,241,120,96,212,168,81,82,93,114,114,178,175,14,219,204,224,91,90,90,52,85,194) +IMAGE_DATA(7,240,31,251,220,106,47,128,127,239,36,195,61,241,90,141,138,239,88,39,225,3,228,15,121,176,191,93,188,138,255,7) +IMAGE_DATA(126,197,119,172,195,54,89,30,136,91,129,191,215,133,35,126,122,151,240,136,33,13,192,79,117,186,252,26,138,121,166,248) +IMAGE_DATA(201,127,138,31,219,20,115,80,41,14,26,175,130,130,2,41,239,248,142,117,6,88,149,29,133,26,227,20,191,25,24,6) +IMAGE_DATA(219,165,122,2,13,77,14,152,155,5,210,19,56,217,79,201,134,120,196,204,93,7,254,103,22,168,164,187,249,21,253,172) +IMAGE_DATA(230,66,230,39,242,231,150,185,101,62,97,153,98,211,196,51,252,216,247,220,213,249,126,204,58,144,151,117,240,172,34,95) +IMAGE_DATA(70,190,32,241,41,253,49,202,133,194,79,203,185,160,120,201,86,67,147,122,60,3,140,171,228,235,253,92,234,219,48,202) +IMAGE_DATA(5,197,146,145,111,26,175,153,139,140,52,65,53,167,204,206,235,220,5,98,60,54,71,208,120,61,172,25,188,41,237,206) +IMAGE_DATA(207,132,129,241,177,9,179,23,79,117,173,42,73,245,102,187,211,59,62,175,248,160,99,105,161,195,59,205,62,206,21,59) +IMAGE_DATA(164,127,66,32,236,216,151,70,219,157,229,233,237,223,94,218,7,23,218,27,64,248,251,50,92,250,243,60,28,107,173,130) +IMAGE_DATA(141,181,159,66,234,190,55,219,71,188,240,172,93,15,187,233,135,204,206,159,174,87,193,205,59,215,225,228,173,26,40,243) +IMAGE_DATA(30,132,210,230,34,168,186,81,6,103,254,168,135,188,211,78,88,92,252,70,231,176,73,113,50,27,79,199,197,142,116,150) +IMAGE_DATA(165,181,29,109,113,195,245,219,215,224,208,181,61,176,247,226,54,200,111,252,18,138,132,29,80,40,228,65,126,211,102,56) +IMAGE_DATA(122,179,10,92,181,153,48,111,219,203,109,253,6,62,54,146,240,98,188,57,197,103,183,192,111,255,52,137,124,133,176,239) +IMAGE_DATA(74,30,108,63,183,81,154,116,91,46,58,97,67,67,38,228,156,93,1,158,27,135,225,237,175,231,192,232,87,135,231,16) +IMAGE_DATA(126,229,193,119,188,53,173,135,69,63,203,225,171,11,155,96,235,249,13,224,60,185,92,194,47,59,156,2,235,78,188,7) +IMAGE_DATA(159,29,95,2,7,126,221,1,123,206,240,48,61,123,178,116,213,118,86,166,223,173,251,189,6,138,175,238,16,177,217,186) +IMAGE_DATA(139,111,229,177,69,144,115,42,3,220,194,33,152,185,117,202,93,194,175,173,120,255,238,145,214,239,32,239,178,11,54,53) +IMAGE_DATA(174,13,136,119,213,125,4,149,66,9,36,109,158,36,225,211,246,218,189,251,27,243,160,232,202,118,200,254,57,19,86,158) +IMAGE_DATA(250,16,210,43,29,50,28,234,234,218,20,40,110,220,2,59,235,214,195,132,213,99,36,255,167,218,199,230,124,92,105,135) +IMAGE_DATA(234,86,55,56,79,165,193,170,186,119,125,241,178,248,229,158,133,176,230,232,18,168,110,41,135,87,118,77,131,248,153,131) +IMAGE_DATA(165,252,61,57,228,241,145,41,123,230,181,185,106,151,193,143,222,10,41,87,136,91,225,65,69,108,10,28,105,46,131,79) +IMAGE_DATA(220,139,97,220,154,231,219,98,6,244,145,198,15,101,248,228,161,246,69,133,175,117,102,85,167,129,71,180,177,191,49,23) +IMAGE_DATA(92,39,150,194,134,227,105,176,255,194,86,168,22,177,153,238,133,48,113,125,98,103,236,152,39,52,231,224,115,19,159,177) +IMAGE_DATA(191,158,59,163,125,193,129,89,176,235,180,11,202,127,41,130,242,203,69,176,189,46,11,102,239,156,130,188,237,122,88,146) +IMAGE_DATA(126,3,251,38,36,204,25,230,74,202,154,232,157,254,197,228,142,23,249,241,29,227,87,217,188,113,51,6,187,98,158,234) +IMAGE_DATA(19,112,253,4,35,255,3,119,228,185,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_END_DATA(1792, 13) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,91,9,88,84,199,178,110,21,92,136,11,201,205,53,145,24,227,213,188,68,137,121,81,111,184,198,44,159,38) -IMAGE_DATA(190,199,139,95,22,35,138,26,220,64,150,8,40,138,226,22,145,69,131,128,178,41,136,72,12,8,136,1,113,9,162,70) -IMAGE_DATA(1,21,4,5,20,69,5,212,160,178,8,17,16,2,200,162,32,112,254,215,117,198,25,135,97,6,6,208,196,124,159,197) -IMAGE_DATA(87,206,57,221,245,87,85,87,87,215,116,207,57,50,109,166,205,24,27,240,136,159,24,217,118,5,108,105,105,137,153,51) -IMAGE_DATA(103,222,126,241,197,23,13,59,139,15,10,10,130,135,135,7,244,245,245,207,242,166,15,58,131,151,50,233,25,62,124,184) -IMAGE_DATA(39,239,26,220,25,188,148,121,59,141,169,221,216,200,227,129,132,86,122,40,54,109,141,73,138,39,172,148,21,117,200,197) -IMAGE_DATA(166,213,152,218,179,223,17,188,50,86,215,255,39,17,191,174,204,95,87,242,167,43,249,203,186,184,126,58,77,125,249,31) -IMAGE_DATA(28,255,18,211,79,137,128,150,156,197,217,137,179,174,138,137,33,25,71,5,118,146,187,86,37,239,36,199,82,89,43,146) -IMAGE_DATA(151,242,35,202,82,162,159,228,116,165,114,10,126,57,201,247,201,115,103,19,235,207,163,103,32,153,58,26,44,236,221,187) -IMAGE_DATA(183,61,140,108,18,116,117,117,121,117,220,203,49,12,134,134,42,49,120,76,123,57,27,114,102,200,202,82,233,155,216,175) -IMAGE_DATA(200,181,181,67,225,228,228,164,144,76,18,249,132,132,4,25,147,236,221,187,19,185,79,78,152,56,113,162,82,253,242,220) -IMAGE_DATA(142,108,171,177,144,15,106,202,202,219,234,122,178,254,5,201,212,149,228,81,43,152,16,167,139,255,81,50,24,182,139,123) -IMAGE_DATA(44,47,253,203,98,109,217,107,37,63,148,39,17,37,137,92,34,65,153,60,201,57,101,59,201,79,182,82,253,119,239,222) -IMAGE_DATA(149,233,107,67,78,38,175,166,156,76,94,77,185,142,147,100,207,171,156,122,245,234,213,215,192,192,192,217,206,206,46,118) -IMAGE_DATA(221,186,117,233,107,215,174,77,183,177,177,137,253,226,139,47,156,123,246,236,217,183,45,189,67,134,12,25,237,233,233,153) -IMAGE_DATA(27,31,31,143,115,231,206,33,61,61,93,252,60,125,250,52,246,239,223,143,53,107,214,228,14,26,52,104,180,42,187,155) -IMAGE_DATA(54,109,186,145,156,156,140,147,39,79,34,36,36,4,254,254,254,240,245,245,197,246,237,219,113,224,192,1,145,109,109,109) -IMAGE_DATA(111,104,104,104,244,81,196,79,158,60,121,69,108,108,44,78,157,58,133,13,27,54,220,226,123,143,55,186,119,239,174,73) -IMAGE_DATA(172,173,173,253,6,183,253,123,68,68,132,184,175,25,63,126,252,10,69,188,181,181,245,1,178,77,118,95,121,229,149,145) -IMAGE_DATA(138,253,47,191,252,242,72,119,119,119,68,70,70,130,199,231,128,98,255,138,21,43,146,206,158,61,11,63,63,63,112,255) -IMAGE_DATA(122,43,246,247,232,209,163,55,143,39,162,162,162,96,100,100,148,36,223,87,144,100,130,136,93,110,216,178,101,11,188,188) -IMAGE_DATA(188,112,243,184,17,242,142,25,34,247,200,84,220,138,254,10,55,247,79,198,181,8,125,172,94,189,26,43,87,174,132,167) -IMAGE_DATA(131,57,174,239,24,35,75,222,130,211,198,104,170,73,67,115,205,121,8,247,179,128,251,215,128,218,235,64,125,62,231,60) -IMAGE_DATA(160,46,7,77,247,46,224,225,31,167,241,176,236,132,200,87,125,223,145,225,243,79,205,225,248,84,52,228,173,64,243,29) -IMAGE_DATA(119,160,120,27,240,123,32,80,193,43,246,31,17,64,225,14,52,100,219,161,38,253,91,220,75,157,130,135,165,113,200,246) -IMAGE_DATA(124,83,134,207,139,155,197,245,167,160,225,230,18,252,17,55,3,149,39,76,184,142,31,113,123,143,30,10,118,127,1,220) -IMAGE_DATA(246,65,41,31,67,225,238,15,80,149,60,25,13,37,199,144,229,54,68,134,207,253,117,26,154,170,206,162,254,55,43,52) -IMAGE_DATA(223,182,7,74,124,128,210,29,200,11,30,139,67,155,167,115,252,38,52,92,178,194,189,51,223,160,42,81,31,13,197,71) -IMAGE_DATA(145,185,225,85,25,254,214,161,175,209,88,153,132,250,171,230,40,63,250,37,183,111,4,148,109,195,173,237,163,17,181,254) -IMAGE_DATA(43,160,224,7,148,70,126,138,2,174,175,242,228,103,104,248,253,48,174,56,252,67,134,167,248,54,86,36,226,65,230,124) -IMAGE_DATA(52,221,88,196,199,238,200,199,237,13,84,111,231,159,190,64,158,61,234,211,103,115,172,62,42,98,63,70,67,97,12,46) -IMAGE_DATA(175,233,47,195,223,136,152,132,198,242,83,168,203,248,22,229,191,124,138,202,216,175,81,121,218,8,149,103,141,81,153,60) -IMAGE_DATA(7,149,220,167,59,225,227,80,16,168,139,138,99,31,160,190,48,26,151,86,244,145,225,115,194,62,225,115,18,143,38,206) -IMAGE_DATA(66,197,41,62,119,103,249,188,93,4,30,102,242,207,75,220,143,20,52,149,198,162,161,40,6,245,183,127,17,57,195,86) -IMAGE_DATA(83,134,255,237,167,255,136,249,112,205,111,20,174,250,140,64,182,199,112,49,190,153,63,232,224,138,211,63,113,217,254,69) -IMAGE_DATA(209,223,75,43,181,144,177,188,23,50,150,106,224,162,77,55,9,190,173,98,208,85,234,165,169,169,53,106,176,206,71,147) -IMAGE_DATA(70,190,53,187,208,212,4,183,103,78,21,185,112,193,124,252,175,238,219,243,168,143,100,84,225,67,230,25,165,150,47,177) -IMAGE_DATA(65,217,66,11,148,114,76,21,95,0,85,118,118,226,117,153,181,37,202,109,151,96,215,220,111,83,85,225,115,190,157,38) -IMAGE_DATA(84,219,219,227,129,239,118,148,46,52,67,225,44,3,145,233,154,218,168,239,186,225,151,194,107,47,106,191,69,242,154,61) -IMAGE_DATA(53,180,116,134,233,124,244,246,216,183,102,175,138,176,65,190,193,151,168,13,13,69,249,34,43,220,229,254,19,70,170,235) -IMAGE_DATA(174,133,57,138,77,230,240,241,76,193,240,127,190,44,22,181,249,246,179,83,93,14,219,195,225,224,74,172,142,90,130,130) -IMAGE_DATA(233,95,163,33,250,48,234,252,183,161,204,202,66,244,183,124,153,13,126,159,99,36,98,105,28,183,103,77,149,225,173,130) -IMAGE_DATA(77,5,239,216,141,8,61,187,3,246,251,237,68,221,132,175,245,223,142,90,94,8,171,60,61,80,98,60,71,196,150,152) -IMAGE_DATA(204,149,224,229,236,155,7,207,197,201,171,199,225,29,235,138,213,251,108,113,243,219,105,162,221,90,255,0,212,240,226,82) -IMAGE_DATA(181,201,29,197,243,103,139,56,194,23,113,219,215,166,125,46,12,25,250,246,36,13,205,158,90,11,119,25,35,45,247,12) -IMAGE_DATA(142,103,29,198,222,180,221,8,140,114,70,210,98,19,228,207,250,70,156,3,242,129,226,80,52,123,22,110,26,76,198,73) -IMAGE_DATA(83,99,56,186,239,129,109,96,34,166,47,116,78,181,12,89,128,51,57,9,136,185,180,31,209,23,163,176,39,53,8,43) -IMAGE_DATA(247,46,134,195,218,109,72,53,49,226,177,255,6,249,51,166,32,117,254,44,252,176,218,7,22,62,113,240,142,185,140,181) -IMAGE_DATA(161,103,241,245,170,8,193,42,104,129,112,240,66,36,246,165,239,65,100,90,40,130,207,236,128,93,164,53,166,216,31,192) -IMAGE_DATA(47,169,55,225,28,124,10,230,158,199,68,12,49,225,23,110,137,135,241,166,95,97,224,16,141,215,134,233,124,98,226,58) -IMAGE_DATA(175,120,81,152,5,118,36,248,98,119,74,144,24,135,169,14,7,17,127,169,16,81,73,57,8,58,150,137,117,97,41,88) -IMAGE_DATA(18,144,136,57,238,71,69,236,2,175,88,76,119,138,150,46,168,110,186,227,116,77,141,189,230,212,90,133,154,194,50,196) -IMAGE_DATA(68,212,125,236,66,1,194,19,174,227,103,206,63,197,102,193,216,227,152,136,53,225,254,16,158,100,20,243,175,247,11,189) -IMAGE_DATA(95,238,161,209,163,183,161,195,62,33,56,46,27,65,113,87,177,147,219,247,227,190,207,117,151,216,37,252,12,231,67,248) -IMAGE_DATA(210,238,103,65,85,30,191,250,250,240,79,12,150,108,41,158,197,229,220,163,206,99,219,225,203,48,245,138,131,145,235,17) -IMAGE_DATA(124,181,42,10,83,172,189,202,116,134,142,208,111,103,57,118,27,49,250,99,179,105,203,2,107,103,56,29,226,254,30,196) -IMAGE_DATA(55,75,127,188,255,142,222,103,203,101,18,79,179,24,16,233,233,177,141,222,222,172,104,215,46,38,16,211,53,181,169,131) -IMAGE_DATA(237,214,141,13,12,9,97,15,21,207,6,212,198,251,116,84,217,115,115,99,121,65,65,172,57,52,148,33,58,154,225,234) -IMAGE_DATA(85,134,230,102,134,166,38,134,204,76,73,27,245,145,12,201,202,251,19,28,204,234,229,109,229,231,51,236,219,199,112,249) -IMAGE_DATA(178,132,163,162,36,109,242,50,132,33,236,103,159,177,224,3,7,24,178,179,37,246,136,83,82,24,142,28,97,8,11,147) -IMAGE_DATA(48,93,83,27,249,210,216,200,112,229,10,3,97,62,253,148,237,217,179,135,53,94,191,206,112,225,2,195,197,139,18,123) -IMAGE_DATA(100,91,113,252,82,127,210,211,25,18,19,25,223,61,49,108,219,198,26,253,253,89,85,77,13,67,105,41,195,173,91,12) -IMAGE_DATA(185,185,140,239,196,24,114,114,30,251,67,215,73,73,12,215,174,49,196,197,73,56,35,131,193,213,149,85,73,241,247,238) -IMAGE_DATA(49,84,84,48,20,20,72,124,61,127,254,241,248,201,38,197,143,112,9,9,18,38,95,9,207,125,16,241,85,85,12,229) -IMAGE_DATA(229,180,93,102,40,42,146,216,164,113,37,39,75,112,228,47,249,69,126,16,158,244,111,220,200,170,248,124,52,212,213,49) -IMAGE_DATA(84,87,51,20,23,75,176,121,121,12,55,110,72,230,144,100,9,39,229,19,39,36,186,210,210,24,60,60,88,253,172,89) -IMAGE_DATA(44,142,238,11,11,37,99,32,29,20,7,178,79,120,234,163,120,17,147,31,100,151,116,242,184,99,250,116,150,200,167,176) -IMAGE_DATA(231,171,175,50,243,149,43,217,13,146,41,41,97,40,43,147,196,145,240,210,120,17,142,226,66,185,176,108,25,203,215,209) -IMAGE_DATA(97,139,57,86,246,165,70,121,171,171,203,92,220,221,89,229,153,51,18,29,164,139,98,71,115,27,19,35,198,171,102,212) -IMAGE_DATA(40,230,201,101,95,83,149,255,26,26,236,157,137,19,89,120,64,0,19,8,71,227,229,185,15,158,103,251,52,53,217,24) -IMAGE_DATA(117,215,160,150,22,211,55,48,96,39,103,206,100,201,125,251,178,175,84,10,62,237,98,96,97,97,177,113,215,174,93,69) -IMAGE_DATA(124,203,45,16,211,53,181,169,131,237,223,191,255,192,240,240,240,135,80,32,106,227,219,125,165,197,128,116,239,220,185,51) -IMAGE_DATA(143,219,225,197,32,148,39,110,52,159,200,171,124,33,52,243,5,216,196,139,65,166,216,70,125,36,67,178,242,254,236,222) -IMAGE_DATA(189,187,94,222,86,126,126,62,95,124,251,248,66,184,44,50,109,237,169,77,158,8,67,216,69,139,22,5,211,241,37,59) -IMAGE_DATA(59,91,180,71,156,146,146,194,11,192,17,94,8,194,68,166,107,106,35,95,26,27,27,121,49,184,34,30,121,184,15,123) -IMAGE_DATA(248,177,131,23,131,235,60,97,46,240,5,118,81,180,71,182,21,73,234,15,29,189,18,19,19,197,163,84,64,64,64,35) -IMAGE_DATA(31,15,95,140,53,188,24,148,242,69,112,139,39,113,174,120,44,203,201,201,145,249,67,215,73,73,73,188,24,92,227,137) -IMAGE_DATA(29,39,114,70,70,6,124,124,124,170,164,248,123,247,238,241,98,80,193,139,65,129,232,235,249,243,231,101,227,39,155,20) -IMAGE_DATA(63,194,73,127,144,33,95,9,31,28,28,44,226,171,170,170,120,49,40,23,207,206,69,69,69,162,77,26,23,29,189,8) -IMAGE_DATA(71,254,146,95,228,7,225,73,191,183,183,119,21,159,19,94,12,234,120,49,168,230,11,185,88,196,230,229,229,241,98,112) -IMAGE_DATA(67,156,67,146,37,156,148,79,156,56,33,234,74,75,75,35,251,245,252,248,23,71,247,133,133,133,226,24,72,7,197,129) -IMAGE_DATA(236,19,158,250,40,94,196,228,7,217,37,157,188,10,99,233,210,165,137,252,248,214,115,194,132,9,230,116,68,37,153,146) -IMAGE_DATA(146,18,190,144,203,196,56,18,94,26,47,194,81,92,40,23,214,175,95,159,207,49,139,53,229,118,184,253,250,245,27,200) -IMAGE_DATA(143,143,46,252,88,203,139,193,25,81,7,233,162,216,209,220,198,196,196,208,17,176,134,203,120,14,24,48,64,101,49,208) -IMAGE_DATA(209,209,121,199,204,204,44,124,199,142,29,2,225,104,188,116,116,229,109,251,6,15,30,172,118,49,24,57,114,164,62,31) -IMAGE_DATA(223,201,229,203,151,39,143,26,53,170,243,197,224,249,98,126,190,152,159,244,98,14,220,231,141,101,254,115,97,225,53,5) -IMAGE_DATA(243,92,245,177,57,212,65,237,197,236,23,225,14,231,40,19,28,206,218,134,75,119,98,225,29,103,133,153,222,239,98,234) -IMAGE_DATA(226,137,133,234,44,102,99,247,207,17,157,233,131,232,171,91,197,185,240,136,55,135,119,252,119,208,251,238,213,7,210,28) -IMAGE_DATA(106,107,49,127,185,118,12,142,102,237,108,49,159,135,174,108,195,56,235,65,173,142,9,202,22,243,199,54,111,96,115,236) -IMAGE_DATA(2,184,198,26,139,88,215,227,198,173,236,43,146,252,98,30,251,213,176,200,105,30,35,224,25,107,38,218,165,79,186,31) -IMAGE_DATA(242,97,63,15,117,214,36,209,235,227,251,185,189,111,254,74,53,249,76,159,116,47,118,80,49,104,235,215,232,231,219,124) -IMAGE_DATA(6,23,151,129,60,217,157,5,127,127,95,193,193,97,140,208,145,109,126,96,96,55,248,251,219,11,180,48,169,112,248,251) -IMAGE_DATA(79,18,58,178,205,223,186,85,91,44,64,119,238,220,225,11,198,89,112,115,251,31,193,209,241,99,193,221,125,148,160,206) -IMAGE_DATA(54,223,207,79,27,135,14,29,18,23,131,155,155,21,199,173,23,104,81,110,220,232,34,180,183,205,167,173,237,230,205,179) -IMAGE_DATA(4,90,236,228,59,125,3,211,39,253,56,234,232,104,35,180,181,205,247,15,250,80,216,244,243,101,33,236,96,178,88,92) -IMAGE_DATA(105,33,210,55,48,47,88,88,183,206,146,251,241,146,202,109,126,64,240,123,112,249,57,87,248,37,165,12,246,33,183,176) -IMAGE_DATA(45,60,30,206,206,19,68,140,151,87,127,28,60,168,122,155,255,246,123,255,29,181,234,199,76,142,45,199,145,115,127,32) -IMAGE_DATA(236,100,41,140,55,103,8,234,110,243,23,251,102,60,216,159,92,134,67,169,229,136,76,188,203,237,231,194,217,103,162,160) -IMAGE_DATA(238,54,223,200,41,161,114,231,177,59,8,63,85,10,187,31,111,98,236,132,15,50,59,178,205,127,65,91,103,246,255,45) -IMAGE_DATA(143,175,250,212,246,68,205,75,195,62,116,165,54,181,183,249,93,165,46,28,19,148,61,216,237,16,30,89,143,185,179,248) -IMAGE_DATA(191,187,253,78,224,100,248,78,218,125,78,207,73,57,181,183,51,120,194,68,207,70,213,78,98,93,93,93,67,71,71,71) -IMAGE_DATA(24,26,26,182,88,116,226,83,223,199,207,90,91,60,115,37,121,122,110,43,101,186,167,23,31,104,55,241,232,165,7,25) -IMAGE_DATA(158,238,169,93,222,23,194,200,147,84,143,84,150,62,9,47,127,47,111,255,49,94,42,247,216,119,146,165,151,47,168,93) -IMAGE_DATA(238,37,12,217,88,104,188,138,120,198,30,99,84,49,245,147,28,141,85,113,252,86,86,86,106,219,39,121,249,151,51,100) -IMAGE_DATA(207,222,247,50,181,198,175,18,207,152,90,241,111,203,62,163,56,62,122,95,65,58,94,185,247,2,12,165,115,175,108,254) -IMAGE_DATA(69,139,123,57,27,66,156,15,202,7,138,139,84,86,62,223,20,227,47,177,207,175,116,37,111,100,73,49,82,91,132,145) -IMAGE_DATA(207,89,234,163,247,42,164,253,162,125,142,27,58,180,150,227,178,91,248,39,233,107,73,138,250,165,120,194,82,60,228,219) -IMAGE_DATA(149,225,149,173,31,37,235,65,249,59,10,127,114,49,80,135,148,237,56,212,97,25,190,163,164,10,79,137,67,19,219,89) -IMAGE_DATA(60,37,29,113,123,58,84,225,165,47,235,144,31,127,133,253,174,142,95,93,122,214,240,93,204,191,191,47,61,201,167,9) -IMAGE_DATA(255,122,79,223,122,99,100,102,237,218,159,111,226,251,61,156,119,231,96,77,232,117,172,220,149,141,21,65,89,88,254,211) -IMAGE_DATA(21,44,11,204,192,210,29,23,177,196,255,60,22,249,165,193,206,55,174,150,112,132,223,176,247,70,243,214,227,37,232,40) -IMAGE_DATA(219,120,157,106,38,60,217,237,12,91,108,78,16,39,243,251,221,55,58,156,72,68,166,174,39,68,252,154,176,223,196,251) -IMAGE_DATA(134,198,38,212,115,126,208,208,136,218,7,141,168,126,240,16,85,117,13,248,163,230,1,238,86,222,71,113,89,29,138,238) -IMAGE_DATA(214,32,183,184,90,148,55,118,137,149,224,121,172,136,30,54,55,227,97,83,147,168,231,254,195,70,212,213,75,244,220,187) -IMAGE_DATA(223,136,138,218,122,148,85,115,61,85,15,80,82,126,95,148,159,231,252,171,136,167,56,19,53,113,124,35,233,224,220,192) -IMAGE_DATA(245,60,224,122,234,200,23,174,167,134,235,89,186,103,2,204,131,199,160,184,242,158,40,63,199,225,136,136,167,57,18,241) -IMAGE_DATA(130,32,226,165,122,26,56,215,55,73,198,67,122,44,67,199,195,57,198,8,51,3,70,112,31,31,192,200,254,144,136,95) -IMAGE_DATA(190,243,178,12,47,101,194,47,9,255,4,54,187,199,99,97,168,30,22,4,141,129,253,65,94,100,206,111,129,93,212,20) -IMAGE_DATA(232,251,12,194,204,181,145,34,126,201,246,116,9,158,115,179,156,30,235,176,113,248,229,162,63,246,95,240,19,113,17,231) -IMAGE_DATA(125,224,19,111,135,144,148,77,88,24,174,15,61,215,222,232,222,139,13,176,241,59,39,155,19,225,145,142,102,142,55,229) -IMAGE_DATA(99,37,172,87,236,18,184,31,179,134,203,81,11,56,197,152,96,253,145,239,16,112,122,3,230,236,250,24,111,174,99,77) -IMAGE_DATA(139,182,166,42,157,223,217,63,142,68,228,57,31,132,167,122,34,228,236,38,4,157,113,227,58,172,176,253,244,122,88,132) -IMAGE_DATA(127,142,255,178,239,15,205,129,108,180,222,23,75,35,23,122,37,137,249,100,230,118,18,38,46,113,152,191,225,56,166,110) -IMAGE_DATA(31,134,201,91,6,99,146,247,64,124,180,89,27,243,130,63,132,127,162,19,22,132,233,227,77,123,109,140,54,152,251,107) -IMAGE_DATA(71,214,217,200,117,172,110,126,200,36,188,102,195,138,122,188,196,222,238,232,58,125,99,53,171,27,178,182,7,186,15,96) -IMAGE_DATA(255,106,209,241,188,24,252,253,138,193,2,51,61,33,237,98,22,142,30,79,196,198,141,223,11,115,28,98,218,44,6,162) -IMAGE_DATA(14,238,139,153,249,251,2,21,3,75,171,175,133,5,166,31,9,83,13,134,9,115,231,142,23,30,21,3,205,246,138,129) -IMAGE_DATA(177,113,127,97,179,167,11,236,237,251,194,193,161,47,44,45,251,8,129,129,3,160,247,201,59,194,128,1,221,2,84,21) -IMAGE_DATA(3,83,211,127,11,149,213,213,112,90,191,82,48,51,235,47,252,240,67,63,216,218,246,17,140,141,251,96,246,236,94,194) -IMAGE_DATA(200,177,163,196,23,110,84,21,131,173,190,155,97,100,212,95,88,181,234,5,56,59,247,133,181,181,22,223,230,107,137,62) -IMAGE_DATA(208,245,216,15,222,20,241,170,138,1,233,152,49,227,117,142,215,22,44,45,123,11,230,230,90,226,24,8,107,105,169,133) -IMAGE_DATA(119,255,243,174,240,254,251,61,106,85,21,3,34,23,151,239,133,165,75,95,192,188,121,125,176,108,89,31,129,112,6,6) -IMAGE_DATA(90,130,145,209,103,194,212,101,98,49,235,161,170,24,204,94,23,35,22,204,119,199,141,19,108,109,95,192,162,197,253,197) -IMAGE_DATA(177,191,171,55,66,120,239,223,255,16,222,28,249,74,133,186,107,140,199,57,120,212,168,30,21,227,199,139,111,29,182,122) -IMAGE_DATA(187,181,29,234,46,189,208,208,96,203,6,13,234,118,249,209,109,55,241,223,150,199,4,58,63,41,103,67,195,54,206,26) -IMAGE_DATA(237,146,46,63,15,59,138,58,58,135,151,232,144,248,162,54,201,255,62,241,136,90,224,91,156,55,149,144,146,254,22,120) -IMAGE_DATA(37,250,149,226,229,168,149,255,106,226,9,39,255,191,129,100,122,84,225,21,124,147,198,78,202,178,121,84,21,3,37,237) -IMAGE_DATA(82,29,45,114,64,85,12,218,139,77,27,118,90,245,169,131,239,104,95,71,240,170,242,163,189,49,170,155,31,207,206,255) -IMAGE_DATA(166,146,47,6,146,197,170,186,32,180,95,28,90,37,139,10,122,234,197,65,113,34,84,4,94,37,94,81,94,197,196,182) -IMAGE_DATA(139,111,167,173,179,120,149,197,161,13,95,229,199,164,178,56,40,200,181,32,21,5,166,213,124,171,97,191,93,82,51,126) -IMAGE_DATA(79,29,223,206,252,171,36,53,243,239,25,163,103,240,7,196,39,68,45,18,181,19,9,42,93,100,186,134,109,200,41,232) -IMAGE_DATA(85,85,60,59,243,13,166,212,126,7,240,50,108,87,191,161,158,133,111,200,63,99,7,160,14,94,221,194,167,72,79,162) -IMAGE_DATA(64,62,117,250,127,207,176,208,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) -IMAGE_END_DATA(4576, 18) +IMAGE_DATA(120,156,237,91,9,84,84,87,210,190,42,184,16,23,146,201,152,72,140,113,52,127,162,132,76,212,9,99,204,114,52,241) +IMAGE_DATA(255,249,227,201,98,68,81,3,46,32,75,4,20,69,113,139,200,162,34,160,108,10,34,18,3,2,98,64,92,130,168,81) +IMAGE_DATA(64,5,65,1,69,81,1,53,168,44,66,4,132,0,178,8,8,188,111,110,189,166,219,166,237,134,70,147,73,114,142,197) +IMAGE_DATA(41,250,245,187,245,85,213,173,91,85,220,219,253,96,218,76,155,253,201,200,222,218,218,26,221,97,194,200,43,152,53,107) +IMAGE_DATA(214,157,144,144,16,168,195,36,171,232,192,243,207,63,111,228,229,229,213,37,150,100,72,86,217,36,12,12,12,206,117,133) +IMAGE_DATA(39,153,78,226,240,94,103,62,208,24,201,116,22,200,145,35,71,122,171,194,211,152,26,107,49,148,199,247,177,88,210,61) +IMAGE_DATA(26,83,3,79,177,180,87,196,211,61,117,176,82,146,95,79,101,235,165,6,137,177,84,39,102,170,136,214,170,139,245,234) +IMAGE_DATA(138,134,50,53,99,246,135,209,179,102,240,251,55,3,32,169,3,63,107,6,207,154,193,159,146,36,205,96,80,59,255,102) +IMAGE_DATA(212,173,197,86,36,42,112,90,116,85,133,166,14,94,90,48,237,11,216,173,4,144,226,229,11,175,189,120,212,90,76,69) +IMAGE_DATA(188,124,17,169,83,8,242,120,249,230,161,80,16,42,231,36,197,43,107,64,242,115,106,143,205,99,115,234,202,126,119,240) +IMAGE_DATA(157,52,224,46,253,255,45,226,247,52,235,247,52,249,243,52,249,203,158,178,126,158,152,250,243,31,56,255,33,166,127,39) +IMAGE_DATA(2,58,114,14,103,23,206,186,42,22,134,100,156,21,216,69,238,90,149,188,139,28,75,101,109,72,94,202,237,148,163,68) +IMAGE_DATA(63,201,233,74,229,20,252,114,145,31,147,231,39,77,172,255,30,253,9,146,169,187,193,194,190,125,251,186,194,200,22,65) +IMAGE_DATA(87,87,151,119,199,125,28,195,96,100,164,18,131,71,180,143,179,17,103,134,156,28,149,190,137,227,138,92,95,63,28,46) +IMAGE_DATA(46,46,10,201,36,145,79,74,74,146,49,201,222,187,55,137,251,228,130,73,147,38,41,213,47,207,93,200,62,54,23,242) +IMAGE_DATA(65,77,89,121,91,79,159,172,127,64,50,61,77,242,168,21,76,136,203,197,127,40,25,140,186,196,61,146,151,254,228,176) +IMAGE_DATA(206,236,61,38,63,156,39,17,37,137,92,34,65,153,60,201,185,228,186,200,47,182,82,253,247,238,221,147,233,235,68,78) +IMAGE_DATA(38,175,166,156,76,94,77,185,238,83,103,7,224,62,125,250,244,55,52,52,116,117,112,112,136,95,183,110,93,230,218,181) +IMAGE_DATA(107,51,237,236,236,226,63,251,236,51,215,222,189,123,247,239,76,239,176,97,195,198,120,123,123,231,39,38,38,226,252,249) +IMAGE_DATA(243,200,204,204,20,95,207,156,57,131,3,7,14,96,205,154,53,249,67,134,12,25,163,202,238,230,205,155,111,166,166,166) +IMAGE_DATA(226,212,169,83,8,11,11,67,96,96,32,252,253,253,177,99,199,14,28,60,120,80,100,123,123,251,155,26,26,26,253,20) +IMAGE_DATA(241,83,166,76,89,17,31,31,143,211,167,79,99,195,134,13,183,249,222,227,181,158,61,123,106,18,107,107,107,191,198,109) +IMAGE_DATA(255,18,21,21,37,238,107,38,76,152,176,66,17,111,107,107,123,144,108,147,221,151,94,122,105,180,226,248,139,47,190,56) +IMAGE_DATA(218,211,211,19,209,209,209,224,241,57,168,56,190,98,197,138,148,115,231,206,33,32,32,0,220,191,190,138,227,189,122,245) +IMAGE_DATA(234,203,227,137,152,152,24,24,27,27,167,200,143,21,165,152,33,106,183,7,182,110,221,10,31,31,31,220,58,97,140,130) +IMAGE_DATA(227,70,200,63,58,13,183,99,191,192,173,3,83,112,61,202,0,171,87,175,198,202,149,43,225,237,100,137,27,59,199,202) +IMAGE_DATA(146,183,232,140,41,90,235,50,208,86,119,1,194,131,28,224,193,117,160,254,6,208,84,200,185,0,104,200,67,235,253,139) +IMAGE_DATA(120,248,235,25,60,172,56,41,242,53,255,183,100,248,194,211,115,56,62,29,205,5,43,208,118,215,19,40,221,14,252,18) +IMAGE_DATA(12,84,241,142,253,107,20,80,188,19,205,185,14,168,203,252,26,247,211,167,226,97,121,2,114,189,95,151,225,11,18,102) +IMAGE_DATA(115,253,105,104,190,181,4,191,38,204,68,245,73,51,174,227,59,220,217,171,143,162,61,159,1,119,252,80,206,231,80,188) +IMAGE_DATA(231,61,212,164,78,65,115,217,113,228,120,12,147,225,243,127,154,142,214,154,115,104,250,217,6,109,119,28,129,50,63,160) +IMAGE_DATA(124,39,10,66,199,225,240,150,25,28,191,25,205,151,109,112,255,236,87,168,73,54,64,115,233,49,100,111,120,89,134,191) +IMAGE_DATA(125,248,75,180,84,167,160,233,154,37,42,143,125,206,237,27,3,21,219,113,123,199,24,196,172,255,2,40,218,136,242,232) +IMAGE_DATA(143,81,196,245,85,159,250,4,205,191,28,193,85,167,191,201,240,20,223,150,170,100,52,102,207,71,235,205,69,124,238,206) +IMAGE_DATA(124,222,190,64,237,14,254,234,15,20,56,162,41,211,132,99,13,80,21,255,33,154,139,227,112,101,205,64,25,254,102,212) +IMAGE_DATA(100,180,84,158,70,67,214,215,168,252,241,99,84,199,127,137,234,51,198,168,62,103,138,234,212,57,168,230,62,221,141,28) +IMAGE_DATA(143,162,96,93,84,29,127,15,77,197,177,184,188,162,159,12,159,23,241,17,95,147,68,180,114,22,170,78,243,181,59,199) +IMAGE_DATA(215,237,18,240,48,155,191,94,230,126,164,161,181,60,30,205,37,113,104,186,243,163,200,89,246,154,50,252,207,223,255,91) +IMAGE_DATA(204,135,235,1,122,184,230,55,10,185,94,35,197,248,102,111,212,193,85,151,191,227,138,227,243,162,191,151,87,106,33,107) +IMAGE_DATA(121,31,100,45,213,192,37,187,30,18,252,239,249,105,88,31,77,77,45,189,161,58,31,76,30,253,134,73,177,185,25,238) +IMAGE_DATA(204,154,38,114,241,130,249,248,63,221,55,231,209,24,201,168,194,135,205,51,78,175,92,98,135,138,133,86,40,231,152,26) +IMAGE_DATA(94,0,53,14,14,226,117,133,173,53,42,237,151,96,247,220,175,211,85,225,243,190,158,46,212,58,58,162,209,127,7,202) +IMAGE_DATA(23,90,160,120,182,161,200,116,77,247,104,236,134,209,231,194,43,207,107,191,65,242,154,189,53,180,116,70,232,124,240,230) +IMAGE_DATA(184,55,76,86,69,217,161,208,240,115,212,135,135,163,114,145,13,238,113,255,9,35,213,117,207,202,18,165,102,115,248,124) +IMAGE_DATA(166,98,228,223,95,20,155,218,124,71,147,116,183,35,142,112,58,180,18,171,99,150,160,104,198,151,104,142,61,130,134,192) +IMAGE_DATA(237,168,176,177,18,253,173,92,102,135,95,230,24,139,88,154,199,157,217,211,100,120,155,80,115,193,55,126,19,194,207,237) +IMAGE_DATA(132,227,1,7,81,55,225,235,3,119,160,158,55,194,26,111,47,148,153,206,17,177,101,102,115,37,120,57,251,150,161,115) +IMAGE_DATA(113,234,218,9,248,198,187,99,245,126,123,220,250,122,186,104,183,62,48,8,117,188,185,212,108,246,68,233,124,19,17,71) +IMAGE_DATA(248,18,110,251,250,244,79,133,97,195,223,156,172,161,217,91,107,225,110,83,100,228,159,197,137,156,35,216,151,177,7,193) +IMAGE_DATA(49,174,72,89,108,134,194,217,95,137,107,64,62,80,28,74,76,102,227,150,225,20,156,50,55,133,179,231,94,216,7,39) +IMAGE_DATA(99,198,66,215,116,235,176,5,56,155,151,132,184,203,7,16,123,41,6,123,211,67,176,114,223,98,56,173,221,142,116,51) +IMAGE_DATA(99,30,251,175,80,56,115,42,210,231,207,198,198,213,126,176,242,75,128,111,220,21,172,13,63,135,47,87,69,9,54,33) +IMAGE_DATA(11,132,67,23,163,177,63,115,47,162,51,194,17,122,118,39,28,162,109,49,213,241,32,126,76,191,5,215,208,211,176,244) +IMAGE_DATA(62,46,98,136,9,191,112,107,34,76,55,255,4,67,167,88,188,50,66,231,35,51,247,121,165,139,34,172,176,51,201,31) +IMAGE_DATA(123,210,66,196,56,76,115,58,132,196,203,197,136,73,201,67,200,241,108,172,139,72,195,146,160,100,204,241,60,38,98,23) +IMAGE_DATA(248,196,99,134,75,172,180,160,122,232,142,215,53,55,245,153,83,111,19,110,14,235,48,51,81,247,241,139,69,136,76,186) +IMAGE_DATA(129,31,56,127,31,159,3,83,175,227,34,214,140,251,67,120,146,81,204,191,190,207,245,125,177,151,70,175,190,70,78,251) +IMAGE_DATA(133,208,132,92,132,36,92,195,46,110,63,128,251,62,215,83,98,151,240,51,93,15,227,115,135,31,4,85,121,252,242,171) +IMAGE_DATA(35,63,50,92,178,181,116,54,151,243,140,185,128,237,71,174,192,220,39,1,198,238,71,241,197,170,24,76,181,245,169,208) +IMAGE_DATA(25,62,202,160,139,114,236,49,106,204,135,22,211,151,5,215,207,116,57,204,253,61,132,175,150,126,247,224,45,253,79,150) +IMAGE_DATA(203,36,126,239,143,198,245,245,217,38,95,95,86,178,123,55,19,136,233,154,238,169,131,237,209,131,13,14,11,99,15,21) +IMAGE_DATA(207,6,116,143,143,233,168,178,231,225,193,10,66,66,88,91,120,56,67,108,44,195,181,107,12,109,109,12,173,173,12,217) +IMAGE_DATA(217,146,123,52,70,50,36,43,239,79,104,40,107,146,183,85,88,200,176,127,63,195,149,43,18,142,137,145,220,147,151,33) +IMAGE_DATA(12,97,63,249,132,133,30,60,200,144,155,43,177,71,156,150,198,112,244,40,67,68,132,132,233,154,238,145,47,45,45,12) +IMAGE_DATA(87,175,50,16,230,227,143,217,222,189,123,89,203,141,27,12,23,47,50,92,186,36,177,71,182,21,231,47,245,39,51,147) +IMAGE_DATA(33,57,153,241,221,19,195,246,237,172,37,48,144,213,212,213,49,148,151,51,220,190,205,144,159,207,248,78,140,33,47,239) +IMAGE_DATA(145,63,116,157,146,194,112,253,58,67,66,130,132,179,178,24,220,221,89,141,20,127,255,62,67,85,21,67,81,145,196,215) +IMAGE_DATA(11,23,30,205,159,108,82,252,8,151,148,36,97,242,149,240,220,7,17,95,83,195,80,89,73,219,101,134,146,18,137,77) +IMAGE_DATA(154,87,106,170,4,71,254,146,95,228,7,225,73,255,166,77,172,134,175,71,115,67,3,67,109,45,67,105,169,4,91,80) +IMAGE_DATA(192,112,243,166,100,13,73,150,112,82,62,121,82,162,43,35,131,193,203,139,53,205,158,205,18,232,125,113,177,100,14,164) +IMAGE_DATA(131,226,64,246,9,79,99,20,47,98,242,131,236,146,78,30,119,204,152,193,146,249,18,246,126,249,101,102,185,114,37,187) +IMAGE_DATA(73,50,101,101,12,21,21,146,56,18,94,26,47,194,81,92,40,23,150,45,99,133,58,58,108,49,199,202,254,168,81,222) +IMAGE_DATA(234,234,50,55,79,79,86,125,246,172,68,7,233,162,216,209,218,198,197,137,241,170,211,211,99,222,92,246,21,85,249,175) +IMAGE_DATA(161,193,222,154,52,137,69,6,5,49,129,112,52,95,158,251,224,121,182,95,83,147,141,85,183,6,181,180,152,129,161,33) +IMAGE_DATA(59,53,107,22,75,237,223,159,125,161,82,240,247,110,6,86,86,86,155,118,239,222,93,194,183,220,2,49,93,211,61,117) +IMAGE_DATA(176,3,7,14,28,28,25,25,249,16,10,68,247,248,118,95,105,51,32,221,187,118,237,42,224,118,120,51,8,231,137,27) +IMAGE_DATA(203,23,242,26,47,132,54,94,128,173,188,25,100,139,247,104,140,100,72,86,222,159,61,123,246,52,201,219,42,44,44,228) +IMAGE_DATA(197,183,159,23,194,21,145,105,107,79,247,228,137,48,132,93,180,104,81,40,29,95,114,115,115,69,123,196,105,105,105,188) +IMAGE_DATA(1,28,229,141,32,66,100,186,166,123,228,75,75,75,11,111,6,87,197,35,15,247,97,47,63,118,240,102,112,131,39,204) +IMAGE_DATA(69,94,96,151,68,123,100,91,145,164,254,208,209,43,57,57,89,60,74,5,5,5,181,240,249,240,98,172,227,205,160,156) +IMAGE_DATA(23,193,109,158,196,249,226,177,44,47,47,79,230,15,93,167,164,164,240,102,112,157,39,118,130,200,89,89,89,240,243,243) +IMAGE_DATA(171,145,226,239,223,191,207,155,65,21,111,6,69,162,175,23,46,92,144,205,159,108,82,252,8,39,253,64,134,124,37,124) +IMAGE_DATA(104,104,168,136,175,169,169,225,205,160,82,60,59,151,148,148,136,54,105,94,116,244,34,28,249,75,126,145,31,132,39,253) +IMAGE_DATA(190,190,190,53,124,77,120,51,104,224,205,160,150,23,114,169,136,45,40,40,224,205,224,166,184,134,36,75,56,41,159,60) +IMAGE_DATA(121,82,212,149,145,145,65,246,155,248,241,47,129,222,23,23,23,139,115,32,29,20,7,178,79,120,26,163,120,17,147,31) +IMAGE_DATA(100,151,116,242,46,140,165,75,151,38,243,227,91,239,137,19,39,90,210,17,149,100,202,202,202,120,33,87,136,113,36,188) +IMAGE_DATA(52,94,132,163,184,80,46,172,95,191,190,144,99,22,107,202,237,112,7,12,24,48,152,31,31,221,248,177,150,55,131,179) +IMAGE_DATA(162,14,210,69,177,163,181,141,139,139,163,35,96,29,151,241,30,52,104,144,202,102,160,163,163,243,150,133,133,69,228,206) +IMAGE_DATA(157,59,5,194,209,124,233,232,202,239,237,31,58,116,168,218,205,96,244,232,209,6,124,126,167,150,47,95,158,170,167,167) +IMAGE_DATA(247,228,205,224,89,49,63,43,230,223,186,152,131,247,251,98,89,224,92,88,249,76,197,60,119,3,108,9,119,82,187,152) +IMAGE_DATA(3,162,60,225,26,99,134,35,57,219,113,249,110,60,124,19,108,48,203,247,109,76,91,60,169,88,157,98,54,245,252,20) +IMAGE_DATA(177,217,126,136,189,182,77,92,11,175,68,75,248,38,126,3,253,111,94,110,148,230,80,103,197,252,249,218,177,56,150,179) +IMAGE_DATA(171,195,122,30,190,186,29,227,109,135,60,118,76,80,86,204,31,218,189,134,45,241,11,224,30,111,42,98,221,79,152,62) +IMAGE_DATA(102,95,145,228,139,121,220,23,35,162,167,123,141,130,119,188,133,104,151,94,233,253,176,247,7,120,169,83,147,68,175,78) +IMAGE_DATA(24,224,241,174,229,75,181,228,51,189,210,123,113,128,154,65,103,159,70,63,219,230,51,184,185,13,230,201,238,42,4,6) +IMAGE_DATA(250,11,78,78,99,133,238,108,243,131,131,123,32,48,208,81,160,194,164,198,17,24,56,89,232,206,54,127,219,54,109,177) +IMAGE_DATA(1,221,189,123,151,23,140,171,224,225,241,191,130,179,243,135,130,167,167,158,160,206,54,63,32,64,27,135,15,31,22,139) +IMAGE_DATA(193,195,195,134,227,214,11,84,148,155,54,185,9,93,109,243,105,107,187,101,203,108,129,138,157,124,167,191,192,244,74,31) +IMAGE_DATA(142,58,59,219,9,157,109,243,3,67,222,23,54,255,112,69,136,56,148,42,54,87,42,68,250,11,204,27,22,214,173,179) +IMAGE_DATA(230,126,188,160,114,155,31,20,250,14,220,126,200,23,126,76,171,128,99,216,109,108,143,76,132,171,235,68,17,227,227,51) +IMAGE_DATA(16,135,14,169,222,230,191,249,206,63,99,86,125,151,205,177,149,56,122,254,87,68,156,42,135,233,150,44,65,221,109,254) +IMAGE_DATA(98,255,172,198,3,169,21,56,156,94,137,232,228,123,220,126,62,92,253,38,9,234,110,243,141,93,146,170,119,29,191,139) +IMAGE_DATA(200,211,229,112,248,238,22,198,77,124,47,187,59,219,252,231,180,117,76,254,127,121,98,205,199,246,39,235,94,24,241,190) +IMAGE_DATA(59,221,83,123,155,255,180,244,20,199,4,101,95,236,118,11,143,156,71,252,164,248,191,186,253,39,192,201,240,79,104,247) +IMAGE_DATA(25,61,35,229,212,213,206,224,55,38,250,110,84,237,36,214,213,213,53,114,118,118,134,145,145,81,135,162,19,191,245,125) +IMAGE_DATA(244,93,107,135,239,92,73,158,190,183,149,50,189,167,7,31,104,55,209,254,208,131,12,79,239,233,190,188,47,132,145,39) +IMAGE_DATA(169,30,169,44,189,18,94,254,189,188,253,71,120,169,220,35,223,73,150,30,190,160,251,114,15,97,200,230,66,243,85,196) +IMAGE_DATA(51,246,8,163,138,105,156,228,104,174,138,243,183,177,177,81,219,62,201,203,63,156,33,251,238,125,31,83,107,254,42,241) +IMAGE_DATA(140,169,21,255,206,236,51,138,99,251,243,10,210,249,202,61,23,96,36,93,123,101,235,47,90,220,199,217,8,226,122,80) +IMAGE_DATA(62,80,92,164,178,242,249,166,24,127,137,125,126,165,43,121,34,75,138,145,218,34,140,124,206,210,24,61,87,33,29,23) +IMAGE_DATA(237,115,220,240,225,245,28,151,219,193,63,201,88,71,82,212,47,197,19,150,226,33,127,95,25,94,89,253,40,169,7,229) +IMAGE_DATA(207,40,252,151,155,129,58,164,108,199,161,14,203,240,221,37,85,120,74,28,90,216,39,197,83,210,17,119,165,67,21,94) +IMAGE_DATA(250,176,14,249,241,71,216,127,218,249,171,75,127,54,252,83,230,223,95,151,126,203,111,19,254,241,142,129,237,166,232,236) +IMAGE_DATA(250,181,63,220,194,183,123,57,239,201,195,154,240,27,88,185,59,23,43,66,114,176,252,251,171,88,22,156,133,165,59,47) +IMAGE_DATA(97,73,224,5,44,10,200,128,131,127,66,61,225,8,191,97,223,205,182,109,39,202,208,93,182,243,57,221,70,120,178,251) +IMAGE_DATA(36,108,181,37,73,92,204,111,247,220,236,118,34,17,153,187,159,20,241,107,34,126,22,223,55,183,180,162,137,115,99,115) +IMAGE_DATA(11,234,27,91,80,219,248,16,53,13,205,248,181,174,17,247,170,31,160,180,162,1,37,247,234,144,95,90,43,202,155,186) +IMAGE_DATA(197,75,240,60,86,68,15,219,218,240,176,181,85,212,243,224,97,11,26,154,36,122,238,63,104,65,85,125,19,42,106,185) +IMAGE_DATA(158,154,70,148,85,62,16,229,231,185,254,36,226,41,206,68,173,28,223,66,58,56,55,115,61,141,92,79,3,249,194,245) +IMAGE_DATA(212,113,61,75,247,78,132,101,232,88,148,86,223,23,229,231,56,29,21,241,180,70,34,94,16,68,188,84,79,51,231,166) +IMAGE_DATA(86,201,124,72,143,117,248,4,184,198,25,99,86,208,40,238,99,35,140,29,15,139,248,229,187,174,200,240,82,38,252,146) +IMAGE_DATA(200,143,96,183,103,2,22,134,235,99,65,200,88,56,30,226,77,230,194,86,56,196,76,133,129,223,16,204,90,27,45,226) +IMAGE_DATA(151,236,200,148,224,57,183,201,233,177,141,24,143,31,47,5,226,192,197,0,17,23,117,193,15,126,137,14,8,75,219,140) +IMAGE_DATA(133,145,6,208,119,239,139,158,125,216,32,187,128,243,178,53,17,218,117,180,113,188,57,159,43,97,125,226,151,192,243,184) +IMAGE_DATA(45,220,142,89,193,37,206,12,235,143,126,131,160,51,27,48,103,247,135,120,125,29,107,93,180,45,93,233,250,154,124,55) +IMAGE_DATA(26,209,231,253,16,153,238,141,176,115,155,17,114,214,131,235,176,193,142,51,235,97,21,249,41,254,199,113,32,52,7,179) +IMAGE_DATA(49,250,159,45,141,94,232,147,34,230,147,133,199,41,152,185,37,96,254,134,19,152,182,99,4,166,108,29,138,201,190,131) +IMAGE_DATA(241,193,22,109,204,11,125,31,129,201,46,88,16,97,128,215,29,181,49,198,112,238,79,221,169,179,209,235,88,195,252,176) +IMAGE_DATA(201,120,197,142,149,244,122,129,189,217,221,58,125,109,53,107,24,182,182,23,122,14,98,255,232,48,240,172,25,252,245,154) +IMAGE_DATA(193,2,11,125,33,227,82,14,142,157,72,198,166,77,223,10,115,156,226,58,109,6,162,14,238,139,133,229,187,2,53,3) +IMAGE_DATA(107,155,47,133,5,230,31,8,211,12,71,8,115,231,78,16,218,155,129,102,87,205,192,212,116,160,176,197,219,13,142,142) +IMAGE_DATA(253,225,228,212,31,214,214,253,132,224,224,65,208,255,232,45,97,208,160,30,65,170,154,129,185,249,191,132,234,218,90,184) +IMAGE_DATA(172,95,41,88,88,12,20,54,110,28,0,123,251,126,130,169,105,63,152,152,244,17,70,143,211,19,31,184,81,213,12,182) +IMAGE_DATA(249,111,129,177,241,64,97,213,170,231,224,234,218,31,182,182,90,124,155,175,37,250,64,215,227,222,123,93,196,171,106,6) +IMAGE_DATA(164,99,230,204,87,57,94,91,176,182,238,43,88,90,106,137,115,32,172,181,181,22,222,254,247,219,194,187,239,246,170,87) +IMAGE_DATA(213,12,136,220,220,190,21,150,46,125,14,243,230,245,195,178,101,253,4,194,25,26,106,9,198,198,159,8,211,150,137,205) +IMAGE_DATA(172,151,170,102,96,178,46,78,108,152,111,143,31,47,216,219,63,135,69,139,7,138,115,127,91,127,148,240,206,191,254,38) +IMAGE_DATA(188,62,250,165,42,117,107,140,199,57,84,79,175,87,213,132,9,226,83,135,143,61,221,218,5,245,148,94,104,104,176,101) +IMAGE_DATA(67,134,244,184,210,254,182,135,248,187,227,49,129,206,79,202,217,200,168,147,179,70,151,164,203,207,195,206,162,142,39,195) +IMAGE_DATA(75,116,72,124,81,155,228,63,159,104,167,14,248,14,231,77,37,164,100,188,3,94,137,126,165,120,57,122,204,127,53,241) +IMAGE_DATA(132,147,255,111,32,153,30,85,120,5,223,164,177,147,178,108,29,85,197,64,201,125,169,142,14,57,160,42,6,93,197,166) +IMAGE_DATA(19,59,143,141,169,131,239,238,88,119,240,170,242,163,171,57,170,155,31,127,154,255,166,250,15,185,142,195,30,0,0,0) +IMAGE_END_DATA(4544, 18) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,89,11,88,20,215,21,30,171,162,159,165,109,106,141,141,169,209,136,15,116,65,37,242,20,36,130,150,106,248) -IMAGE_DATA(12,6,116,19,171,166,246,179,109,218,212,199,103,219,152,106,76,11,149,196,47,18,181,65,137,81,52,95,34,105,170,174) -IMAGE_DATA(239,40,248,136,15,68,35,32,8,42,187,65,3,162,54,248,88,140,178,192,174,236,210,50,167,247,204,114,135,187,179,51) -IMAGE_DATA(187,179,136,224,131,195,119,190,189,123,239,249,207,127,206,153,187,103,238,12,220,19,220,19,28,36,114,15,170,104,137,66) -IMAGE_DATA(211,231,189,96,193,67,14,233,156,18,94,142,67,206,159,28,94,137,67,77,190,178,28,90,173,22,154,230,129,115,140,75) -IMAGE_DATA(58,166,182,82,1,189,94,15,58,0,224,116,58,22,167,85,88,115,194,227,122,172,217,12,73,6,131,212,198,213,154,104) -IMAGE_DATA(19,85,85,5,239,150,148,8,159,82,188,139,53,209,38,137,196,134,235,73,206,49,186,90,163,226,80,35,78,126,79,200) -IMAGE_DATA(173,61,26,130,205,224,126,200,218,228,161,25,183,10,199,66,85,193,243,96,204,31,3,198,220,8,184,121,50,28,110,228) -IMAGE_DATA(132,193,245,236,16,184,118,36,24,42,191,12,132,188,12,191,171,114,120,227,233,231,27,27,110,167,131,237,214,122,176,221) -IMAGE_DATA(252,8,172,215,210,160,254,63,169,112,247,242,42,176,148,189,15,183,114,95,134,11,187,70,212,201,97,23,191,254,108,114) -IMAGE_DATA(205,197,223,66,195,173,116,48,95,152,8,117,37,63,135,154,162,177,96,202,11,7,75,249,10,184,93,48,27,174,100,6) -IMAGE_DATA(252,79,41,246,202,175,34,108,54,227,26,168,191,250,103,168,211,199,64,109,81,52,152,72,14,150,242,20,168,62,187,128) -IMAGE_DATA(196,29,9,253,158,242,26,40,135,157,20,221,107,106,181,126,6,216,170,214,131,249,235,9,80,123,118,28,152,10,34,161) -IMAGE_DATA(206,48,31,234,74,19,225,70,118,44,68,7,253,32,86,137,187,226,104,152,217,114,53,9,172,215,87,65,221,249,241,80) -IMAGE_DATA(115,102,44,84,231,142,22,226,174,58,53,13,126,23,223,235,13,37,236,40,141,119,232,119,103,38,131,205,184,142,240,197) -IMAGE_DATA(66,77,113,12,152,78,71,193,29,82,115,243,197,229,112,101,239,112,254,226,118,141,245,194,214,97,214,210,205,190,86,195) -IMAGE_DATA(191,6,91,13,155,6,90,115,211,250,27,17,175,223,27,108,172,253,102,33,225,38,185,127,75,106,125,101,165,144,179,165) -IMAGE_DATA(44,5,204,165,239,65,109,201,59,196,103,34,152,10,223,134,234,252,183,224,219,125,19,225,220,198,1,150,103,158,236,34) -IMAGE_DATA(212,226,98,86,144,233,242,161,32,107,197,254,64,235,165,204,231,172,229,95,140,180,150,237,25,110,173,43,93,6,183,178) -IMAGE_DATA(70,194,119,135,73,76,69,73,112,253,96,60,92,218,226,15,203,126,243,228,199,74,185,80,217,178,108,64,246,157,194,5) -IMAGE_DATA(80,123,62,153,96,255,14,149,89,177,80,188,193,167,230,39,63,236,252,83,119,88,148,203,187,252,132,184,111,28,209,66) -IMAGE_DATA(133,110,4,188,61,179,215,7,106,112,40,153,171,124,138,111,28,158,12,215,15,77,130,194,13,3,111,171,229,68,233,209) -IMAGE_DATA(253,123,222,151,119,14,135,138,109,126,240,230,244,94,41,106,113,84,14,254,211,199,144,159,62,208,216,163,91,39,111,79) -IMAGE_DATA(177,40,35,7,117,15,245,24,116,191,154,65,128,183,119,70,246,168,81,112,140,232,81,162,135,3,2,224,16,209,131,68) -IMAGE_DATA(247,143,28,9,153,68,247,142,24,1,139,250,245,147,109,6,95,6,4,52,94,141,136,128,43,225,225,80,65,180,108,244) -IMAGE_DATA(104,184,72,180,52,44,12,244,161,161,128,190,63,242,245,149,109,6,125,188,188,146,207,132,132,8,216,211,193,193,112,42) -IMAGE_DATA(40,8,114,2,3,133,88,16,123,130,140,183,248,249,41,54,131,221,254,254,54,228,52,16,174,92,130,69,251,236,38,108) -IMAGE_DATA(30,249,190,143,196,77,204,100,155,129,87,167,78,83,209,230,50,193,231,19,238,147,4,123,156,96,11,201,184,152,196,132) -IMAGE_DATA(249,119,230,56,197,102,240,153,70,99,254,154,240,98,190,52,238,163,77,220,24,255,143,58,119,86,108,6,157,56,46,20) -IMAGE_DATA(237,49,118,140,129,114,147,90,194,121,130,215,105,52,252,70,95,95,107,250,144,33,214,117,68,63,28,60,216,154,70,116) -IMAGE_DATA(113,127,123,51,88,57,104,144,241,44,137,177,156,112,127,195,212,186,132,232,57,162,88,83,172,39,250,254,138,232,30,82) -IMAGE_DATA(7,130,177,208,90,172,243,245,53,109,214,104,172,159,15,27,102,253,140,232,166,161,67,173,159,18,69,159,95,16,219,3) -IMAGE_DATA(228,154,99,77,178,200,231,231,126,126,48,168,123,119,183,205,224,133,158,61,179,177,14,88,63,196,226,158,121,207,199,167) -IMAGE_DATA(134,44,169,250,97,234,252,253,133,184,177,238,155,9,103,95,47,47,213,205,96,122,239,222,197,24,51,198,155,60,96,192) -IMAGE_DATA(109,181,156,77,226,189,149,112,35,231,83,93,187,122,220,12,126,221,167,143,225,111,246,235,210,162,102,128,123,193,99,80) -IMAGE_DATA(199,201,192,89,58,78,6,174,79,6,251,231,70,67,214,239,163,248,221,175,250,242,255,78,248,113,131,39,39,131,156,216) -IMAGE_DATA(0,30,38,70,1,140,27,3,16,25,6,48,54,20,222,232,230,181,83,41,39,246,100,176,127,254,120,64,172,37,231,40) -IMAGE_DATA(111,158,55,191,193,60,103,110,195,157,253,153,245,16,50,28,130,56,238,175,114,120,246,100,176,115,218,211,60,68,133,131) -IMAGE_DATA(121,206,188,134,70,179,153,111,180,152,249,154,95,205,106,128,193,253,33,178,107,151,127,72,177,210,147,65,236,247,187,174) -IMAGE_DATA(128,209,129,80,247,250,31,27,26,45,22,190,241,174,133,55,205,152,217,0,253,122,19,124,103,7,188,220,201,32,132,227) -IMAGE_DATA(22,65,196,40,184,147,185,183,222,52,243,213,6,211,244,25,13,183,183,109,173,7,223,103,32,80,18,191,210,201,224,79) -IMAGE_DATA(221,186,238,128,81,67,1,6,60,13,240,179,94,0,67,250,194,28,175,46,219,164,177,187,58,25,144,90,45,194,120,81) -IMAGE_DATA(113,44,46,168,123,103,144,8,118,21,164,5,207,76,118,188,78,135,79,141,32,60,123,54,61,179,170,241,1,20,207,10) -IMAGE_DATA(250,114,225,67,120,190,75,74,74,18,108,229,240,10,62,4,28,206,217,215,116,208,156,187,93,113,78,234,131,99,158,247) -IMAGE_DATA(105,142,246,53,189,131,15,28,235,245,70,105,13,28,248,41,55,235,67,163,73,19,20,199,20,215,28,163,114,252,114,185) -IMAGE_DATA(162,162,15,87,241,227,122,92,92,156,240,201,242,177,56,87,241,171,193,209,24,165,252,123,246,236,17,185,89,145,195,41) -IMAGE_DATA(241,179,62,84,226,28,246,14,245,225,33,206,201,71,11,112,14,62,184,182,126,63,33,211,12,148,94,58,73,95,160,200) -IMAGE_DATA(5,169,141,209,198,64,138,46,69,80,109,100,36,232,150,44,17,20,237,151,46,213,193,137,19,32,40,142,101,124,8,56) -IMAGE_DATA(244,129,99,196,161,15,25,94,162,88,96,231,151,68,197,228,111,187,126,187,48,15,7,14,136,220,148,215,110,15,140,58) -IMAGE_DATA(226,17,139,62,124,52,62,10,188,44,94,47,197,11,249,163,15,204,67,38,63,109,51,94,223,148,131,115,13,101,56,197) -IMAGE_DATA(248,220,212,95,78,164,120,81,198,4,112,218,125,31,112,128,138,99,79,241,20,75,85,6,43,125,121,235,16,179,27,188) -IMAGE_DATA(171,23,187,162,210,28,100,226,119,135,117,39,74,117,119,247,66,90,142,159,197,170,197,171,121,177,173,214,135,186,61,211) -IMAGE_DATA(198,255,77,240,44,56,25,156,158,249,37,235,221,95,88,135,59,37,231,216,5,4,85,192,139,56,246,14,37,124,151,231) -IMAGE_DATA(119,186,51,75,239,108,226,221,141,193,107,155,238,132,76,12,78,119,116,169,112,206,177,59,221,25,149,124,32,63,231,28) -IMAGE_DATA(187,108,252,82,31,146,147,0,208,88,61,61,89,48,246,138,241,43,157,44,232,156,158,201,95,90,63,119,39,11,186,135) -IMAGE_DATA(148,242,87,115,178,144,193,57,236,157,135,246,100,241,48,53,3,173,22,255,189,197,225,79,66,80,28,227,156,11,31,14) -IMAGE_DATA(124,44,150,245,193,57,55,4,135,31,181,184,9,245,118,123,141,198,206,75,125,48,120,197,102,32,185,168,98,44,18,126) -IMAGE_DATA(183,205,192,238,199,142,213,233,156,242,119,217,12,104,12,136,99,106,247,240,53,3,125,115,221,91,212,12,244,14,117,239) -IMAGE_DATA(104,6,84,186,113,61,148,154,129,171,59,110,123,175,201,109,40,54,113,151,27,78,97,158,147,172,55,207,187,235,152,194) -IMAGE_DATA(165,147,8,206,185,72,200,1,87,85,85,5,6,131,1,178,179,179,5,197,49,206,185,242,131,243,20,135,47,71,162,162) -IMAGE_DATA(162,196,164,112,140,115,212,143,18,22,119,26,131,115,58,143,226,26,198,211,100,35,174,99,92,232,155,206,35,87,98,162) -IMAGE_DATA(248,82,137,195,49,206,225,24,121,154,198,192,114,179,115,26,141,70,240,129,159,236,88,142,75,250,157,114,162,61,242,162) -IMAGE_DATA(82,172,28,31,10,230,132,99,202,69,227,103,149,206,163,13,139,97,199,108,156,44,134,214,130,250,151,226,229,226,151,195) -IMAGE_DATA(203,197,47,253,238,46,126,57,62,201,156,98,253,228,174,21,59,143,57,201,237,83,118,95,51,123,204,105,31,75,247,41) -IMAGE_DATA(21,165,125,45,227,67,220,167,104,75,127,63,18,156,154,231,67,119,167,148,230,117,161,25,184,234,85,29,210,33,29,242) -IMAGE_DATA(120,136,187,255,191,246,236,171,213,134,145,94,200,42,206,185,243,75,113,111,173,4,56,124,10,160,200,96,87,28,227,156) -IMAGE_DATA(43,63,56,79,113,168,211,22,0,132,78,181,43,142,233,60,218,72,125,80,108,78,129,221,54,56,193,6,147,103,29,131) -IMAGE_DATA(229,171,115,249,164,148,147,124,244,212,147,16,50,133,23,214,208,70,234,3,227,162,156,33,83,26,33,125,211,25,94,122) -IMAGE_DATA(50,250,195,194,99,60,27,11,98,164,113,227,250,216,132,83,130,125,198,150,179,124,240,75,181,48,225,151,199,133,239,54) -IMAGE_DATA(219,127,249,224,120,139,96,195,230,193,114,227,90,248,228,2,88,252,78,14,31,25,159,111,175,125,220,89,49,134,160,184) -IMAGE_DATA(155,32,141,1,21,107,140,243,210,107,22,252,226,37,200,43,184,42,228,146,154,126,154,167,243,104,139,24,87,248,144,132) -IMAGE_DATA(187,112,161,204,40,96,87,124,152,199,7,189,100,2,37,60,27,63,157,11,122,177,76,136,121,235,174,18,158,245,43,141) -IMAGE_DATA(95,90,63,17,31,87,9,9,179,143,193,216,41,185,32,197,75,247,129,92,12,191,152,150,35,240,239,61,80,202,43,113) -IMAGE_DATA(43,237,31,180,139,121,165,25,207,238,67,185,253,115,175,251,183,53,126,63,114,126,84,253,126,217,199,132,48,205,90,104) -IMAGE_DATA(111,45,44,44,108,145,178,120,53,82,93,93,45,142,221,225,233,90,184,255,26,62,225,133,84,254,200,225,147,14,235,106) -IMAGE_DATA(249,207,157,211,11,54,49,225,169,14,13,70,45,126,245,170,205,130,205,164,104,207,241,59,119,100,66,200,208,52,62,98) -IMAGE_DATA(248,26,62,231,120,158,199,241,191,28,151,202,227,250,199,27,118,64,99,99,163,199,120,172,29,174,27,141,70,167,181,150) -IMAGE_DATA(92,63,79,241,116,189,189,240,158,196,127,47,251,255,94,148,123,150,252,137,119,197,7,160,25,116,104,251,107,75,55,100) -IMAGE_DATA(107,109,228,7,133,255,126,203,189,242,155,205,102,216,176,126,59,204,154,182,134,31,23,178,154,15,243,79,227,199,135,165) -IMAGE_DATA(242,175,205,74,227,179,50,143,221,87,254,93,59,14,130,192,233,98,31,45,92,176,158,151,222,56,90,139,31,237,34,159) -IMAGE_DATA(91,205,39,39,126,194,23,157,57,7,22,139,5,42,43,175,193,198,244,29,194,60,245,133,223,239,7,255,220,215,214,242) -IMAGE_DATA(236,187,32,86,182,110,206,20,125,197,79,72,117,122,178,104,13,126,87,98,50,153,68,95,120,19,110,107,254,242,242,10) -IMAGE_DATA(209,215,196,200,182,207,255,47,243,214,137,215,127,249,187,25,109,202,159,178,44,67,228,126,101,114,42,111,181,90,21,109) -IMAGE_DATA(91,155,127,217,210,79,69,238,233,241,171,121,220,7,174,164,53,249,151,188,185,65,228,158,61,125,13,143,189,201,157,180) -IMAGE_DATA(22,255,166,79,118,3,155,119,125,125,189,42,92,107,241,199,79,76,21,115,63,157,95,164,26,215,90,252,99,70,52,247) -IMAGE_DATA(59,155,205,214,230,252,44,214,19,121,84,248,91,42,143,10,127,123,215,255,113,231,111,169,60,232,231,239,246,226,127,92) -IMAGE_DATA(245,255,245,233,119,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) -IMAGE_END_DATA(2784, 14) +IMAGE_DATA(120,156,237,90,11,88,20,215,21,30,171,162,159,181,109,106,141,141,169,209,136,15,116,65,37,202,75,144,8,90,170,225) +IMAGE_DATA(51,24,208,77,172,154,218,207,182,105,83,31,159,109,99,170,49,45,84,18,191,72,212,6,37,70,209,124,137,166,169,186) +IMAGE_DATA(190,163,248,138,15,68,35,62,16,124,44,81,227,187,193,199,98,148,5,118,101,151,150,57,189,103,150,59,220,189,59,51) +IMAGE_DATA(59,187,130,162,114,248,206,183,119,239,189,255,249,207,61,115,230,204,157,187,8,79,8,79,8,144,42,72,98,52,166,130) +IMAGE_DATA(32,164,233,82,156,107,48,24,140,130,155,224,24,223,167,36,6,163,193,144,10,46,62,127,5,121,210,212,240,232,3,212) +IMAGE_DATA(170,192,180,21,252,85,20,126,62,111,79,47,222,75,159,191,120,196,209,107,69,63,101,81,241,149,93,19,141,29,85,183) +IMAGE_DATA(107,166,18,43,222,46,181,225,113,189,117,240,123,21,157,241,107,112,188,151,235,175,42,58,243,175,145,9,91,12,30,45) +IMAGE_DATA(113,75,84,63,18,148,222,100,6,163,198,60,206,174,90,241,212,76,36,149,49,69,126,31,240,50,86,47,94,45,81,189) +IMAGE_DATA(141,123,179,127,175,252,236,28,95,199,234,27,175,183,240,241,82,31,5,178,225,165,145,23,3,26,68,127,130,197,98,181) +IMAGE_DATA(46,150,18,7,223,231,45,209,89,14,37,123,74,120,53,14,61,235,85,228,48,26,141,108,225,97,253,226,219,116,46,47) +IMAGE_DATA(96,54,155,193,4,0,130,201,196,226,140,42,99,30,120,28,79,180,217,32,173,184,152,159,163,53,38,207,137,43,45,133) +IMAGE_DATA(119,79,159,150,62,121,188,198,152,60,39,141,248,134,227,105,158,62,106,141,81,113,139,145,160,156,19,141,235,6,174,79) +IMAGE_DATA(193,98,208,16,178,56,189,215,202,91,5,131,161,244,216,243,96,57,50,8,44,249,49,112,243,96,52,220,200,139,130,235) +IMAGE_DATA(185,17,112,109,79,56,148,124,57,0,14,175,12,190,170,132,183,28,125,190,166,250,118,54,56,111,45,5,231,205,143,192) +IMAGE_DATA(113,45,11,170,254,147,9,119,47,47,0,251,249,247,225,86,254,203,112,118,99,223,74,37,236,204,215,159,77,47,63,247) +IMAGE_DATA(91,168,190,149,13,182,179,195,161,242,244,207,161,188,112,48,88,15,71,131,253,194,60,184,125,108,34,92,201,9,253,159) +IMAGE_DATA(154,239,37,95,197,56,157,150,69,80,117,245,207,80,105,78,128,138,194,120,176,146,53,216,47,100,64,217,137,105,196,239) +IMAGE_DATA(88,232,252,84,64,55,37,236,136,248,246,163,203,204,227,192,89,186,20,108,95,15,131,138,19,67,192,122,44,22,42,139) +IMAGE_DATA(167,66,229,153,84,184,145,155,8,241,97,63,72,84,227,190,180,55,202,102,191,154,6,142,235,11,160,242,212,80,40,63) +IMAGE_DATA(62,24,202,242,7,74,126,151,30,26,3,191,75,110,255,134,26,182,191,161,109,228,119,199,71,130,211,178,132,240,37,66) +IMAGE_DATA(121,81,2,88,143,198,193,29,18,115,219,185,185,112,101,75,31,241,220,58,131,227,236,154,222,142,51,171,130,28,197,255) +IMAGE_DATA(234,225,40,94,209,205,145,159,213,197,130,120,243,150,112,75,197,55,211,9,55,89,251,183,36,214,87,230,75,107,182,159) +IMAGE_DATA(207,0,219,153,247,160,226,244,59,196,102,42,88,11,222,134,178,35,111,193,183,91,135,195,201,229,93,237,207,60,217,66) +IMAGE_DATA(138,197,185,109,97,214,203,187,194,28,151,182,15,112,92,204,121,206,113,225,139,126,142,243,155,251,56,42,207,204,129,91) +IMAGE_DATA(219,250,193,119,187,137,79,133,105,112,125,103,50,92,92,29,2,115,126,243,228,199,106,107,161,178,122,78,215,220,59,5) +IMAGE_DATA(211,160,226,84,58,193,254,29,74,182,37,66,209,178,192,242,159,252,176,249,79,189,97,81,46,111,12,150,252,190,177,199) +IMAGE_DATA(8,151,76,125,225,237,241,237,63,208,131,67,201,89,16,88,116,99,247,72,184,190,107,4,20,44,235,118,91,47,39,74) +IMAGE_DATA(155,214,223,107,123,121,67,31,184,180,54,24,222,28,219,62,67,47,142,202,206,127,6,22,31,201,238,102,105,211,170,89) +IMAGE_DATA(91,95,177,40,253,186,183,142,244,25,212,80,197,32,180,109,219,149,185,253,251,195,62,162,123,137,238,14,13,133,93,68) +IMAGE_DATA(119,18,221,222,175,31,228,16,221,210,183,47,204,232,220,89,177,24,124,25,26,90,115,53,38,6,174,68,71,195,37,162) +IMAGE_DATA(231,7,14,132,115,68,207,68,69,129,57,50,18,208,246,71,65,65,138,197,160,99,64,64,250,241,136,8,9,123,52,60) +IMAGE_DATA(28,14,133,133,65,222,128,1,146,47,136,61,64,218,171,131,131,85,139,193,166,144,16,39,114,22,19,174,124,130,197,249) +IMAGE_DATA(185,181,216,195,228,251,86,226,55,153,166,88,12,2,154,53,27,141,115,46,19,252,17,194,125,144,96,247,19,108,1,105) +IMAGE_DATA(23,17,159,112,253,205,5,65,181,24,124,102,48,216,190,38,188,184,94,234,247,222,90,110,244,255,71,205,155,171,22,131) +IMAGE_DATA(102,130,16,137,243,209,119,244,129,114,147,88,194,41,130,55,25,12,226,242,160,32,71,118,207,158,142,37,68,63,236,209) +IMAGE_DATA(195,145,69,116,102,23,87,49,152,223,189,187,229,4,241,241,2,225,254,134,137,245,105,162,39,137,98,76,49,158,104,251) +IMAGE_DATA(43,162,155,73,28,8,198,78,99,177,36,40,200,186,202,96,112,124,222,187,183,227,51,162,43,122,245,114,124,74,20,109) +IMAGE_DATA(126,65,230,238,32,215,28,99,178,141,124,126,30,28,12,221,91,183,246,90,12,94,104,215,46,23,227,128,241,67,44,230) +IMAGE_DATA(204,123,129,129,229,100,72,215,141,105,10,9,145,252,198,184,175,34,156,157,2,2,116,23,131,177,29,58,20,161,207,232) +IMAGE_DATA(111,122,215,174,183,245,114,214,74,219,53,132,27,57,159,106,217,210,231,98,240,235,142,29,139,255,230,186,46,126,21,3) +IMAGE_DATA(204,5,159,65,77,59,3,79,105,218,25,104,239,12,182,79,142,135,109,191,143,19,55,189,26,36,254,59,229,199,213,190) +IMAGE_DATA(236,12,242,18,67,69,24,30,7,48,100,16,64,108,20,192,224,72,120,163,85,192,6,181,53,177,59,131,237,83,135,2) +IMAGE_DATA(98,237,121,123,69,219,148,169,213,182,73,147,171,239,108,207,169,130,136,62,16,38,8,127,85,194,179,59,131,13,99,158) +IMAGE_DATA(22,33,46,26,108,147,166,84,215,216,108,98,141,221,38,150,255,106,66,53,244,232,2,177,45,91,252,131,199,242,59,131) +IMAGE_DATA(196,239,183,156,7,3,7,64,229,235,127,172,174,177,219,197,154,187,118,209,58,110,124,53,116,238,64,240,205,221,240,74) +IMAGE_DATA(59,131,8,65,152,1,49,253,225,78,206,150,42,235,248,87,171,173,99,199,85,223,94,187,166,10,130,158,129,1,156,255) +IMAGE_DATA(106,59,131,63,181,106,185,30,250,247,2,232,250,52,192,207,218,3,244,236,4,147,2,90,172,229,125,215,218,25,144,88) +IMAGE_DATA(205,64,127,81,177,45,15,232,59,51,192,195,44,249,228,223,143,119,38,23,222,100,194,183,70,144,222,61,107,223,89,117) +IMAGE_DATA(158,44,187,240,172,160,45,13,27,210,251,93,90,90,154,52,87,9,175,98,67,194,97,159,107,204,4,117,107,119,41,246) +IMAGE_DATA(241,54,4,230,125,159,174,209,53,102,118,179,129,109,179,217,194,199,192,141,159,114,179,54,12,134,44,73,177,77,113,117) +IMAGE_DATA(62,170,251,175,180,86,84,180,161,229,63,142,39,37,37,73,159,44,31,139,211,242,95,15,142,250,200,243,111,222,188,89) +IMAGE_DATA(230,102,69,9,167,198,207,218,208,137,115,203,29,106,195,71,156,135,13,63,112,110,54,132,251,125,62,161,80,12,212,14) +IMAGE_DATA(157,248,3,20,197,211,213,4,99,2,100,152,50,36,53,198,198,130,105,214,44,73,113,254,236,217,38,56,112,0,36,197) +IMAGE_DATA(182,130,13,9,135,54,176,141,56,180,161,192,75,20,3,236,121,72,84,68,254,214,153,215,73,253,176,99,135,204,77,121) +IMAGE_DATA(93,243,129,81,119,60,98,209,70,160,33,80,133,151,197,155,121,188,180,126,180,129,235,80,88,159,177,14,111,174,93,131) +IMAGE_DATA(230,9,181,135,127,94,226,175,36,60,94,150,65,161,130,113,235,7,2,160,98,219,87,60,197,82,85,192,242,135,183,110) +IMAGE_DATA(62,123,193,107,29,236,202,74,215,160,224,191,55,172,55,81,139,187,183,3,105,37,126,22,171,23,175,231,96,91,175,13) +IMAGE_DATA(125,57,115,159,127,77,240,205,57,5,156,153,185,147,205,222,47,172,219,147,82,112,175,2,146,170,224,101,28,251,132,146) +IMAGE_DATA(190,43,243,123,60,153,249,39,155,252,116,99,240,198,218,39,33,227,131,199,19,157,23,193,211,119,143,39,163,154,13,228) +IMAGE_DATA(23,60,125,87,244,159,183,193,237,4,128,250,234,235,206,130,153,175,234,191,218,206,130,246,153,153,245,243,241,243,182,179) +IMAGE_DATA(160,57,164,182,126,61,59,11,5,156,91,238,60,180,59,139,135,169,24,24,141,248,243,150,128,183,132,164,216,198,62,13) +IMAGE_DATA(27,110,124,44,150,181,33,120,22,4,183,155,90,78,66,179,107,190,193,224,226,165,54,24,188,106,49,224,46,170,236,11) +IMAGE_DATA(199,239,181,24,184,236,184,176,38,147,199,250,53,139,1,245,1,113,76,236,30,190,98,96,174,139,187,95,197,192,236,22) +IMAGE_DATA(247,166,98,64,165,149,208,70,173,24,104,61,113,31,244,152,82,66,177,11,215,76,56,149,126,129,27,175,235,247,86,49) +IMAGE_DATA(165,75,199,9,246,105,44,200,13,87,90,90,10,197,197,197,144,155,155,43,41,182,177,79,203,14,246,83,28,30,142,196) +IMAGE_DATA(197,197,201,139,194,54,246,81,59,106,88,204,52,6,231,177,31,197,49,244,167,118,142,60,142,126,161,109,218,143,92,169) +IMAGE_DATA(169,117,255,78,138,109,236,195,54,242,212,182,129,229,102,251,240,95,89,241,59,126,178,109,37,46,254,59,229,196,249,200) +IMAGE_DATA(139,202,254,107,44,207,135,130,107,194,54,229,162,254,179,74,251,113,14,139,97,219,172,159,44,134,198,130,218,231,241,74) +IMAGE_DATA(254,43,225,149,252,231,191,123,243,95,137,143,235,83,141,159,210,181,98,251,113,77,74,121,202,230,53,147,99,30,121,204) +IMAGE_DATA(231,41,21,181,188,86,176,33,231,41,206,165,247,15,135,211,243,126,232,109,151,82,55,46,21,3,173,90,213,36,77,210) +IMAGE_DATA(36,143,135,120,251,253,181,93,39,163,49,138,212,66,86,177,207,155,93,138,123,107,62,192,238,67,0,133,197,46,197,54) +IMAGE_DATA(246,105,217,193,126,138,67,29,51,13,32,114,180,75,177,77,251,113,14,111,131,98,243,142,185,230,134,167,56,97,228,132) +IMAGE_DATA(125,48,119,97,190,152,150,113,80,140,31,125,16,34,70,137,210,24,206,225,109,160,95,148,51,98,84,13,100,175,56,46) +IMAGE_DATA(242,59,163,63,76,223,39,178,190,32,134,247,27,199,7,167,28,146,230,175,92,125,66,12,127,169,2,134,253,114,191,244) +IMAGE_DATA(221,233,252,175,24,158,108,151,230,176,235,96,185,113,44,122,228,49,152,249,78,158,24,155,124,196,21,251,164,19,178,15) +IMAGE_DATA(97,73,55,129,247,1,21,99,140,253,252,53,11,127,241,34,28,62,118,85,90,75,102,246,81,145,246,227,92,196,104,225) +IMAGE_DATA(35,82,238,194,217,243,22,9,59,239,195,195,98,216,75,86,80,195,179,254,211,190,176,23,207,75,62,175,217,120,90,100) +IMAGE_DATA(237,242,254,243,241,147,241,73,37,144,50,113,31,12,30,149,15,60,158,207,3,37,31,126,49,38,79,226,223,178,227,140) +IMAGE_DATA(168,198,173,150,63,56,47,225,149,58,60,155,135,74,249,115,175,249,91,31,247,143,146,29,93,247,47,251,154,16,101,88) +IMAGE_DATA(12,15,90,11,10,10,252,82,22,175,71,202,202,202,228,182,55,60,29,139,14,89,36,166,188,144,41,238,217,125,208,109) +IMAGE_DATA(92,47,255,201,147,102,105,78,66,116,166,91,129,209,139,95,184,96,149,52,103,68,188,239,248,13,235,115,32,162,87,150) +IMAGE_DATA(24,211,103,145,152,183,255,176,207,254,191,156,148,41,226,248,199,203,214,67,77,77,141,207,120,140,29,142,91,44,22,143) +IMAGE_DATA(49,127,174,159,175,120,58,254,160,240,190,248,127,47,249,127,47,42,60,75,254,228,167,98,35,40,6,77,250,224,213,223) +IMAGE_DATA(132,172,175,68,110,44,252,13,45,247,202,111,179,217,96,217,210,117,48,97,204,34,113,72,196,66,49,42,36,75,28,26) +IMAGE_DATA(149,41,190,54,33,75,220,150,179,175,65,249,55,174,223,9,18,167,70,30,77,159,182,84,228,31,28,245,197,143,243,98) +IMAGE_DATA(159,91,40,166,167,126,34,22,30,63,9,118,187,29,74,74,174,193,242,236,245,82,63,181,133,223,27,130,127,242,107,139) +IMAGE_DATA(69,246,44,136,149,53,171,114,100,91,201,195,50,61,222,44,234,131,95,75,172,86,171,108,11,31,194,247,155,255,194,133) +IMAGE_DATA(75,178,173,225,177,247,127,253,127,153,178,68,190,254,115,223,93,121,95,249,51,230,172,148,185,95,25,153,41,58,28,14) +IMAGE_DATA(213,185,245,205,63,103,246,167,50,247,216,228,133,34,230,129,150,212,39,255,172,55,151,201,220,19,199,46,18,177,54,121) +IMAGE_DATA(147,250,226,95,241,201,38,96,215,93,85,85,165,11,87,95,252,201,195,51,229,181,31,61,82,168,27,87,95,252,131,250) +IMAGE_DATA(214,213,59,167,211,121,223,249,89,172,47,242,168,240,251,43,143,10,255,131,142,255,227,206,239,175,52,246,253,247,131,226) +IMAGE_DATA(127,92,245,255,193,207,32,156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_END_DATA(2944, 16) IMAGE_BEGIN_DATA IMAGE_DATA(120,156,237,221,249,127,85,69,158,255,113,230,63,152,191,195,63,224,251,3,191,143,218,155,45,96,198,182,219,118,68,36) diff --git a/uppsrc/ide/ide.lay b/uppsrc/ide/ide.lay index 79d4ae935..0243d5dc7 100644 --- a/uppsrc/ide/ide.lay +++ b/uppsrc/ide/ide.lay @@ -819,3 +819,11 @@ LAYOUT(GoToLineLayout, 260, 88) ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(8, 64).BottomPosZ(8, 24)) END_LAYOUT +LAYOUT(MacroManagerLayout, 708, 388) + ITEM(Splitter, splitter, HSizePosZ(4, 4).VSizePosZ(4, 36)) + ITEM(Button, editButton, SetLabel(t_("Edit")).LeftPosZ(4, 68).BottomPosZ(4, 24)) + ITEM(Button, importButton, SetLabel(t_("Import")).LeftPosZ(76, 68).BottomPosZ(4, 24)) + ITEM(Button, exportButton, SetLabel(t_("Export")).LeftPosZ(148, 72).BottomPosZ(4, 24)) + ITEM(Button, closeButton, SetLabel(t_("Close")).RightPosZ(4, 72).BottomPosZ(4, 24)) +END_LAYOUT + diff --git a/uppsrc/ide/ide.upp b/uppsrc/ide/ide.upp index 067017220..2d926a2b2 100644 --- a/uppsrc/ide/ide.upp +++ b/uppsrc/ide/ide.upp @@ -81,6 +81,7 @@ file Xml.cpp, Json.cpp, Update.cpp, + MacroManager.cpp, Compile readonly separator, MethodsCtrls.h, MethodsCtrls.cpp, diff --git a/uppsrc/ide/idebar.cpp b/uppsrc/ide/idebar.cpp index 05dd7a7f0..898a61c66 100644 --- a/uppsrc/ide/idebar.cpp +++ b/uppsrc/ide/idebar.cpp @@ -356,6 +356,7 @@ void Ide::Setup(Bar& menu) .Help("Edit key bindings"); menu.Add("Build methods..", THISBACK(SetupBuildMethods)) .Help("Setup build methods"); + menu.Add("Macro Manager..", THISBACK(DoMacroManager)); #ifdef PLATFORM_WIN32 menu.Add("Automatic build methods setup..", callback(InstantSetup)) .Help("Setups/fixes build methods and basic assemblies..");