2006-07-27 Eric Seidel <eric@eseidel.com>
authoreseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Jul 2006 09:22:16 +0000 (09:22 +0000)
committereseidel <eseidel@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Jul 2006 09:22:16 +0000 (09:22 +0000)
        Reviewed by ap.

        Complex entities seem to fail on TOT
        http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
        Use an alternative work-around to an XML Entity parsing bug.

        * dom/XMLTokenizer.cpp:
        (WebCore::XMLTokenizer::write):
        (WebCore::hackAroundLibXMLEntityBug): added.
        (WebCore::startElementNsHandler):
        (WebCore::endElementNsHandler):
        (WebCore::charactersHandler):
        (WebCore::processingInstructionHandler):
        (WebCore::cdataBlockHandler):
        (WebCore::commentHandler):
        (WebCore::getEntityHandler):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/parser/entity-ignorable-whitespace-expected.txt
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.checksum
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png
LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
LayoutTests/svg/W3C-SVG-1.1/render-elems-03-t-expected.checksum
LayoutTests/svg/W3C-SVG-1.1/render-elems-03-t-expected.png
LayoutTests/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt
WebCore/ChangeLog
WebCore/dom/XMLTokenizer.cpp

index eb617348659fafccd1ebca52dc12ee1dafb01052..7de9b6dd127659bbaa39ad30573c2a9392a957b0 100644 (file)
@@ -1,3 +1,22 @@
+2006-07-27  Eric Seidel  <eric@eseidel.com>
+
+        Reviewed by ap.
+        
+        Complex entities seem to fail on TOT
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
+        Updated test cases now that this bug is fixed.
+
+        * fast/parser/entity-ignorable-whitespace-expected.txt:
+        * svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
+        * svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
+        * svg/W3C-SVG-1.1/render-elems-03-t-expected.checksum:
+        * svg/W3C-SVG-1.1/render-elems-03-t-expected.png:
+        * svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
+
 2006-07-27  Rob Buis  <buis@kde.org
 
         Reviewed by Darin.
index d668692168de283c26fe937d8ced38afcda9fe8e..94e10c47147cde575521e26a29e882ef24f57ac3 100644 (file)
@@ -1 +1 @@
-5487e49727b704b6ccf178daa8921218
\ No newline at end of file
+9742a7f70e5cbd05e5e5355f9386931d
\ No newline at end of file
index 09e078136860886a393b315eda76fbd245eb9cd2..7a36cef75041bf16d1f676b7dd9de89a3480e894 100644 (file)
Binary files a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png and b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png differ
index 74b2c42b1b897c9f88775d1d44b760cb22f45ffe..1026a82b987ab2d6702027b22dff2c4ca28b7968 100644 (file)
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
-      KCanvasContainer {g} at (0,30) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
-        KCanvasContainer {g} at (0,30) size 0x0
+      KCanvasContainer {g} at (10,70) size 420x235 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
+        KCanvasContainer {g} at (10,70) size 420x235
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 38x10
               text run at (0,0) width 38: "SVG to fit"
