diff --git a/uppsrc/Core/src.tpp/LazyUpdate$en-us.tpp b/uppsrc/Core/src.tpp/LazyUpdate$en-us.tpp index 9702b489b..d914dd088 100644 --- a/uppsrc/Core/src.tpp/LazyUpdate$en-us.tpp +++ b/uppsrc/Core/src.tpp/LazyUpdate$en-us.tpp @@ -1,4 +1,4 @@ -topic "class LazyUpdate"; +topic "LazyUpdate"; [2 $$0,0#00000000000000000000000000000000:Default] [i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] [l288;2 $$2,0#27521748481378242620020725143825:desc] diff --git a/uppsrc/CtrlLib/Ctrl.iml b/uppsrc/CtrlLib/Ctrl.iml index 5d792fdfa..def28b06c 100644 --- a/uppsrc/CtrlLib/Ctrl.iml +++ b/uppsrc/CtrlLib/Ctrl.iml @@ -107,24 +107,24 @@ IMAGE_ID(SortUp) IMAGE_ID(SortDown) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,154,11,110,196,32,12,68,125,148,189,64,165,30,49,71,219,155,165,162,249,148,82,2,54,193,216,52,51,146) -IMAGE_DATA(165,86,221,45,111,50,94,2,100,233,69,47,138,180,146,189,172,25,86,67,134,53,169,39,50,164,227,143,102,200,141,255) -IMAGE_DATA(52,134,171,241,71,49,148,198,31,193,224,37,255,244,231,145,227,167,44,150,243,242,211,199,135,32,8,130,32,8,210,209) -IMAGE_DATA(39,125,88,35,64,16,228,88,203,66,235,81,214,44,82,5,230,117,221,234,253,126,79,181,169,139,217,83,15,203,178,184) -IMAGE_DATA(247,145,227,15,69,59,191,103,15,87,236,105,6,94,61,148,248,189,103,80,99,247,158,1,135,223,107,6,92,118,175,25) -IMAGE_DATA(164,252,209,156,255,93,225,119,175,25,228,174,61,101,14,166,189,102,208,194,239,37,131,210,189,170,198,239,33,131,59,252) -IMAGE_DATA(214,25,148,230,28,46,191,101,6,37,254,125,205,124,86,205,235,104,254,218,124,95,155,63,173,51,224,220,175,168,210,59) -IMAGE_DATA(86,25,112,239,181,71,15,121,91,23,113,249,15,166,82,239,140,206,64,178,206,57,152,184,175,29,145,129,148,95,90,154) -IMAGE_DATA(252,82,246,120,14,226,246,144,102,6,45,189,67,130,57,72,51,131,150,190,105,229,215,200,160,133,191,165,127,180,50,208) -IMAGE_DATA(254,220,150,248,123,120,24,201,159,246,207,76,25,228,216,123,127,142,41,179,54,238,89,41,187,206,189,224,239,24,90,213) -IMAGE_DATA(155,125,164,7,45,118,8,130,32,232,31,8,95,230,128,32,40,167,25,23,152,49,223,182,113,207,43,252,205,147,23,14) -IMAGE_DATA(51,199,139,21,123,11,247,149,143,209,236,53,166,112,126,21,87,205,43,109,155,97,115,246,141,37,95,245,247,233,122,224) -IMAGE_DATA(176,223,225,215,244,32,233,247,150,254,249,253,222,254,30,184,215,190,135,104,63,20,234,201,222,99,174,225,170,247,151,231) -IMAGE_DATA(36,215,254,170,247,185,253,255,243,127,108,248,75,62,90,248,251,28,70,131,31,252,247,248,165,243,207,29,126,157,7,98) -IMAGE_DATA(178,12,238,240,199,236,61,249,37,25,180,242,107,61,76,58,60,180,112,75,124,104,177,71,226,93,200,6,165,236,138,251) -IMAGE_DATA(130,153,217,79,15,189,246,95,6,236,167,135,86,31,241,195,122,203,51,138,125,188,179,106,231,15,241,107,189,156,175,36) -IMAGE_DATA(227,95,122,185,98,246,118,158,18,123,225,240,91,115,231,84,227,183,230,19,104,118,254,160,217,249,131,102,231,79,231,169) -IMAGE_DATA(41,53,59,63,4,65,16,228,67,95,214,84,170,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_DATA(120,156,237,154,235,109,195,48,12,132,57,74,22,40,208,17,61,154,55,83,161,250,81,85,213,131,164,69,145,74,121,0) +IMAGE_DATA(127,4,77,202,239,124,140,108,203,129,23,188,192,152,130,129,254,154,12,1,116,25,2,232,50,228,253,103,51,148,250,207) +IMAGE_DATA(100,168,245,159,197,208,234,63,131,161,215,95,154,193,106,254,179,251,215,94,207,232,159,191,182,178,38,255,215,254,46,151) +IMAGE_DATA(203,229,114,185,222,85,159,240,161,141,224,114,185,12,107,219,32,92,165,205,66,85,100,14,225,168,125,223,151,186,169,74) +IMAGE_DATA(217,115,15,219,182,153,247,81,226,143,5,39,191,101,15,53,246,60,3,171,30,90,252,214,51,232,177,91,207,0,195,111) +IMAGE_DATA(53,3,44,187,213,12,114,254,100,205,255,174,248,218,106,6,165,99,15,133,141,97,171,25,112,248,173,100,208,58,87,245) +IMAGE_DATA(248,45,100,240,132,95,59,131,214,154,131,229,215,204,160,197,127,94,51,223,213,243,58,155,191,183,222,247,214,79,237,12) +IMAGE_DATA(48,231,43,232,204,142,86,6,216,115,237,53,67,214,174,139,176,252,23,83,107,118,102,103,64,185,206,185,152,176,239,157) +IMAGE_DATA(145,1,149,159,90,146,252,84,246,116,13,194,206,144,100,6,156,217,1,194,26,36,153,1,103,110,184,252,18,25,112,248) +IMAGE_DATA(57,243,35,149,129,244,247,182,197,63,194,195,76,254,124,126,86,202,160,196,62,250,123,12,133,107,227,145,149,179,203,156) +IMAGE_DATA(11,254,246,144,170,209,236,51,61,72,177,187,92,46,151,235,13,228,63,230,112,185,92,37,173,120,129,153,242,29,55,238) +IMAGE_DATA(101,197,191,89,242,130,97,198,120,209,98,231,112,215,124,204,102,239,49,197,253,171,180,122,94,225,184,25,86,103,63,88) +IMAGE_DATA(202,213,255,156,172,7,12,251,19,126,73,15,148,121,231,204,207,239,207,142,247,128,61,246,35,4,231,166,208,72,246,17) +IMAGE_DATA(107,13,86,163,127,60,71,57,246,181,217,199,206,255,207,255,209,225,111,249,224,240,143,217,140,118,126,231,127,198,79,93) +IMAGE_DATA(127,158,240,203,60,16,163,101,240,132,63,101,31,201,79,201,128,203,47,245,48,233,242,192,225,166,248,144,98,79,132,59) +IMAGE_DATA(144,12,229,236,130,247,5,43,179,223,30,70,221,127,41,176,223,30,184,62,210,135,245,154,123,20,103,191,187,122,251,15) +IMAGE_DATA(233,123,173,236,175,100,253,171,94,106,204,214,246,83,82,47,24,126,109,238,146,122,252,218,124,4,173,206,31,181,58,127) +IMAGE_DATA(212,234,252,249,58,181,164,86,231,119,185,92,46,151,13,125,1,116,80,178,133,0,0,0,0,0,0,0,0,0,0,0) IMAGE_END_DATA(576, 3) IMAGE_BEGIN_DATA diff --git a/uppsrc/CtrlLib/Help.cpp b/uppsrc/CtrlLib/Help.cpp index e46cd384b..4eed428b8 100644 --- a/uppsrc/CtrlLib/Help.cpp +++ b/uppsrc/CtrlLib/Help.cpp @@ -171,7 +171,8 @@ void HelpWindow::SortTree(int id, int (*cmp)(const Value& k1, const Value& v1, void HelpWindow::FinishTree() { - tree.FindSetCursor(topic); + if(!tree.FindSetCursor(topic)) + CurrentOrHome(); } void HelpWindow::OpenDeep(int id) @@ -179,6 +180,55 @@ void HelpWindow::OpenDeep(int id) tree.OpenDeep(id); } +void HelpWindow::Ids(int pid, Vector& r) +{ + int n = tree.GetChildCount(pid); + for(int i = 0; i < n; i++) { + int id = tree.GetChild(pid, i); + if(!IsNull(tree.GetValue(id))) { + r.Add(id); + Ids(id, r); + } + } +} + +Vector HelpWindow::Ids() +{ + Vector r; + Ids(0, r); + return r; +} + +bool HelpWindow::PrevNext(int d, bool allowempty) +{ + Vector r = Ids(); + int id = tree.GetCursor(); + if(id < 0) + return false; + int ii = FindIndex(r, id); + if(ii < 0) + return false; + for(;;) { + ii += d; + if(ii >= r.GetCount() || ii < 0) + return false; + if(!IsNull(tree.Get(r[ii])) || allowempty) { + tree.SetCursor(r[ii]); + return true; + } + } +} + +bool HelpWindow::Next(bool allowempty) +{ + return PrevNext(1, allowempty); +} + +bool HelpWindow::Prev(bool allowempty) +{ + return PrevNext(-1, allowempty); +} + void HelpWindow::Serialize(Stream& s) { s % zoom.m; @@ -195,8 +245,8 @@ void HelpWindow::TreeCursor() void HelpWindow::CurrentOrHome() { - if(~tree != current_link) { - if(tree.FindSetCursor(current_link)) + if(~tree != current_link || IsNull(current_link)) { + if(!IsNull(current_link) && tree.FindSetCursor(current_link)) return; for(int i = 0; i < tree.GetLineCount(); i++) { Value k = tree.Get(tree.GetItemAtLine(i)); @@ -206,6 +256,42 @@ void HelpWindow::CurrentOrHome() } } +Vector HelpWindow::ScPositions(const Vector& p) +{ + Vector r; + for(int i = 0; i < p.GetCount(); i++) { + int y = max(0, view.GetZoom() * view.Get().GetCaret(p[i], view.GetPage()).top - GetSize().cy / 2); + int ii = FindLowerBound(r, y); + if(ii == r.GetCount() || r[ii] != y) + r.Insert(ii, y); + } + return r; +} + +bool HelpWindow::Up(const Vector& poslist) +{ + int q = view.GetSb(); + Vector p = ScPositions(poslist); + for(int i = p.GetCount() - 1; i >= 0; i--) + if(p[i] < q) { + view.SetSb(p[i]); + return view.GetSb() != q; + } + return false; +} + +bool HelpWindow::Down(const Vector& poslist) +{ + int q = view.GetSb(); + Vector p = ScPositions(poslist); + for(int i = 0; i < p.GetCount(); i++) + if(p[i] > q) { + view.SetSb(p[i]); + return view.GetSb() != q; + } + return false; +} + HelpWindow::HelpWindow() { tree_view.Horz(tree, view); diff --git a/uppsrc/CtrlLib/RichText.h b/uppsrc/CtrlLib/RichText.h index 6fe719c90..885baef19 100644 --- a/uppsrc/CtrlLib/RichText.h +++ b/uppsrc/CtrlLib/RichText.h @@ -31,11 +31,9 @@ private: void EndSizeTracking(); void SetSb(); void Scroll(); - Zoom GetZoom() const; int GetPageCx(bool reduced = false) const; int GetPointPos(Point p) const; String GetLink(int pos, Point p) const; - Rect GetPage() const; void RefreshSel(); void RefreshRange(int a, int b); @@ -61,6 +59,8 @@ public: int GetSb() const { return sb; } void SetSb(int i) { sb = i; } int GetSbTotal() const { return sb.GetTotal(); } + Zoom GetZoom() const; + Rect GetPage() const; void GotoLabel(const String& lbl, bool highlight = false); void ClearHighlight() { highlight = Null; Refresh(); } @@ -177,6 +177,10 @@ private: void SetZoom(); void Print(); Pos GetPos(); + Vector ScPositions(const Vector& p); + void Ids(int pid, Vector& r); + Vector Ids(); + bool PrevNext(int d, bool allowempty); public: virtual Topic AcquireTopic(const String& topic); @@ -198,6 +202,10 @@ public: void OpenDeep(int id = 0); void CurrentOrHome(); void ClearCurrentLink() { current_link.Clear(); } + bool Up(const Vector& poslist); + bool Down(const Vector& poslist); + bool Next(bool allowempty = false); + bool Prev(bool allowempty = false); String GetCurrent() const { return topic; } String GetCurrentLabel() const { return label; } diff --git a/uppsrc/ide/Help.cpp b/uppsrc/ide/Help.cpp index 5a5bdf518..250b1c578 100644 --- a/uppsrc/ide/Help.cpp +++ b/uppsrc/ide/Help.cpp @@ -332,9 +332,11 @@ struct HighlightWords : RichText::Iterator { void TopicCtrl::FinishText(RichText& text) { + spos.Clear(); if(!showwords) return; Vector ss = Split((String)~search, ' '); + if(ss.GetCount() == 0) return; HighlightWords hw; @@ -345,8 +347,10 @@ void TopicCtrl::FinishText(RichText& text) fi.paravalid = 0; fi.paper = SColorHighlight(); fi.ink = SColorHighlightText(); - for(int i = 0; i < hw.pos.GetCount(); i++) + for(int i = 0; i < hw.pos.GetCount(); i++) { text.ApplyFormatInfo(hw.pos[i].pos, fi, hw.pos[i].len); + spos.Add(hw.pos[i].pos); + } } void TopicCtrl::OpenTopic() @@ -489,6 +493,18 @@ void TopicCtrl::FocusSearch() search.SetFocus(); } +void TopicCtrl::Prev() +{ + if(!Up(spos)) + HelpWindow::Prev(); +} + +void TopicCtrl::Next() +{ + if(!Down(spos)) + HelpWindow::Next(); +} + void TopicCtrl::BarEx(Bar& bar) { bar.Gap(); @@ -497,6 +513,9 @@ void TopicCtrl::BarEx(Bar& bar) .Check(all); bar.Gap(HorzLayoutZoom(30)); bar.Add(search, HorzLayoutZoom(300)); + bar.Add(search.GetLength(), "Prev", IdeImg::GoPrev(), THISBACK(Prev)); + bar.Add(search.GetLength(), "Next", IdeImg::GoNext(), THISBACK(Next)); + bar.AddKey(K_CTRL_F, THISBACK(FocusSearch)); /* bar.Add("Highlight search keywords in topic", IdeImg::ShowWords(), THISBACK(ShowWords)) .Check(showwords);*/ diff --git a/uppsrc/ide/icon.ico b/uppsrc/ide/icon.ico index 8f0b1898d..62026e85c 100644 Binary files a/uppsrc/ide/icon.ico and b/uppsrc/ide/icon.ico differ diff --git a/uppsrc/ide/ide.h b/uppsrc/ide/ide.h index c0c5e6885..0cf841190 100644 --- a/uppsrc/ide/ide.h +++ b/uppsrc/ide/ide.h @@ -179,7 +179,8 @@ private: bool showwords, all; VectorMap > > map; - Index lang_list; + Index lang_list; + Vector spos; static Index idelink; @@ -193,6 +194,8 @@ private: Index& lang_list); void LoadMap(); void FocusSearch(); + void Prev(); + void Next(); public: Callback WhenTopic; diff --git a/uppsrc/ide/ide.iml b/uppsrc/ide/ide.iml index 2f16920eb..ec66cf981 100644 --- a/uppsrc/ide/ide.iml +++ b/uppsrc/ide/ide.iml @@ -73,6 +73,8 @@ IMAGE_ID(svn_dir) IMAGE_ID(Diff) IMAGE_ID(SvnDiff) IMAGE_ID(Patch) +IMAGE_ID(GoPrev) +IMAGE_ID(GoNext) IMAGE_BEGIN_DATA IMAGE_DATA(120,156,237,152,77,210,155,48,12,134,125,129,206,124,187,206,116,213,235,244,84,229,68,61,67,206,145,35,116,217,46,187) @@ -2191,35 +2193,38 @@ IMAGE_DATA(88,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,0,0) IMAGE_END_DATA(5664, 21) IMAGE_BEGIN_DATA -IMAGE_DATA(120,156,237,152,79,72,20,81,28,199,191,41,91,254,201,88,21,130,194,204,46,74,22,27,180,30,178,14,42,69,18,185) -IMAGE_DATA(221,2,69,8,202,127,171,216,138,30,76,17,115,49,20,133,22,188,181,130,130,151,12,246,26,29,58,181,144,183,57,8) -IMAGE_DATA(118,242,182,122,241,80,151,200,131,158,166,247,102,118,118,223,236,190,55,111,118,102,183,77,241,183,124,97,231,241,251,252) -IMAGE_DATA(126,239,253,102,126,63,118,7,94,120,145,79,27,95,222,84,157,136,229,85,21,38,197,98,49,213,202,184,252,1,209,18) -IMAGE_DATA(209,120,154,159,155,155,75,201,184,230,242,148,237,33,106,54,243,57,229,167,185,59,178,121,222,30,184,249,105,238,13,135) -IMAGE_DATA(231,95,74,242,116,31,219,14,206,223,140,180,54,28,228,239,208,243,106,252,65,54,159,185,143,44,126,155,169,159,211,251) -IMAGE_DATA(223,145,140,161,58,188,255,205,201,51,56,201,191,193,212,159,147,63,179,14,153,188,155,254,113,101,249,30,6,196,84,135) -IMAGE_DATA(74,241,185,26,143,71,242,67,205,239,247,11,101,135,119,155,95,247,9,167,100,135,119,123,126,195,172,206,253,47,242,59) -IMAGE_DATA(225,93,62,63,153,38,138,111,215,220,240,34,95,187,49,220,242,185,217,197,252,15,131,98,219,83,11,241,253,91,90,210) -IMAGE_DATA(242,251,117,89,249,27,62,172,78,179,127,110,245,44,17,172,255,255,118,10,155,33,6,254,228,140,9,252,85,223,236,172) -IMAGE_DATA(210,31,141,42,109,11,11,138,55,20,82,74,135,134,20,136,39,143,74,125,63,199,227,202,235,245,117,229,54,97,203,70) -IMAGE_DATA(70,44,253,219,23,23,53,223,174,72,68,105,154,158,86,202,37,254,213,100,15,119,72,220,155,51,51,202,149,137,9,229) -IMAGE_DATA(252,240,176,165,191,39,24,84,40,83,51,54,166,84,142,142,74,247,143,193,65,205,135,170,132,250,146,107,11,255,92,235) -IMAGE_DATA(121,114,205,139,75,220,245,235,192,175,126,122,227,137,2,250,225,95,2,253,253,186,124,62,89,220,103,132,87,233,79,6) -IMAGE_DATA(162,239,41,126,103,7,216,221,5,246,246,128,104,20,168,170,202,141,167,86,93,13,132,66,192,225,33,176,185,41,226,75) -IMAGE_DATA(129,213,10,224,35,85,25,17,89,106,51,123,180,182,2,251,251,192,252,188,105,185,4,30,212,226,6,206,217,153,112,107) -IMAGE_DATA(107,64,34,1,212,213,165,150,30,97,26,43,100,191,173,24,144,243,181,181,250,17,27,27,181,203,0,150,17,193,177,198) -IMAGE_DATA(191,199,17,30,98,82,204,118,118,2,189,189,58,31,12,18,56,128,91,232,194,3,4,53,254,46,122,208,132,199,98,126) -IMAGE_DATA(146,196,62,58,210,249,227,99,96,105,73,91,190,76,40,202,87,160,70,190,255,129,1,157,159,154,74,45,121,113,13,111) -IMAGE_DATA(145,64,55,214,228,124,9,169,113,67,3,224,241,152,150,159,224,29,194,216,71,3,238,103,0,237,40,47,223,68,101,165) -IMAGE_DATA(174,210,210,85,97,232,23,248,68,170,249,135,220,245,49,148,167,38,254,43,108,109,165,223,70,4,2,63,133,252,5,84) -IMAGE_DATA(225,57,62,96,14,123,152,193,46,222,224,71,78,188,97,87,225,195,61,244,105,162,124,87,151,138,190,62,93,245,245,102) -IMAGE_DATA(254,172,25,229,205,24,14,67,165,202,206,34,111,70,202,25,127,228,141,56,233,88,242,102,100,25,54,142,221,102,100,57) -IMAGE_DATA(51,111,175,25,197,60,53,123,205,200,158,193,92,199,179,102,52,249,22,224,5,138,27,147,252,73,14,75,4,53,145,72) -IMAGE_DATA(112,101,240,145,149,111,92,21,130,103,175,89,158,126,151,241,188,88,108,254,204,24,44,47,175,99,90,133,200,159,143,243) -IMAGE_DATA(103,231,22,215,63,253,108,100,243,116,45,30,143,11,121,186,254,229,235,111,225,254,41,43,226,13,150,229,93,62,191,197) -IMAGE_DATA(181,147,52,12,188,221,94,75,65,210,204,154,143,224,83,8,158,189,54,241,144,243,188,88,166,252,16,243,178,58,154,84) -IMAGE_DATA(128,252,249,56,63,111,24,8,235,15,49,15,102,24,112,121,232,111,127,69,251,103,135,65,22,143,244,155,99,131,119,249) -IMAGE_DATA(252,22,215,78,210,48,8,75,4,73,51,83,31,85,160,66,240,236,53,203,195,6,207,139,197,230,207,140,193,242,178,58) -IMAGE_DATA(178,42,68,254,124,156,159,55,12,68,245,135,5,15,102,24,240,120,109,61,28,22,238,159,29,6,153,124,138,101,120,151) -IMAGE_DATA(207,111,81,237,47,216,243,53,46,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(992, 9) +IMAGE_DATA(120,156,237,154,79,72,20,81,28,199,191,41,91,174,102,172,10,65,97,101,151,34,11,131,214,67,214,193,164,72,34,183) +IMAGE_DATA(91,80,4,65,249,111,141,82,244,96,138,152,139,97,40,36,116,107,3,3,47,109,176,215,232,208,169,133,188,205,65,176) +IMAGE_DATA(147,183,213,75,135,186,68,29,244,52,189,55,227,204,190,217,125,111,222,204,188,89,77,241,55,124,193,247,248,125,126,191) +IMAGE_DATA(247,126,51,239,199,238,172,136,33,134,48,109,120,46,163,7,17,203,235,58,28,202,102,179,186,155,113,249,31,68,179,68) +IMAGE_DATA(195,5,126,106,106,202,150,53,230,242,148,189,79,212,236,228,125,229,167,185,59,74,121,222,26,184,249,105,238,197,128,251) +IMAGE_DATA(159,221,226,233,58,150,3,236,191,25,5,45,6,200,223,97,230,53,248,31,165,124,241,58,74,248,101,166,126,65,239,127) +IMAGE_DATA(199,86,12,61,224,253,111,222,218,67,144,252,139,76,253,57,249,139,235,80,204,171,156,31,37,11,187,25,16,211,3,202) +IMAGE_DATA(230,253,26,143,199,214,69,45,30,143,11,229,133,87,205,111,250,164,108,121,225,85,247,111,153,219,190,183,35,127,16,94) +IMAGE_DATA(241,249,41,54,81,124,175,166,194,139,124,189,198,80,229,253,217,225,240,155,193,78,219,109,23,241,253,91,91,11,138,199) +IMAGE_DATA(77,185,249,91,62,172,246,178,191,191,122,86,8,230,255,127,219,131,135,33,11,126,231,204,10,252,245,150,201,73,173,39) +IMAGE_DATA(157,214,218,103,102,180,216,224,160,86,217,223,175,65,220,121,116,234,251,41,151,211,158,189,127,175,93,32,108,213,147,39) +IMAGE_DATA(174,254,215,94,189,50,124,187,230,231,181,179,227,227,90,84,226,95,71,214,112,145,196,61,55,49,161,29,27,25,209,14) +IMAGE_DATA(14,12,184,250,71,146,73,141,50,245,67,67,90,205,211,167,210,245,163,175,207,240,161,170,160,190,100,236,226,239,183,158) +IMAGE_DATA(187,215,98,56,194,157,63,5,252,234,161,55,158,40,97,110,254,17,208,211,99,170,165,69,22,247,14,225,117,250,145,129) +IMAGE_DATA(232,155,205,175,172,0,171,171,192,218,26,144,78,3,181,181,254,120,106,117,117,192,224,32,240,247,47,144,201,136,248,74) +IMAGE_DATA(224,93,53,240,129,170,138,136,76,181,59,61,218,218,128,245,117,96,122,218,49,93,129,8,26,112,26,7,188,116,184,133) +IMAGE_DATA(5,32,159,7,26,27,237,169,27,24,199,27,178,222,54,244,202,249,134,6,115,139,103,206,24,195,4,230,48,143,77,131) +IMAGE_DATA(127,141,13,92,199,168,152,237,236,4,30,60,48,249,100,146,192,9,156,71,23,174,34,105,240,151,112,31,103,113,83,204) +IMAGE_DATA(143,146,216,27,27,38,191,185,9,204,206,26,211,71,9,69,249,106,212,203,215,223,219,107,242,99,99,246,84,12,39,240) +IMAGE_DATA(2,121,220,195,130,156,175,32,53,110,106,2,34,17,199,244,45,188,68,10,235,104,194,149,34,224,26,162,209,12,106,106) +IMAGE_DATA(76,85,86,190,19,134,126,136,143,164,154,127,200,93,31,66,212,238,248,143,177,180,84,120,27,145,72,252,20,242,135,80) +IMAGE_DATA(139,187,120,139,41,172,97,2,171,120,142,239,190,120,203,142,163,5,151,209,109,136,242,93,93,58,186,187,77,157,60,233) +IMAGE_DATA(228,247,15,163,252,48,166,82,208,169,74,179,200,15,35,229,172,47,242,86,156,66,44,249,97,100,25,54,142,215,195,200) +IMAGE_DATA(114,78,222,219,97,20,243,212,188,29,70,118,15,206,58,238,31,70,135,111,25,94,160,168,152,228,75,114,74,34,232,249) +IMAGE_DATA(124,158,43,139,159,127,243,149,171,114,240,236,152,229,233,223,50,158,23,139,205,95,28,131,229,229,117,44,168,28,249,195) +IMAGE_DATA(216,127,105,110,113,253,11,207,70,41,79,231,114,185,156,144,167,243,159,191,252,22,174,159,178,34,222,98,89,94,241,249) +IMAGE_DATA(221,89,219,77,205,32,118,47,230,42,72,14,179,225,35,184,202,193,179,99,7,15,57,207,139,229,200,15,49,47,171,163) +IMAGE_DATA(67,101,200,31,198,254,121,205,64,88,127,136,121,48,205,128,203,195,124,251,43,90,63,219,12,74,120,20,222,28,91,188) +IMAGE_DATA(226,243,187,179,182,155,154,65,74,34,72,14,51,245,209,5,42,7,207,142,89,30,30,120,94,44,54,127,113,12,150,151) +IMAGE_DATA(213,145,85,57,242,135,177,127,94,51,16,213,31,46,60,152,102,192,227,141,249,84,74,184,126,182,25,20,243,54,203,240) +IMAGE_DATA(138,207,239,206,218,54,54,3,213,205,170,240,188,223,243,182,139,55,89,157,253,184,186,109,188,205,90,151,207,24,42,124) +IMAGE_DATA(9,235,51,134,10,47,100,61,198,80,225,13,214,110,18,18,113,98,248,106,230,30,234,232,221,254,147,127,186,112,240,10) +IMAGE_DATA(63,216,219,49,140,155,229,114,9,110,68,88,188,107,12,15,108,24,60,55,134,15,54,12,222,17,35,0,27,6,111,196) +IMAGE_DATA(80,96,195,224,161,200,134,193,75,237,31,151,244,188,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +IMAGE_END_DATA(1088, 11)