Thread: SVN Commit by andreas: r4785 - in branches/REL-1_4_0_PATCHES/pgadmin3: . src/ctl src/include/images
SVN Commit by andreas: r4785 - in branches/REL-1_4_0_PATCHES/pgadmin3: . src/ctl src/include/images
From
svn@pgadmin.org
Date:
Author: andreas Date: 2005-12-02 12:35:49 +0000 (Fri, 02 Dec 2005) New Revision: 4785 Modified: branches/REL-1_4_0_PATCHES/pgadmin3/CHANGELOG.txt branches/REL-1_4_0_PATCHES/pgadmin3/src/ctl/explainShape.cpp branches/REL-1_4_0_PATCHES/pgadmin3/src/include/images/ex_scan.xpm Log: Graphical explain: distinct scan images Modified: branches/REL-1_4_0_PATCHES/pgadmin3/CHANGELOG.txt =================================================================== --- branches/REL-1_4_0_PATCHES/pgadmin3/CHANGELOG.txt 2005-12-02 10:06:55 UTC (rev 4784) +++ branches/REL-1_4_0_PATCHES/pgadmin3/CHANGELOG.txt 2005-12-02 12:35:49 UTC (rev 4785) @@ -20,6 +20,7 @@ <ul> <li>2005-12-02 DP 1.4.1 Drop constraints on columns before the columns themselves [Miha Radej] <li>2005-12-01 AP 1.4.1 Deal with incompatible wx2.6.2 API changes (comboboxes) + <li>2005-11-30 AP 1.4.1 Graphical explain: distinct scan images <li>2005-11-25 DP 1.4.1 Fix the server status SQL query <li>2005-11-25 FGP 1.4.1 Include pg_dump/pg_restore in the Mac OSX bundle <li>2005-11-20 DP 1.4.1 Use a proper 'Save As' style dialogue for selecting backup files Modified: branches/REL-1_4_0_PATCHES/pgadmin3/src/ctl/explainShape.cpp =================================================================== --- branches/REL-1_4_0_PATCHES/pgadmin3/src/ctl/explainShape.cpp 2005-12-02 10:06:55 UTC (rev 4784) +++ branches/REL-1_4_0_PATCHES/pgadmin3/src/ctl/explainShape.cpp 2005-12-02 12:35:49 UTC (rev 4785) @@ -32,6 +32,10 @@ #include "images/ex_join.xpm" #include "images/ex_aggregate.xpm" #include "images/ex_scan.xpm" +#include "images/ex_index_scan.xpm" +#include "images/ex_tid_scan.xpm" +#include "images/ex_bmp_index.xpm" +#include "images/ex_bmp_heap.xpm" #include "images/ex_sort.xpm" #include "images/ex_group.xpm" #include "images/ex_subplan.xpm" @@ -145,8 +149,11 @@ wxStringTokenizer tokens(str, wxT(" ")); wxString token = tokens.GetNextToken(); + wxString token2 = tokens.GetNextToken(); + wxString token3 = tokens.GetNextToken(); wxString descr = costPos > 0 ? str.Left(costPos) : str; + // possible keywords can be found in postgresql/src/backend/commands/explain.c if (token == wxT("Total")) return 0; else if (token == wxT("Result")) s = new ExplainShape(ex_result_xpm, descr); @@ -155,24 +162,16 @@ else if (token == wxT("Merge")) s = new ExplainShape(ex_merge_xpm, descr); else if (token == wxT("Hash")) { - token=tokens.GetNextToken(); - if (token == wxT("Join")) + if (token2 == wxT("Join")) s = new ExplainShape(ex_join_xpm, descr); else { - token=tokens.GetNextToken(); - if (token == wxT("Join")) + if (token3 == wxT("Join")) s = new ExplainShape(ex_join_xpm, descr); else s = new ExplainShape(ex_hash_xpm, descr); } } - else if (token == wxT("Seq") || token == wxT("Index") || token == wxT("Tid")) - { - token = tokens.GetNextToken(); - if (token == wxT("Scan")) s = new ExplainShape(ex_scan_xpm, descr, 3, 2); - else if (token == wxT("Seek")) s = new ExplainShape(ex_seek_xpm, descr, 3, 2); - } else if (token == wxT("Subquery")) s = new ExplainShape(ex_subplan_xpm, descr, 0, 2); else if (token == wxT("Function")) s = new ExplainShape(ex_result_xpm, descr, 0, 2); else if (token == wxT("Materialize")) s = new ExplainShape(ex_materialize_xpm, descr); @@ -186,6 +185,19 @@ else if (token == wxT("Limit")) s = new ExplainShape(ex_limit_xpm, descr); + else if (token == wxT("Bitmap")) + { + if (token == wxT("Index")) s = new ExplainShape(ex_bmp_index_xpm, descr, 3, 2); + else s = new ExplainShape(ex_bmp_heap_xpm, descr, 3, 2); + } + else if (token2 == wxT("Scan")) + { + if (token == wxT("Index")) s = new ExplainShape(ex_index_scan_xpm, descr, 3, 2); + else if (token == wxT("Tid")) s = new ExplainShape(ex_tid_scan_xpm, descr, 3, 2); + else s = new ExplainShape(ex_scan_xpm, descr, 3, 2); + } + else if (token2 == wxT("Seek")) s = new ExplainShape(ex_seek_xpm, descr, 3, 2); + if (!s) s = new ExplainShape(ex_unknown_xpm, descr); Modified: branches/REL-1_4_0_PATCHES/pgadmin3/src/include/images/ex_scan.xpm =================================================================== --- branches/REL-1_4_0_PATCHES/pgadmin3/src/include/images/ex_scan.xpm 2005-12-02 10:06:55 UTC (rev 4784) +++ branches/REL-1_4_0_PATCHES/pgadmin3/src/include/images/ex_scan.xpm 2005-12-02 12:35:49 UTC (rev 4785) @@ -1,185 +1,181 @@ /* XPM */ -static char *ex_scan_xpm[] = { -/* columns rows colors chars-per-pixel */ -"50 50 129 2", -" c #44BDE9", -". c #DCC182", -"X c #E2D08E", -"o c #EADDAA", -"O c #DABB7E", -"+ c #E6D4A4", -"@ c #EEE6B3", -"# c #F0E8C2", -"$ c #EBE59E", -"% c #D6E9F5", -"& c #54C2EA", -"* c #EADDAB", -"= c #86D4F0", -"- c #E8DE99", -"; c #E8D7A6", -": c #E9E09A", -"> c #82D1ED", -", c #96D9F1", -"< c #EAD9B6", -"1 c #38B7E5", -"2 c #E2CE8C", -"3 c #E6D2A2", -"4 c #A6DEF2", -"5 c #92D6EF", -"6 c #DEC686", -"7 c #EDE5B1", -"8 c #E4CD9E", -"9 c #E6D894", -"0 c #E4CE9F", -"q c #E5D693", -"w c #CDE5F2", -"e c #75CEEF", -"r c #C5E1EF", -"t c #ECDEBA", -"y c #EFE9B4", -"u c #D1E7F2", -"i c #1BAEE3", -"p c #F0ECB7", -"a c #DEC484", -"s c #E1CC8B", -"d c #E9DAA9", -"f c #E8D7A7", -"g c #F4F0C8", -"h c #E7DA96", -"j c #7BCEED", -"k c #ECE3B0", -"l c #ECE2AF", -"z c #EFE6C0", -"x c #DCBE80", -"c c #05A7E1", -"v c #CAE3F0", -"b c #C2E0EE", -"n c #ECE1AE", -"m c #EAE39C", -"M c #8ED4EE", -"N c #E4D491", -"B c #E0C988", -"V c #E7DC97", -"C c #EFEBB6", -"Z c #EEE2BD", -"A c #ECDCB8", -"S c #BEDEED", -"D c #ADD6E9", -"F c #6BC7E8", -"G c #F2ECC5", -"H c #E1CB8A", -"J c #F1EAC4", -"K c #EDE1BC", -"L c #EFE5C0", -"P c #F3EEC7", -"I c #E0CA89", -"U c #E4D591", -"Y c #DDC383", -"T c #C7AA75", -"R c #ECE0AD", -"E c #92AED1", -"W c #E9DBAA", -"Q c #E5D0A1", -"! c #E4D390", -"~ c #EFE4BF", -"^ c #75A6C7", -"/ c #E9D9A8", -"( c #7296A1", -") c #EFE8B3", -"_ c #E6D1A2", -"` c #E6D1A1", -"' c #E3CB9E", -"] c #E6D3A3", -"[ c #E6D995", -"{ c #DFC787", -"} c #EFEAB5", -"| c #F3EDC6", -" . c #ECDDBA", -".. c #DFC888", -"X. c #EBDAB7", -"o. c #E3CC9E", -"O. c #66C8EC", -"+. c #EDDFBB", -"@. c #AFE1F3", -"#. c #CBE4F1", -"$. c #C7E3F0", -"%. c #EEE3BD", -"&. c #C0DFEE", -"*. c #6FCDEE", -"=. c #E1EFF7", -"-. c #C8E3F0", -";. c #79D0EF", -":. c #D3E8F3", -">. c #D4E9F4", -",. c #E7D6A6", -"<. c #E7D5A5", -"1. c #6AC9EC", -"2. c #6FCAEB", -"3. c #B9DBEC", -"4. c #E3D28F", -"5. c #EDE6B2", -"6. c #5FC6EB", -"7. c #F3EFC7", -"8. c #EBDFAD", -"9. c #4DC1E9", -"0. c #E5D894", -"q. c #EBDCB8", -"w. c #50BEE7", -"e. c #57C1E7", -"r. c #6696D1", -"t. c #3688C1", -"y. c #C18F36", -"u. c #D0D0D0", -"i. c None", -/* pixels */ -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.^ t.t.t.t.t.^ t.t.t.t.t.^ t.t.t.t.t.^ t.t.t.t.t.^ t.t.t.t.t.^ i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.t.*. e t.;.& & & = t.= O.1.2., t., j > > 4 t.4 M 5 5 @.t.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.t. c c c 9.t.9.i i i 6.t.6.1 1 1 2.t.j w.e.e.> t.M F F 2.5 t.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.t.*. e t.;.& & & = t.= O.1.2., t., j > > 4 t.4 M 5 5 @.t.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.( t.t.t.t.t.( t.t.t.t.t.( t.t.t.t.t.( t.t.t.t.t.( t.t.t.t.t.( i.i.i.i.i.", -"i.i.i.i.i.i.i.E r.r.E i.i.i.y.g p p p g y.g p p C g y.7.y y y | y.| @ @ @ J y.J k k k J y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.=.=.r.i.i.i.y.p $ $ $ p y.p m m m } y.y : : : ) y.@ - V V 7 y.k [ 9 q R y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.% % r.i.i.i.y.p $ $ $ p y.C m m m y y.y : : - @ y.@ V V h k y.l 0.q q R y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.% % r.i.i.i.y.p $ $ $ C y.} m m m y y.) - - - @ y.7 h h [ k y.n q U U 8.y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.% % r.i.i.i.y.g p C C 7.y.7.y y y | y.| @ @ 5.J y.J k k l # y.# R 8.8.z y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.>.>.r.i.i.i.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T i.i.i.i.i.", -"i.i.i.i.i.i.i.r.>.>.r.i.i.i.y.g } } y 7.y.P ) @ @ G y.G 7 7 k J y.J n R R # y.z * * o ~ y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.:.:.r.i.i.i.y.} m m : y y.) - - - @ y.7 h h [ l y.n q U N 8.y.* 4.X X d y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.u u r.i.i.i.y.y m : : ) y.@ - - V 7 y.k [ [ 9 n y.R U N ! * y.o X X 2 d y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.u u r.i.i.i.y.y : : : @ y.@ V V h k y.k 9 q q R y.8.! 4.4.o y.W 2 s s / y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.u u r.i.i.i.y.| ) @ @ G y.J 7 7 k J y.# n R R # y.z * o o ~ y.%.d / / K y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.w w r.i.i.i.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T i.i.i.i.i.", -"i.i.i.i.i.i.i.r.w w r.i.i.i.y.G @ @ 7 J y.J k l n # y.# 8.8.* z y.~ W d d %.y.Z f f ; +.y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.w w r.i.i.i.y.@ V V h k y.k 9 q q R y.8.! 4.4.o y.W 2 s s / y.f B ..{ + y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.#.#.r.i.i.i.y.7 h h h k y.n q q U 8.y.* 4.4.X W y.d s s H f y.,...{ 6 + y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.v v r.i.i.i.y.7 h [ 9 l y.R U N ! 8.y.o X X 2 d y./ H I B ; y.<.6 6 6 ] y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.-.-.r.i.i.i.y.J k l n # y.# 8.8.* L y.~ W d d Z y.Z f ; ,.+.y.+.+ ] ] .y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.$.$.r.i.i.i.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T i.i.i.i.i.", -"i.i.i.i.i.i.i.r.r r r.i.i.i.y.# R R 8.z y.z * o W ~ y.%./ / f K y.K <.+ + t y. .3 _ ` A y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.r r r.i.i.i.y.R U N ! * y.o X X 2 d y./ H I B ,.y.<.6 6 a ] y._ Y . . Q y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.r r r.i.i.i.y.8.! ! 4.o y.W 2 2 s / y.f B B ..<.y.+ 6 a Y 3 y.` . . x Q y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.b b r.i.i.i.y.8.4.4.X W y.d s s H f y.; ..{ { + y.] a Y Y ` y.Q . x x 0 y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.b b r.i.i.i.y.z o W W %.y.%./ / f K y.+.<.+ + t y. ._ _ ` q.y.q.Q 0 0 X.y.i.i.i.i.i.", -"i.i.i.i.i.i.i.r.&.&.r.i.i.i.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T i.i.i.i.i.", -"i.i.i.i.i.i.i.r.&.&.r.i.i.i.y.~ d d / Z y.K ; ,.<.+.y.t ] ] 3 .y.A Q Q Q X.y.X.0 8 8 < y.i.i.i.i.i.", -"i.i.i.i.i.E r.r.3.3.r.r.E i.y.d s s H f y.; ..{ 6 + y.] Y Y Y ` y.Q x x x 0 y.8 O O O o.y.i.i.i.i.i.", -"i.i.i.i.i.r.>.S D D S >.r.i.y./ H H I ; y.<.{ 6 6 ] y.3 Y . . Q y.Q x x x 0 y.8 O O O ' y.i.i.i.i.i.", -"i.i.i.i.i.E r.b D D b r.E i.y.f I B ..,.y.+ 6 6 a 3 y._ . . . Q y.0 x x O 8 y.o.O O O ' y.i.i.i.i.i.", -"i.i.i.i.i.i.E r.-.-.r.E i.i.y.K ; ,.<.+.y.t ] 3 3 .y.q.Q Q Q X.y.X.0 8 8 < y.< ' ' ' < y.i.i.i.i.i.", -"i.i.i.i.i.i.i.E r.r.E i.i.i.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T y.y.y.y.y.T i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.", -"i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i.i." -}; +static char * ex_scan_xpm[] = { +"50 50 128 2", +" c None", +". c #D1E7F2", +"+ c #1BAEE3", +"@ c #82D1ED", +"# c #EFE35F", +"$ c #7BCEED", +"% c #FEDE29", +"& c #56C3EA", +"* c #05A7E1", +"= c #92D6EF", +"- c #CAE3F0", +"; c #C2E0EE", +"> c #FEEC86", +", c #8ED4EE", +"' c #45BEE9", +") c #FADD29", +"! c #D6E9F4", +"~ c #C5E1EF", +"{ c #BEDEED", +"] c #ADD6E9", +"^ c #6BC7E8", +"/ c #D4E9F4", +"( c #41BDE9", +"_ c #F2E45F", +": c #DBBD89", +"< c #F5E55F", +"[ c #FBE65F", +"} c #F8E65F", +"| c #FEE65F", +"1 c #F7E55F", +"2 c #F9E65F", +"3 c #F6E55F", +"4 c #F1E45F", +"5 c #FAE65F", +"6 c #F4E55F", +"7 c #F0E45F", +"8 c #F0DC2A", +"9 c #F6DD2A", +"0 c #F8DD29", +"a c #FDE65F", +"b c #F2DC2A", +"c c #ECDB2A", +"d c #F1DC2A", +"e c #F9DD29", +"f c #EFE45F", +"g c #A5C1E4", +"h c #F4DC2A", +"i c #EEDB2A", +"j c #EDDB2A", +"k c #F3E45F", +"l c #F7DD2A", +"m c #F3DC2A", +"n c #EDE360", +"o c #F8EB87", +"p c #FCDE29", +"q c #EADB2A", +"r c #FCE65F", +"s c #F4EB87", +"t c #F7EB87", +"u c #E7DA2B", +"v c #E9DA2A", +"w c #FCEC86", +"x c #FAEC87", +"y c #EEE360", +"z c #EFDB2A", +"A c #FDDE29", +"B c #EBDB2A", +"C c #FDEC86", +"D c #FFE65F", +"E c #F9EB87", +"F c #F5EB87", +"G c #89B9DB", +"H c #F5DC2A", +"I c #FBDE29", +"J c #F6EB87", +"K c #7A9EA9", +"L c #FBEC86", +"M c #F8E55F", +"N c #F1EA87", +"O c #F3EB87", +"P c #F5DD2A", +"Q c #EFDC2A", +"R c #F3E55F", +"S c #E8DA2A", +"T c #E8DA2B", +"U c #F2EA87", +"V c #F3EA87", +"W c #79D0EF", +"X c #C6E2EF", +"Y c #CEE6F2", +"Z c #CBE4F1", +"` c #C0DFEE", +" . c #D3E8F3", +".. c #D4E9F3", +"+. c #C8E3F0", +"@. c #99DAF1", +"#. c #6AC9EC", +"$. c #6FCAEC", +"%. c #6FCDEE", +"&. c #E1EFF7", +"*. c #CEE5F2", +"=. c #B9DBEC", +"-. c #F9EC87", +";. c #50C2EA", +">. c #65C8EC", +",. c #89D5F0", +"'. c #83D3F0", +"). c #94D8F1", +"!. c #AFE1F3", +"~. c #D7EAF5", +"{. c #C7E3F0", +"]. c #A8DEF2", +"^. c #A4DDF1", +"/. c #CCE5F1", +"(. c #75CEEF", +"_. c #F7DD29", +":. c #55C0E7", +"<. c #59C1E7", +"[. c #5BC5EB", +"}. c #6FC8E9", +"|. c #48BFE9", +"1. c #38B7E5", +"2. c #95D7EF", +"3. c #50BEE7", +"4. c #86D1ED", +"5. c #6696D1", +"6. c #3688C1", +"7. c #C18F36", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" G 6.6.6.6.6.G 6.6.6.6.6.G 6.6.6.6.6.G 6.6.6.6.6.G 6.6.6.6.6.G ", +" 6.%.( ' ' (.6.W ;.& & '.6.,.>.#.$.).6.@.$ @ @ ^.6.]., = = !.6. ", +" 6.( * * * |.6.;.+ + + [.6.>.1.1.1.$.6.$ 3.:.<.4.6., ^ ^ }.2.6. ", +" 6.%.( ' ' (.6.W ;.& & '.6.,.>.#.$.).6.@.$ @ @ ^.6.]., = = !.6. ", +" K 6.6.6.6.6.K 6.6.6.6.6.K 6.6.6.6.6.K 6.6.6.6.6.K 6.6.6.6.6.K ", +" g 5.5.g 7.N n n n N 7.N n y y U 7.V # # f O 7.s 7 7 4 s 7.F _ _ _ J 7. ", +" 5.&.&.5. 7.n u u u n 7.y T T S # 7.# q q q 7 7.7 c c c _ 7._ i z z R 7. ", +" 5.~.~.5. 7.n u u u n 7.y S S v # 7.f q q B 7 7.4 c j j _ 7._ z Q 8 6 7. ", +" 5.! ! 5. 7.n u u T y 7.y v v v f 7.f B B B 4 7._ j j i _ 7.k 8 8 8 < 7. ", +" 5.! ! 5. 7.N y y y U 7.V # # f O 7.s 7 4 4 s 7.F _ _ _ J 7.t 6 < < o 7. ", +" 5.! ! 5. : 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: ", +" 5./ / 5. 7.U y # # V 7.O f 7 7 s 7.s 4 _ _ F 7.J k R 6 t 7.t < < 3 o 7. ", +" 5. . .5. 7.y v v v f 7.f B B c 4 7._ j i i _ 7.R 8 8 d < 7.< b m m 1 7. ", +" 5.. . 5. 7.# v q q f 7.7 B c c _ 7._ i i z k 7.6 8 d d < 7.3 m h h M 7. ", +" 5.. . 5. 7.# q q q 7 7.4 c c j _ 7._ z z Q 6 7.< d b b 3 7.1 h h H } 7. ", +" 5.. . 5. 7.O f 7 7 s 7.s _ _ _ F 7.J k 6 6 t 7.t < < 3 o 7.E M } } x 7. ", +" 5.Y Y 5. : 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: ", +" 5.*.*.5. 7.s 4 4 4 F 7.F _ _ k J 7.t < < < o 7.o 3 1 1 E 7.x } 2 2 L 7. ", +" 5././.5. 7.4 c j j _ 7._ z z 8 6 7.< d b b 3 7.1 h H P } 7.} l l 0 5 7. ", +" 5.Z Z 5. 7.4 j j i _ 7.k Q 8 8 < 7.< b m m 1 7.1 H P 9 } 7.2 0 0 0 [ 7. ", +" 5.- - 5. 7._ i i i k 7.6 8 d d < 7.< m m h 1 7.} 9 9 l 2 7.5 0 e e [ 7. ", +" 5.+.+.5. 7.F _ k k t 7.t < < < o 7.o 1 1 M -.7.x } 2 2 L 7.w [ [ [ w 7. ", +" 5.{.{.5. : 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: ", +" 5.X X 5. 7.J 6 6 < t 7.o < 3 3 E 7.E } } } x 7.x 5 5 [ w 7.w [ r r C 7. ", +" 5.~ ~ 5. 7.6 8 d d < 7.3 m h h M 7.} 9 9 l 2 7.5 e e e [ 7.r I I p a 7. ", +" 5.~ ~ 5. 7.< d b b < 7.3 h h H } 7.} l l _.5 7.[ e ) ) [ 7.r p p p | 7. ", +" 5.; ; 5. 7.< b b m 3 7.1 H P 9 } 7.2 l 0 0 [ 7.[ ) ) ) r 7.a p p A | 7. ", +" 5.; ; 5. 7.o 3 3 1 E 7.E } } } x 7.L 5 5 [ w 7.w [ r r C 7.C | | | > 7. ", +" 5.` ` 5. : 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: ", +" 5.` ` 5. 7.E 1 M } -.7.x 2 2 5 L 7.w [ [ [ C 7.C a a a > 7.> | | | > 7. ", +" g 5.5.=.=.5.5.g 7.1 H P 9 } 7.2 0 0 0 [ 7.[ ) ) I r 7.a p A A | 7.| % % % D 7. ", +" 5...{ ] ] { ..5. 7.} 9 9 9 2 7.5 0 e e [ 7.[ ) I I a 7.a A A A | 7.| % % % D 7. ", +" g 5.; ] ] ; 5.g 7.} 9 l l 5 7.5 e e ) [ 7.r I p p a 7.| A % % | 7.D % % % D 7. ", +" g 5.+.+.5.g 7.x 2 2 5 L 7.w [ [ [ C 7.C a a | > 7.> | | | > 7.> D D D > 7. ", +" g 5.5.g : 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: 7.7.7.7.7.: ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; \ No newline at end of file