-          KCanvasContainer {g} at (20,70) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
+          KCanvasContainer {g} at (20,70) size 30x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
+            KCanvasItem {rect} at (20,70) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+            KCanvasContainer {g} at (25,80) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+              KCanvasItem {circle} at (25,80) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+              KCanvasItem {circle} at (30.50,85.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+              KCanvasItem {circle} at (35.50,85.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+              KCanvasItem {path} at (29.38,93.22) size 11.25x6.06 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 42x10
               text run at (0,0) width 42: "Viewport 1"
-          KCanvasContainer {g} at (10,150) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+          KCanvasContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+            KCanvasItem {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 42x10
               text run at (0,0) width 42: "Viewport 2"
-          KCanvasContainer {g} at (20,220) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
-          KCanvasContainer {g} at (120,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
+          KCanvasContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
+            KCanvasItem {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+          KCanvasContainer {g} at (120,80) size 120x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
             RenderSVGText {text} at (0,0) size 465x10
               RenderText {#text} at (0,0) size 112x10
                 text run at (0,0) width 112: "---------- meet --------------------"
-            KCanvasContainer {g} at (120,80) size 0x0
+            KCanvasContainer {g} at (120,80) size 50x40
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMin*"
-              KCanvasContainer {svg} at (120,80) size 0x0
-            KCanvasContainer {g} at (190,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+              KCanvasItem {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (120,80) size 22.50x30
+                KCanvasItem {rect} at (120,80) size 22.50x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (123.75,87.50) size 15x15 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (123.75,87.50) size 15x15 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (127.88,91.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (131.62,91.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (127.03,97.41) size 8.44x4.55 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (190,80) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMid*"
-              KCanvasContainer {svg} at (203.75,80) size 0x0
-            KCanvasContainer {g} at (120,130) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+              KCanvasItem {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (203.75,80) size 22.50x30
+                KCanvasItem {rect} at (203.75,80) size 22.50x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (207.50,87.50) size 15x15 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (207.50,87.50) size 15x15 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (211.62,91.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (215.38,91.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (210.78,97.41) size 8.44x4.55 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (120,130) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "xMax*"
-              KCanvasContainer {svg} at (147.50,130) size 0x0
-          KCanvasContainer {g} at (300,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
+              KCanvasItem {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (147.50,130) size 22.50x30
+                KCanvasItem {rect} at (147.50,130) size 22.50x30 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (151.25,137.50) size 15x15 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (151.25,137.50) size 15x15 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (155.38,141.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (159.12,141.62) size 2.25x2.25 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (154.53,147.41) size 8.44x4.55 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+          KCanvasContainer {g} at (300,80) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
             RenderSVGText {text} at (0,0) size 465x10
               RenderText {#text} at (0,0) size 124x10
                 text run at (0,0) width 124: "---------- meet ------------------------"
-            KCanvasContainer {g} at (300,80) size 0x0
+            KCanvasContainer {g} at (300,80) size 30x60
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMin"
-              KCanvasContainer {svg} at (300,80) size 0x0
-            KCanvasContainer {g} at (350,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+              KCanvasItem {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (300,80) size 30x40
+                KCanvasItem {rect} at (300,80) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (305,90) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (305,90) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (310.50,95.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (315.50,95.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (309.38,103.22) size 11.25x6.06 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (350,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMid"
-              KCanvasContainer {svg} at (350,90) size 0x0
-            KCanvasContainer {g} at (400,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+              KCanvasItem {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (350,90) size 30x40
+                KCanvasItem {rect} at (350,90) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (355,100) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (355,100) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (360.50,105.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (365.50,105.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (359.38,113.22) size 11.25x6.06 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (400,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 28x10
                   text run at (0,0) width 28: "*YMax"
-              KCanvasContainer {svg} at (400,100) size 0x0
-          KCanvasContainer {g} at (120,215) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
+              KCanvasItem {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (400,100) size 30x40
+                KCanvasItem {rect} at (400,100) size 30x40 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (405,110) size 20x20 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (405,110) size 20x20 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (410.50,115.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (415.50,115.50) size 3x3 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (409.38,123.22) size 11.25x6.06 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+          KCanvasContainer {g} at (120,215) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
             RenderSVGText {text} at (0,0) size 465x10
               RenderText {#text} at (0,0) size 127x10
                 text run at (0,0) width 127: "---------- slice -------------------------"
-            KCanvasContainer {g} at (120,215) size 0x0
+            KCanvasContainer {g} at (120,215) size 30x60
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMin*"
-              KCanvasContainer {svg} at (120,215) size 0x0
-            KCanvasContainer {g} at (170,215) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
+              KCanvasItem {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (120,215) size 45x60
+                KCanvasItem {rect} at (120,215) size 45x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (127.50,230) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (127.50,230) size 30x30 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (135.75,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (143.25,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (134.06,249.83) size 16.87x9.09 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (170,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMid*"
-              KCanvasContainer {svg} at (162.50,215) size 0x0
-            KCanvasContainer {g} at (220,215) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
+              KCanvasItem {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (162.50,215) size 45x60
+                KCanvasItem {rect} at (162.50,215) size 45x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (170,230) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (170,230) size 30x30 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (178.25,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (185.75,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (176.56,249.83) size 16.87x9.09 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (220,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "xMax*"
-              KCanvasContainer {svg} at (205,215) size 0x0
-          KCanvasContainer {g} at (300,215) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
+              KCanvasItem {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
+              KCanvasContainer {svg} at (205,215) size 45x60
+                KCanvasItem {rect} at (205,215) size 45x60 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (212.50,230) size 30x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (212.50,230) size 30x30 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (220.75,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (228.25,238.25) size 4.50x4.50 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (219.06,249.83) size 16.87x9.09 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+          KCanvasContainer {g} at (300,215) size 120x90 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
             RenderSVGText {text} at (0,0) size 465x10
               RenderText {#text} at (0,0) size 115x10
                 text run at (0,0) width 115: "---------- slice ---------------------"
-            KCanvasContainer {g} at (300,215) size 0x0
+            KCanvasContainer {g} at (300,215) size 50x40
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMin"
-              KCanvasContainer {svg} at (300,215) size 0x0
-            KCanvasContainer {g} at (370,215) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
+              KCanvasItem {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (300,215) size 50x66.67
+                KCanvasItem {rect} at (300,215) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (308.33,231.67) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (308.33,231.67) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (317.50,240.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (325.83,240.83) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (315.63,253.70) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (370,215) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMid"
-              KCanvasContainer {svg} at (370,196.67) size 0x0
-            KCanvasContainer {g} at (300,265) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
+              KCanvasItem {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (370,196.67) size 50x66.67
+                KCanvasItem {rect} at (370,196.67) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (378.33,213.33) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (378.33,213.33) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (387.50,222.50) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (395.83,222.50) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (385.63,235.37) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
+            KCanvasContainer {g} at (300,265) size 50x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 28x10
                   text run at (0,0) width 28: "*YMax"
-              KCanvasContainer {svg} at (300,228.33) size 0x0
+              KCanvasItem {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
+              KCanvasContainer {svg} at (300,228.33) size 50x66.67
+                KCanvasItem {rect} at (300,228.33) size 50x66.67 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [data="M0.50,0.50L29.50,0.50L29.50,39.50L0.50,39.50"]
+                KCanvasContainer {g} at (308.33,245) size 33.33x33.33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,5.00)}]
+                  KCanvasItem {circle} at (308.33,245) size 33.33x33.33 [fill={[type=SOLID] [color=#FFFF00]}] [data="M25.00,15.00L24.98,15.63L24.92,16.25L24.82,16.87L24.69,17.49L24.51,18.09L24.30,18.68L24.05,19.26L23.76,19.82L23.44,20.36L23.09,20.88L22.71,21.37L22.29,21.85L21.85,22.29L21.37,22.71L20.88,23.09L20.36,23.44L19.82,23.76L19.26,24.05L18.68,24.30L18.09,24.51L17.49,24.69L16.87,24.82L16.25,24.92L15.63,24.98L15.00,25.00L14.37,24.98L13.75,24.92L13.13,24.82L12.51,24.69L11.91,24.51L11.32,24.30L10.74,24.05L10.18,23.76L9.64,23.44L9.12,23.09L8.63,22.71L8.15,22.29L7.71,21.85L7.29,21.37L6.91,20.88L6.56,20.36L6.24,19.82L5.95,19.26L5.70,18.68L5.49,18.09L5.31,17.49L5.18,16.87L5.08,16.25L5.02,15.63L5.00,15.00L5.02,14.37L5.08,13.75L5.18,13.13L5.31,12.51L5.49,11.91L5.70,11.32L5.95,10.74L6.24,10.18L6.56,9.64L6.91,9.12L7.29,8.63L7.71,8.15L8.15,7.71L8.63,7.29L9.12,6.91L9.64,6.56L10.18,6.24L10.74,5.95L11.32,5.70L11.91,5.49L12.51,5.31L13.13,5.18L13.75,5.08L14.37,5.02L15.00,5.00L15.63,5.02L16.25,5.08L16.87,5.18L17.49,5.31L18.09,5.49L18.68,5.70L19.26,5.95L19.82,6.24L20.36,6.56L20.88,6.91L21.37,7.29L21.85,7.71L22.29,8.15L22.71,8.63L23.09,9.12L23.44,9.64L23.76,10.18L24.05,10.74L24.30,11.32L24.51,11.91L24.69,12.51L24.82,13.13L24.92,13.75L24.98,14.37"]
+                  KCanvasItem {circle} at (317.50,254.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M13.50,12.00L13.50,12.09L13.49,12.19L13.47,12.28L13.45,12.37L13.43,12.46L13.39,12.55L13.36,12.64L13.31,12.72L13.27,12.80L13.21,12.88L13.16,12.96L13.09,13.03L13.03,13.09L12.96,13.16L12.88,13.21L12.80,13.27L12.72,13.31L12.64,13.36L12.55,13.39L12.46,13.43L12.37,13.45L12.28,13.47L12.19,13.49L12.09,13.50L12.00,13.50L11.91,13.50L11.81,13.49L11.72,13.47L11.63,13.45L11.54,13.43L11.45,13.39L11.36,13.36L11.28,13.31L11.20,13.27L11.12,13.21L11.04,13.16L10.97,13.09L10.91,13.03L10.84,12.96L10.79,12.88L10.73,12.80L10.69,12.72L10.64,12.64L10.61,12.55L10.57,12.46L10.55,12.37L10.53,12.28L10.51,12.19L10.50,12.09L10.50,12.00L10.50,11.91L10.51,11.81L10.53,11.72L10.55,11.63L10.57,11.54L10.61,11.45L10.64,11.36L10.69,11.28L10.73,11.20L10.79,11.12L10.84,11.04L10.91,10.97L10.97,10.91L11.04,10.84L11.12,10.79L11.20,10.73L11.28,10.69L11.36,10.64L11.45,10.61L11.54,10.57L11.63,10.55L11.72,10.53L11.81,10.51L11.91,10.50L12.00,10.50L12.09,10.50L12.19,10.51L12.28,10.53L12.37,10.55L12.46,10.57L12.55,10.61L12.64,10.64L12.72,10.69L12.80,10.73L12.88,10.79L12.96,10.84L13.03,10.91L13.09,10.97L13.16,11.04L13.21,11.12L13.27,11.20L13.31,11.28L13.36,11.36L13.39,11.45L13.43,11.54L13.45,11.63L13.47,11.72L13.49,11.81L13.50,11.91"]
+                  KCanvasItem {circle} at (325.83,254.17) size 5x5 [fill={[type=SOLID] [color=#000000]}] [data="M18.50,12.00L18.50,12.09L18.49,12.19L18.47,12.28L18.45,12.37L18.43,12.46L18.39,12.55L18.36,12.64L18.31,12.72L18.27,12.80L18.21,12.88L18.16,12.96L18.09,13.03L18.03,13.09L17.96,13.16L17.88,13.21L17.80,13.27L17.72,13.31L17.64,13.36L17.55,13.39L17.46,13.43L17.37,13.45L17.28,13.47L17.19,13.49L17.09,13.50L17.00,13.50L16.91,13.50L16.81,13.49L16.72,13.47L16.63,13.45L16.54,13.43L16.45,13.39L16.36,13.36L16.28,13.31L16.20,13.27L16.12,13.21L16.04,13.16L15.97,13.09L15.91,13.03L15.84,12.96L15.79,12.88L15.73,12.80L15.69,12.72L15.64,12.64L15.61,12.55L15.57,12.46L15.55,12.37L15.53,12.28L15.51,12.19L15.50,12.09L15.50,12.00L15.50,11.91L15.51,11.81L15.53,11.72L15.55,11.63L15.57,11.54L15.61,11.45L15.64,11.36L15.69,11.28L15.73,11.20L15.79,11.12L15.84,11.04L15.91,10.97L15.97,10.91L16.04,10.84L16.12,10.79L16.20,10.73L16.28,10.69L16.36,10.64L16.45,10.61L16.54,10.57L16.63,10.55L16.72,10.53L16.81,10.51L16.91,10.50L17.00,10.50L17.09,10.50L17.19,10.51L17.28,10.53L17.37,10.55L17.46,10.57L17.55,10.61L17.64,10.64L17.72,10.69L17.80,10.73L17.88,10.79L17.96,10.84L18.03,10.91L18.09,10.97L18.16,11.04L18.21,11.12L18.27,11.20L18.31,11.28L18.36,11.36L18.39,11.45L18.43,11.54L18.45,11.63L18.47,11.72L18.49,11.81L18.50,11.91"]
+                  KCanvasItem {path} at (315.63,267.03) size 18.75x10.10 [stroke={[type=SOLID] [color=#000000] [stroke width=2.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M10.00,19.00L15.00,23.00L20.00,19.00"]
       RenderSVGText {text} at (0,0) size 465x46
         RenderText {#text} at (0,0) size 264x46
           text run at (0,0) width 264: "$Revision: 1.1 $"
index be31718382136f0e05be002094e2a883ecd4b8bd..efa7c3d384b56e141c97fb0e0afc8bc41edeec1e 100644 (file)
@@ -1 +1 @@
-de1459f9312824d88cacc3abf9e0dae3
\ No newline at end of file
+26b439ef53e69b8eb23d2c31cc014e12
\ No newline at end of file
index a684fe40e7e98e34fd1d55792b986fca49e3cf47..15bc1b69133f7cdecb39c4f85aa53592ebfed7ef 100644 (file)
Binary files a/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png and b/LayoutTests/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png differ
index b1ff0d380bd0482e768b4d35a113dda129340ccc..507c430a8d2e6a5918cefe07dc8b0ea727c4685b 100644 (file)
@@ -1,8 +1,8 @@
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
-      KCanvasContainer {g} at (20,70) size 410x225 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
-        KCanvasContainer {g} at (20,70) size 410x225
+      KCanvasContainer {g} at (10,70) size 420x225 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
+        KCanvasContainer {g} at (10,70) size 420x225
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 45x10
               text run at (0,0) width 45: "Raster to fit"
@@ -11,11 +11,13 @@ layer at (0,0) size 480x360
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 42x10
               text run at (0,0) width 42: "Viewport 1"
-          KCanvasContainer {g} at (10,150) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+          KCanvasContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
+            KCanvasItem {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
           RenderSVGText {text} at (0,0) size 465x10
             RenderText {#text} at (0,0) size 42x10
               text run at (0,0) width 42: "Viewport 2"
-          KCanvasContainer {g} at (20,220) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
+          KCanvasContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
+            KCanvasItem {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
           KCanvasContainer {g} at (120,80) size 120x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
             RenderSVGText {text} at (0,0) size 465x10
               RenderText {#text} at (0,0) size 112x10
@@ -24,16 +26,19 @@ layer at (0,0) size 480x360
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMin*"
+              KCanvasItem {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
             KCanvasContainer {g} at (190,80) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMid*"
+              KCanvasItem {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
             KCanvasContainer {g} at (120,130) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "xMax*"
+              KCanvasItem {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
           KCanvasContainer {g} at (300,80) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
             RenderSVGText {text} at (0,0) size 465x10
@@ -43,16 +48,19 @@ layer at (0,0) size 480x360
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMin"
+              KCanvasItem {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
             KCanvasContainer {g} at (350,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMid"
+              KCanvasItem {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
             KCanvasContainer {g} at (400,80) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 28x10
                   text run at (0,0) width 28: "*YMax"
+              KCanvasItem {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
           KCanvasContainer {g} at (120,215) size 130x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
             RenderSVGText {text} at (0,0) size 465x10
@@ -62,16 +70,19 @@ layer at (0,0) size 480x360
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMin*"
+              KCanvasItem {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
             KCanvasContainer {g} at (170,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 26x10
                   text run at (0,0) width 26: "xMid*"
+              KCanvasItem {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
             KCanvasContainer {g} at (220,215) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "xMax*"
+              KCanvasItem {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L29.50,0.50L29.50,59.50L0.50,59.50"]
               RenderImage {image} at (0,0) size 30x60
           KCanvasContainer {g} at (300,215) size 120x80 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
             RenderSVGText {text} at (0,0) size 465x10
@@ -81,16 +92,19 @@ layer at (0,0) size 480x360
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMin"
+              KCanvasItem {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
             KCanvasContainer {g} at (370,215) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 27x10
                   text run at (0,0) width 27: "*YMid"
+              KCanvasItem {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
             KCanvasContainer {g} at (300,265) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
               RenderSVGText {text} at (0,0) size 465x10
                 RenderText {#text} at (0,0) size 28x10
                   text run at (0,0) width 28: "*YMax"
+              KCanvasItem {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [data="M0.50,0.50L49.50,0.50L49.50,29.50L0.50,29.50"]
               RenderImage {image} at (0,0) size 50x30
       RenderSVGText {text} at (0,0) size 465x46
         RenderText {#text} at (0,0) size 264x46
index 5b26f155a3a8db63aef6c06708fb156c530c87d3..b7a35cf6a58c72a67ccb394bd0f37a8b9c9813bc 100644 (file)
@@ -1 +1 @@
-598df61239e3e562ff3e1020f4fee5b3
\ No newline at end of file
+089d07ff7a6f717e0df1a49c402cb4a8
\ No newline at end of file
index 4c38e23fa4aa498f4408c5dd79e2c7b7f6425d4b..afa02f4a791ea37bd04ef4058008a191bb5efe3a 100644 (file)
Binary files a/LayoutTests/svg/W3C-SVG-1.1/render-elems-03-t-expected.png and b/LayoutTests/svg/W3C-SVG-1.1/render-elems-03-t-expected.png differ
index 7080a8ed53f312fbce4adfa30a2c03589cfa0102..76603d00cba0ca613f50cf7d90b22f78f48ed78d 100644 (file)
@@ -1,10 +1,12 @@
 layer at (0,0) size 480x360
   RenderView at (0,0) size 480x360
     KCanvasContainer {svg} at (0.50,0.50) size 479x359
-      KCanvasContainer {g} at (0,0) size 0x0
-        KCanvasContainer {g} at (30,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,80.00)}]
-          KCanvasContainer {g} at (30,80) size 0x0
-          KCanvasContainer {g} at (230,80) size 0x0 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
+      KCanvasContainer {g} at (26,76) size 388x188
+        KCanvasContainer {g} at (26,76) size 388x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,80.00)}]
+          KCanvasContainer {g} at (26,76) size 188x188
+            KCanvasItem {path} at (26,76) size 188x188 [stroke={[type=SOLID] [color=#FF0000] [stroke width=8.00]}] [fill={[type=SOLID] [color=#FFFF00]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
+          KCanvasContainer {g} at (226,76) size 188x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(200.00,0.00)}]
+            KCanvasItem {path} at (226,76) size 188x188 [stroke={[type=SOLID] [color=#000000] [stroke width=8.00]}] [fill={[type=SOLID] [color=#0000FF]}] [data="M60.00,0.00L120.00,0.00L180.00,60.00L180.00,120.00L120.00,180.00L60.00,180.00L0.00,120.00L0.00,60.00"]
           RenderSVGText {text} at (0,0) size 465x32
             RenderText {#text} at (0,0) size 230x32
               text run at (0,0) width 230: "Shape fill and stroke"
index 8cd5d6516d2e47299cad35af0e4885f2b5709ae3..f45c13399ea143526de6fba719edada3bbacf760 100644 (file)
@@ -1,3 +1,22 @@
+2006-07-27  Eric Seidel  <eric@eseidel.com>
+
+        Reviewed by ap.
+
+        Complex entities seem to fail on TOT
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
+        Use an alternative work-around to an XML Entity parsing bug.
+
+        * dom/XMLTokenizer.cpp:
+        (WebCore::XMLTokenizer::write):
+        (WebCore::hackAroundLibXMLEntityBug): added.
+        (WebCore::startElementNsHandler):
+        (WebCore::endElementNsHandler):
+        (WebCore::charactersHandler):
+        (WebCore::processingInstructionHandler):
+        (WebCore::cdataBlockHandler):
+        (WebCore::commentHandler):
+        (WebCore::getEntityHandler):
+
 2006-07-27  Rob Buis  <buis@kde.org>
 
         Reviewed by Darin.
@@ -17,6 +36,7 @@
         Reviewed by ap.
 
         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
         This patch does not try to autogenerate anything, but enables the SVG functionality.
         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
 
index 0253ea29ebcb87166fd8296994c816270549e166..646e531d8d60dbc840e6642e0f3bd1d4e403d214 100644 (file)
@@ -630,15 +630,18 @@ bool XMLTokenizer::write(const SegmentedString &s, bool /*appendData*/ )
     if (!m_context)
         initializeParserContext();
     
-    // Hack around libxml2's lack of encoding overide support by manually
-    // resetting the encoding to UTF-16 before every chunk.  Otherwise libxml
-    // will detect <?xml version="1.0" encoding="<encoding name>"?> blocks 
-    // and switch encodings, causing the parse to fail.
-    const DeprecatedChar BOM(0xFEFF);
-    const unsigned char BOMHighByte = *reinterpret_cast<const unsigned char *>(&BOM);
-    xmlSwitchEncoding(m_context, BOMHighByte == 0xFF ? XML_CHAR_ENCODING_UTF16LE : XML_CHAR_ENCODING_UTF16BE);
-    
-    xmlParseChunk(m_context, reinterpret_cast<const char *>(parseString.unicode()), sizeof(DeprecatedChar) * parseString.length(), 0);
+    // libXML throws an error if you try to switch the encoding for an empty string.
+    if (parseString.length()) {
+        // Hack around libxml2's lack of encoding overide support by manually
+        // resetting the encoding to UTF-16 before every chunk.  Otherwise libxml
+        // will detect <?xml version="1.0" encoding="<encoding name>"?> blocks 
+        // and switch encodings, causing the parse to fail.
+        const DeprecatedChar BOM(0xFEFF);
+        const unsigned char BOMHighByte = *reinterpret_cast<const unsigned char *>(&BOM);
+        xmlSwitchEncoding(m_context, BOMHighByte == 0xFF ? XML_CHAR_ENCODING_UTF16LE : XML_CHAR_ENCODING_UTF16BE);
+        
+        xmlParseChunk(m_context, reinterpret_cast<const char *>(parseString.unicode()), sizeof(DeprecatedChar) * parseString.length(), 0);
+    }
     
     return false;
 }
@@ -1035,33 +1038,58 @@ inline XMLTokenizer *getTokenizer(void *closure)
     return static_cast<XMLTokenizer *>(ctxt->_private);
 }
 
+// This is a hack around http://bugzilla.gnome.org/show_bug.cgi?id=159219
+// Otherwise libxml seems to call all the SAX callbacks twice for any replaced entity.
+static inline bool hackAroundLibXMLEntityBug(void *closure)
+{
+    return static_cast<xmlParserCtxtPtr>(closure)->node;
+}
+
 static void startElementNsHandler(void *closure, const xmlChar *localname, const xmlChar *prefix, const xmlChar *uri, int nb_namespaces, const xmlChar **namespaces, int nb_attributes, int nb_defaulted, const xmlChar **libxmlAttributes)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+
     getTokenizer(closure)->startElementNs(localname, prefix, uri, nb_namespaces, namespaces, nb_attributes, nb_defaulted, libxmlAttributes);
 }
 
 static void endElementNsHandler(void *closure, const xmlChar *localname, const xmlChar *prefix, const xmlChar *uri)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+    
     getTokenizer(closure)->endElementNs();
 }
 
 static void charactersHandler(void *closure, const xmlChar *s, int len)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+    
     getTokenizer(closure)->characters(s, len);
 }
 
 static void processingInstructionHandler(void *closure, const xmlChar *target, const xmlChar *data)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+    
     getTokenizer(closure)->processingInstruction(target, data);
 }
 
 static void cdataBlockHandler(void *closure, const xmlChar *s, int len)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+    
     getTokenizer(closure)->cdataBlock(s, len);
 }
 
 static void commentHandler(void *closure, const xmlChar *comment)
 {
+    if (hackAroundLibXMLEntityBug(closure))
+        return;
+    
     getTokenizer(closure)->comment(comment);
 }
 
@@ -1124,10 +1152,6 @@ static xmlEntityPtr getEntityHandler(void *closure, const xmlChar *name)
     ent = xmlGetDocEntity(ctxt->myDoc, name);
     if (!ent && getTokenizer(closure)->isXHTMLDocument())
         ent = getXHTMLEntity(name);
-
-    // Work around a libxml SAX2 bug that causes charactersHandler to be called twice.
-    if (ent)
-        ctxt->replaceEntities = (ctxt->instate == XML_PARSER_ATTRIBUTE_VALUE) || (ent->etype != XML_INTERNAL_GENERAL_ENTITY);
     
     return ent;
 }