fix pathops unsortable angles

Pathops determines which edges are kept and discarded
by sorting intersections counterclockwise. An edge
may be unsortable if it is too close to a neighbor to
clearly be on its left or right.

If a pair of lines is unsortable, they are probably
nearly coincident, but just far enough apart to escape
the coincident test.

The current code correctly marks the lines as unsortable,
but returned a guess at the sorting order anyway. Instead,
preserve the unsorted-ness (unsorted mess?) and let
the decision of what to keep defer til later.

This triggered a couple of asserts that needed rewriting
or disabling, but fixes the bug in question and does not
regress the extended tests in debug or release.

Also, fix a debugging routine that bit-rotted.

TBR=reed@google.com

Bug: skia:8228
Change-Id: Ifab90c65837ed9656bb572c385fcc5c916348778
Reviewed-on: https://skia-review.googlesource.com/149620
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
Reviewed-by: Cary Clark <caryclark@skia.org>
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
index ca520cd..8be938c 100644
--- a/tools/pathops_visualizer.htm
+++ b/tools/pathops_visualizer.htm
@@ -2,179 +2,323 @@
 <head>
 <div height="0" hidden="true">
 
-<div id="op_4">

-seg=1 {{{6.74738312f, 1.29324913f}, {5.41376638f, 1.29324913f}}}

-seg=2 {{{5.41376638f, 1.29324913f}, {5.41376638f, 0.429016858f}}}

-seg=3 {{{5.41376638f, 0.429016858f}, {7.88304138f, 0.429016858f}}}

-seg=4 {{{7.88304138f, 0.429016858f}, {7.88304138f, 0.732369661f}}}

-seg=5 {{{7.88304138f, 0.732369661f}, {6.74738312f, 0.732369661f}}}

-seg=6 {{{6.74738312f, 0.732369661f}, {6.74738312f, 1.29324913f}}}

-op diff

-seg=7 {{{6.74737978f, 4.82642984f}, {9.66343975f, 4.82642984f}}}

-seg=8 {{{9.66343975f, 4.82642984f}, {9.66343975f, 0.732370019f}}}

-seg=9 {{{9.66343975f, 0.732370019f}, {6.74737978f, 0.732370019f}}}

-seg=10 {{{6.74737978f, 0.732370019f}, {6.74737978f, 4.82642984f}}}

-debugShowLineIntersection wtTs[0]=0 {{{5.41376638,1.29324913}, {5.41376638,0.429016858}}} {{5.41376638,1.29324913}} wnTs[0]=1 {{{6.74738312,1.29324913}, {5.41376638,1.29324913}}}

-debugShowLineIntersection wtTs[0]=1 {{{6.74738312,0.732369661}, {6.74738312,1.29324913}}} {{6.74738312,1.29324913}} wnTs[0]=0 {{{6.74738312,1.29324913}, {5.41376638,1.29324913}}}

-debugShowLineIntersection wtTs[0]=0 {{{5.41376638,0.429016858}, {7.88304138,0.429016858}}} {{5.41376638,0.429016858}} wnTs[0]=1 {{{5.41376638,1.29324913}, {5.41376638,0.429016858}}}

-debugShowLineIntersection wtTs[0]=0 {{{7.88304138,0.429016858}, {7.88304138,0.732369661}}} {{7.88304138,0.429016858}} wnTs[0]=1 {{{5.41376638,0.429016858}, {7.88304138,0.429016858}}}

-debugShowLineIntersection wtTs[0]=0 {{{7.88304138,0.732369661}, {6.74738312,0.732369661}}} {{7.88304138,0.732369661}} wnTs[0]=1 {{{7.88304138,0.429016858}, {7.88304138,0.732369661}}}

-debugShowLineIntersection wtTs[0]=0 {{{6.74738312,0.732369661}, {6.74738312,1.29324913}}} {{6.74738312,0.732369661}} wnTs[0]=1 {{{7.88304138,0.732369661}, {6.74738312,0.732369661}}}

-debugShowLineIntersection wtTs[0]=0.13699827 {{{6.74737978,0.732370019}, {6.74737978,4.82642984}}} {{6.74737978,1.29324913}} wnTs[0]=2.50286e-06 {{{6.74738312,1.29324913}, {5.41376638,1.29324913}}}

-SkOpSegment::addT insert t=0.13699827 segID=10 spanID=21

-debugShowLineIntersection no intersect {{{9.66343975,0.732370019}, {6.74737978,0.732370019}}} {{{7.88304138,0.429016858}, {7.88304138,0.732369661}}}

-debugShowLineIntersection no intersect {{{9.66343975,0.732370019}, {6.74737978,0.732370019}}} {{{7.88304138,0.732369661}, {6.74738312,0.732369661}}}

-debugShowLineIntersection no intersect {{{6.74737978,0.732370019}, {6.74737978,4.82642984}}} {{{7.88304138,0.732369661}, {6.74738312,0.732369661}}}

-debugShowLineIntersection wtTs[0]=0.999998855 {{{9.66343975,0.732370019}, {6.74737978,0.732370019}}} {{6.74738312,0.732370019}} wnTs[0]=6.3762e-07 {{{6.74738312,0.732369661}, {6.74738312,1.29324913}}}

-debugShowLineIntersection no intersect {{{6.74737978,0.732370019}, {6.74737978,4.82642984}}} {{{6.74738312,0.732369661}, {6.74738312,1.29324913}}}

-debugShowLineIntersection wtTs[0]=0 {{{9.66343975,4.82642984}, {9.66343975,0.732370019}}} {{9.66343975,4.82642984}} wnTs[0]=1 {{{6.74737978,4.82642984}, {9.66343975,4.82642984}}}

-debugShowLineIntersection wtTs[0]=1 {{{6.74737978,0.732370019}, {6.74737978,4.82642984}}} {{6.74737978,4.82642984}} wnTs[0]=0 {{{6.74737978,4.82642984}, {9.66343975,4.82642984}}}

-debugShowLineIntersection wtTs[0]=0 {{{9.66343975,0.732370019}, {6.74737978,0.732370019}}} {{9.66343975,0.732370019}} wnTs[0]=1 {{{9.66343975,4.82642984}, {9.66343975,0.732370019}}}

-debugShowLineIntersection wtTs[0]=0 {{{6.74737978,0.732370019}, {6.74737978,4.82642984}}} {{6.74737978,0.732370019}} wnTs[0]=1 {{{9.66343975,0.732370019}, {6.74737978,0.732370019}}}

------------------------x-------------- addExpanded

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-SkOpSegment::debugShowActiveSpans id=1 (6.74738312,1.29324913 5.41376638,1.29324913) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=2 (5.41376638,1.29324913 5.41376638,0.429016858) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=3 (5.41376638,0.429016858 7.88304138,0.429016858) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=4 (7.88304138,0.429016858 7.88304138,0.732369661) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=5 (7.88304138,0.732369661 6.74738312,0.732369661) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=6 (6.74738312,0.732369661 6.74738312,1.29324913) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=7 (6.74737978,4.82642984 9.66343975,4.82642984) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=8 (9.66343975,4.82642984 9.66343975,0.732370019) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=9 (9.66343975,0.732370019 6.74737978,0.732370019) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=10 (6.74737978,0.732370019 6.74737978,1.29324913) t=0 tEnd=0.13699827 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=10 (6.74737978,1.29324913 6.74737978,4.82642984) t=0.13699827 tEnd=1 windSum=? windValue=1

------------------------x-------------- move_multiples

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- move_nearby

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- correctEnds

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- addEndMovedSpans

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- expand

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- addExpanded

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- mark

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

------------------------x-------------- missing_coincidence

-00:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-01:  coinSeg/Span/PtT=10/19/19 endSpan=21 oppSeg/Span/PtT=6/11/11 oppEndSpan=12 MissingCoin

-02:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-03:  coinSeg/Span/PtT=6/11/11 endSpan=12 oppSeg/Span/PtT=10/19/19 oppEndSpan=21 MissingCoin

-SkOpSegment::missingCoincidence coinSpan=19 endSpan=21 oppSpan=11 oppEndSpan=12

-------------------x--x---------------- expand

-00:  seg/base=10/19 seg/base=6/11 MarkCoinStart

-01:  seg/base=10/21 seg/base=6/12 MarkCoinEnd

-------------------x--x---------------- addExpanded

-00:  seg/base=10/19 seg/base=6/11 MarkCoinStart

-01:  seg/base=10/21 seg/base=6/12 MarkCoinEnd

-------------------x--x---------------- mark

-00:  seg/base=10/19 seg/base=6/11 MarkCoinStart

-01:  seg/base=10/21 seg/base=6/12 MarkCoinEnd

--------------------------------------- expand

--------------------------------------- apply

-SkOpSegment::markDone id=6 (6.74738312,0.732369661 6.74738312,1.29324913) t=0 [11] (6.74738312,0.732369661) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0

--------------------------------------- findOverlaps

-SkOpSegment::debugShowActiveSpans id=1 (6.74738312,1.29324913 5.41376638,1.29324913) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=2 (5.41376638,1.29324913 5.41376638,0.429016858) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=3 (5.41376638,0.429016858 7.88304138,0.429016858) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=4 (7.88304138,0.429016858 7.88304138,0.732369661) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=5 (7.88304138,0.732369661 6.74738312,0.732369661) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=7 (6.74737978,4.82642984 9.66343975,4.82642984) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=8 (9.66343975,4.82642984 9.66343975,0.732370019) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=9 (9.66343975,0.732370019 6.74737978,0.732370019) t=0 tEnd=1 windSum=? windValue=1

-SkOpSegment::debugShowActiveSpans id=10 (6.74737978,0.732370019 6.74737978,1.29324913) t=0 tEnd=0.13699827 windSum=? oppSum=? windValue=1 oppValue=1

-SkOpSegment::debugShowActiveSpans id=10 (6.74737978,1.29324913 6.74737978,4.82642984) t=0.13699827 tEnd=1 windSum=? windValue=1

--------------------------------------- calc_angles

-SkOpSegment::sortAngles [1] tStart=0 [1]

-SkOpAngle::after [1/1] 15/15 tStart=0 tEnd=1 < [10/6] 23/23 tStart=0.13699827 tEnd=1 < [10/5] 7/7 tStart=0.13699827 tEnd=0  T 4

-SkOpAngle::afterPart {{{6.74737978,1.29324913}, {5.41376305,1.29324913}}} id=1

-SkOpAngle::afterPart {{{6.74737978,1.29324913}, {6.74737978,4.82642984}}} id=10

-SkOpAngle::afterPart {{{6.74737978,1.29324913}, {6.74737978,0.732370019}}} id=10

-SkOpSegment::sortAngles [5] tStart=1 [10]

-SkOpAngle::after [5/2] 31/31 tStart=1 tEnd=0 < [10/4] 23/23 tStart=0 tEnd=0.13699827 < [9/3] 31/31 tStart=1 tEnd=0  F 5

-SkOpAngle::afterPart {{{6.74737978,0.732370019}, {7.88303804,0.732370019}}} id=5

-SkOpAngle::afterPart {{{6.74737978,0.732370019}, {6.74737978,1.29324913}}} id=10

-SkOpAngle::afterPart {{{6.74737978,0.732370019}, {9.66343975,0.732370019}}} id=9

-SkOpSegment::sortAngles [9] tStart=1 [18]

-SkOpSegment::sortAngles [10] tStart=0 [19]

-SkOpSegment::sortAngles [10] tStart=0.13699827 [21]

-coinSpan - id=10 t=0 tEnd=0.13699827

-coinSpan + id=6 t=0 tEnd=1

-SkOpSpan::sortableTop dir=kTop seg=1 t=0.5 pt=(6.08057499,1.29324913)

-SkOpSpan::sortableTop [0] valid=1 operand=0 span=5 ccw=1 seg=3 {{{5.41376638f, 0.429016858f}, {7.88304138f, 0.429016858f}}} t=0.270042262 pt=(6.08057499,0.429016858) slope=(2.469275,0)

-SkOpSpan::sortableTop [1] valid=1 operand=0 span=1 ccw=0 seg=1 {{{6.74738312f, 1.29324913f}, {5.41376638f, 1.29324913f}}} t=0.5 pt=(6.08057499,1.29324913) slope=(-1.33361673,0)

-SkOpSegment::markWinding id=3 (5.41376638,0.429016858 7.88304138,0.429016858) t=0 [5] (5.41376638,0.429016858) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::markWinding id=4 (7.88304138,0.429016858 7.88304138,0.732369661) t=0 [7] (7.88304138,0.429016858) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=5 (7.88304138,0.732369661 6.74738312,0.732369661) t=0 [9] (7.88304138,0.732369661) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=3 (5.41376638,0.429016858 7.88304138,0.429016858) t=0 [5] (5.41376638,0.429016858) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::markWinding id=2 (5.41376638,1.29324913 5.41376638,0.429016858) t=0 [3] (5.41376638,1.29324913) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=1 (6.74738312,1.29324913 5.41376638,1.29324913) t=0 [1] (6.74738312,1.29324913) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::activeOp id=1 t=1 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1

-SkOpSegment::markWinding id=10 (6.74737978,0.732370019 6.74737978,4.82642984) t=0.13699827 [21] (6.74737978,1.29324913) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=7 (6.74737978,4.82642984 9.66343975,4.82642984) t=0 [13] (6.74737978,4.82642984) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=8 (9.66343975,4.82642984 9.66343975,0.732370019) t=0 [15] (9.66343975,4.82642984) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markWinding id=9 (9.66343975,0.732370019 6.74737978,0.732370019) t=0 [17] (9.66343975,0.732370019) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0

-SkOpSegment::markAngle last segment=9 span=18

-SkOpSegment::markWinding id=10 (6.74737978,0.732370019 6.74737978,4.82642984) t=0 [19] (6.74737978,0.732370019) tEnd=0.13699827 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=1

-SkOpSegment::markAngle last segment=10 span=19 windSum=1

-SkOpSegment::findNextOp

-SkOpAngle::dumpOne [1/1] next=10/6 sect=15/15  s=0 [1] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0

-SkOpAngle::dumpOne [10/6] next=10/5 sect=23/23  s=0.13699827 [21] e=1 [20] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 operand

-SkOpAngle::dumpOne [10/5] next=1/1 sect=7/7  s=0.13699827 [21] e=0 [19] sgn=1 windVal=1 windSum=1 oppVal=1 oppSum=-1 operand

-SkOpSegment::activeOp id=10 t=0.13699827 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0

-SkOpSegment::markDone id=10 (6.74737978,0.732370019 6.74737978,4.82642984) t=0.13699827 [21] (6.74737978,1.29324913) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0

-SkOpSegment::markDone id=7 (6.74737978,4.82642984 9.66343975,4.82642984) t=0 [13] (6.74737978,4.82642984) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0

-SkOpSegment::markDone id=8 (9.66343975,4.82642984 9.66343975,0.732370019) t=0 [15] (9.66343975,4.82642984) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0

-SkOpSegment::markDone id=9 (9.66343975,0.732370019 6.74737978,0.732370019) t=0 [17] (9.66343975,0.732370019) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0

-SkOpSegment::findNextOp chase.append segment=9 span=18

-SkOpSegment::activeOp id=10 t=0.13699827 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=1 suTo=0 result=1

-SkOpSegment::findNextOp chase.append segment=10 span=19 windSum=1

-SkOpSegment::markDone id=1 (6.74738312,1.29324913 5.41376638,1.29324913) t=0 [1] (6.74738312,1.29324913) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::findNextOp from:[1] to:[10] start=-1039144456 end=-1039144768

-bridgeOp current id=1 from=(5.41376638,1.29324913) to=(6.74738312,1.29324913)

-SkOpSegment::findNextOp

-SkOpAngle::dumpOne [10/4] next=5/2 sect=23/23  s=0 [19] e=0.13699827 [21] sgn=-1 windVal=1 windSum=1 oppVal=1 oppSum=-1 operand

-SkOpAngle::dumpOne [5/2] next=9/3 sect=31/31  s=1 [10] e=0 [9] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 unorderable

-SkOpAngle::dumpOne [9/3] next=10/4 sect=31/31  s=1 [18] e=0 [17] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done unorderable operand

-SkOpSegment::activeOp id=5 t=1 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0

-SkOpSegment::markDone id=5 (7.88304138,0.732369661 6.74738312,0.732369661) t=0 [9] (7.88304138,0.732369661) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::markDone id=4 (7.88304138,0.429016858 7.88304138,0.732369661) t=0 [7] (7.88304138,0.429016858) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::markDone id=3 (5.41376638,0.429016858 7.88304138,0.429016858) t=0 [5] (5.41376638,0.429016858) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::markDone id=2 (5.41376638,1.29324913 5.41376638,0.429016858) t=0 [3] (5.41376638,1.29324913) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0

-SkOpSegment::activeOp id=9 t=1 tEnd=0 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1

-SkOpSegment::markDone id=10 (6.74737978,0.732370019 6.74737978,4.82642984) t=0 [19] (6.74737978,0.732370019) tEnd=0.13699827 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=1

-SkOpSegment::findNextOp from:[10] to:[9] start=-1039144952 end=-1039145096

-bridgeOp current id=10 from=(6.74737978,1.29324913) to=(6.74737978,0.732370019)

-path.moveTo(5.41376638,1.29324913);

-path.lineTo(6.74738312,1.29324913);

-path.lineTo(6.74737978,0.732370019);

+<div id="bug8228">
+seg=1 {{{31.6666698f, 73.3333359f}, {31.6666698f, 13.333334f}}}
+seg=2 {{{{31.6666698f, 13.333334f}, {31.6666698f, 10.0000019f}, {35, 10.0000019f}}}, 0.707106769f}
+seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}}
+seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f}
+seg=5 {{{59.4444466f, 13.333334f}, {59.4444466f, 73.3333359f}}}
+seg=6 {{{{59.4444466f, 73.3333359f}, {59.4444466f, 76.6666641f}, {56.1111107f, 76.6666641f}}}, 0.707106769f}
+seg=7 {{{56.1111107f, 76.6666641f}, {35, 76.6666641f}}}
+seg=8 {{{{35, 76.6666641f}, {31.6666698f, 76.6666641f}, {31.6666698f, 73.3333359f}}}, 0.707106769f}
+op sect
+seg=9 {{{10, 10}, {29.3922844f, 10}}}
+seg=10 {{{{29.3922844f, 10}, {29.2278862f, 10.4838676f}, {29.2278862f, 10.9948997f}}}, 0.986621082f}
+seg=11 {{{29.2278862f, 10.9948997f}, {29.2278862f, 66.6626663f}}}
+seg=12 {{{{29.2278862f, 66.6626663f}, {29.2278862f, 69.7553177f}, {32.3205376f, 69.7553177f}}}, 0.707106769f}
+seg=13 {{{32.3205376f, 69.7553177f}, {51.9073448f, 69.7553177f}}}
+seg=14 {{{{51.9073448f, 69.7553177f}, {54.9999962f, 69.7553177f}, {54.9999962f, 66.6626663f}}}, 0.707106769f}
+seg=15 {{{54.9999962f, 66.6626663f}, {54.9999962f, 10.9948997f}}}
+seg=16 {{{{54.9999962f, 10.9948997f}, {54.9999962f, 10.4838676f}, {54.835598f, 10}}}, 0.986621082f}
+seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}}
+seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f}
+seg=19 {{{65.3088455f, 10.9948997f}, {65.3088455f, 66.6626663f}}}
+seg=20 {{{{65.3088455f, 66.6626663f}, {65.3088455f, 69.7553177f}, {68.4014969f, 69.7553177f}}}, 0.707106769f}
+seg=21 {{{68.4014969f, 69.7553177f}, {87.9883041f, 69.7553177f}}}
+seg=22 {{{{87.9883041f, 69.7553177f}, {91.0809555f, 69.7553177f}, {91.0809555f, 66.6626663f}}}, 0.707106769f}
+seg=23 {{{91.0809555f, 66.6626663f}, {91.0809555f, 10.9948997f}}}
+seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f}
+seg=25 {{{90.9165573f, 10}, {110, 10}}}
+seg=26 {{{110, 10}, {110, 110}}}
+seg=27 {{{110, 110}, {10, 110}}}
+seg=28 {{{10, 110}, {10, 10}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{29.3922844,10}, {29.2278862,10.4838676}, {29.2278862,10.9948997}}}, 0.986621082} {{29.3922844,10}} wnTs[0]=1 {{{10,10}, {29.3922844,10}}}
+debugShowLineIntersection wtTs[0]=1 {{{10,110}, {10,10}}} {{10,10}} wnTs[0]=0 {{{10,10}, {29.3922844,10}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{29.3922844,10}, {29.2278862,10.4838676}, {29.2278862,10.9948997}}}, 0.986621082} {{29.2278862,10.9948997}} wnTs[0]=0 {{{29.2278862,10.9948997}, {29.2278862,66.6626663}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{29.2278862,66.6626663}, {29.2278862,69.7553177}, {32.3205376,69.7553177}}}, 0.707106769} {{29.2278862,66.6626663}} wnTs[0]=1 {{{29.2278862,10.9948997}, {29.2278862,66.6626663}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{29.2278862,66.6626663}, {29.2278862,69.7553177}, {32.3205376,69.7553177}}}, 0.707106769} {{32.3205376,69.7553177}} wnTs[0]=0 {{{32.3205376,69.7553177}, {51.9073448,69.7553177}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{51.9073448,69.7553177}, {54.9999962,69.7553177}, {54.9999962,66.6626663}}}, 0.707106769} {{51.9073448,69.7553177}} wnTs[0]=1 {{{32.3205376,69.7553177}, {51.9073448,69.7553177}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{51.9073448,69.7553177}, {54.9999962,69.7553177}, {54.9999962,66.6626663}}}, 0.707106769} {{54.9999962,66.6626663}} wnTs[0]=0 {{{54.9999962,66.6626663}, {54.9999962,10.9948997}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{54.9999962,10.9948997}, {54.9999962,10.4838676}, {54.835598,10}}}, 0.986621082} {{54.9999962,10.9948997}} wnTs[0]=1 {{{54.9999962,66.6626663}, {54.9999962,10.9948997}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{54.9999962,10.9948997}, {54.9999962,10.4838676}, {54.835598,10}}}, 0.986621082} {{54.835598,10}} wnTs[0]=0 {{{54.835598,10}, {65.4732437,10}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{65.4732437,10}, {65.3088455,10.4838676}, {65.3088455,10.9948997}}}, 0.986621082} {{65.4732437,10}} wnTs[0]=1 {{{54.835598,10}, {65.4732437,10}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{65.4732437,10}, {65.3088455,10.4838676}, {65.3088455,10.9948997}}}, 0.986621082} {{65.3088455,10.9948997}} wnTs[0]=0 {{{65.3088455,10.9948997}, {65.3088455,66.6626663}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{65.3088455,66.6626663}, {65.3088455,69.7553177}, {68.4014969,69.7553177}}}, 0.707106769} {{65.3088455,66.6626663}} wnTs[0]=1 {{{65.3088455,10.9948997}, {65.3088455,66.6626663}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{65.3088455,66.6626663}, {65.3088455,69.7553177}, {68.4014969,69.7553177}}}, 0.707106769} {{68.4014969,69.7553177}} wnTs[0]=0 {{{68.4014969,69.7553177}, {87.9883041,69.7553177}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{87.9883041,69.7553177}, {91.0809555,69.7553177}, {91.0809555,66.6626663}}}, 0.707106769} {{87.9883041,69.7553177}} wnTs[0]=1 {{{68.4014969,69.7553177}, {87.9883041,69.7553177}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{87.9883041,69.7553177}, {91.0809555,69.7553177}, {91.0809555,66.6626663}}}, 0.707106769} {{91.0809555,66.6626663}} wnTs[0]=0 {{{91.0809555,66.6626663}, {91.0809555,10.9948997}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{91.0809555,10.9948997}, {91.0809555,10.4838676}, {90.9165573,10}}}, 0.986621082} {{91.0809555,10.9948997}} wnTs[0]=1 {{{91.0809555,66.6626663}, {91.0809555,10.9948997}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{91.0809555,10.9948997}, {91.0809555,10.4838676}, {90.9165573,10}}}, 0.986621082} {{90.9165573,10}} wnTs[0]=0 {{{90.9165573,10}, {110,10}}}
+debugShowLineIntersection wtTs[0]=0 {{{110,10}, {110,110}}} {{110,10}} wnTs[0]=1 {{{90.9165573,10}, {110,10}}}
+debugShowLineIntersection wtTs[0]=0 {{{110,110}, {10,110}}} {{110,110}} wnTs[0]=1 {{{110,10}, {110,110}}}
+debugShowLineIntersection wtTs[0]=0 {{{10,110}, {10,10}}} {{10,110}} wnTs[0]=1 {{{110,110}, {10,110}}}
+debugShowConicLineIntersection wtTs[0]=0.855202762 {{{{29.2278862,66.6626663}, {29.2278862,69.7553177}, {32.3205376,69.7553177}}}, 0.707106769} {{31.6666698,69.6854019}} wnTs[0]=0.0607988 {{{31.6666698,73.3333359}, {31.6666698,13.333334}}}
+SkOpSegment::addT insert t=0.855202762 segID=12 spanID=57
+SkOpSegment::addT insert t=0.0607988451 segID=1 spanID=58
+debugShowConicLineIntersection wtTs[0]=0.999998002 {{{{54.9999962,10.9948997}, {54.9999962,10.4838676}, {54.835598,10}}}, 0.986621082} {{54.835598,10.0000019}} wnTs[0]=0.939581 {{{35,10.0000019}, {56.1111107,10.0000019}}}
+SkOpSegment::addT insert t=0.939581007 segID=3 spanID=59
+debugShowLineIntersection no intersect {{{35,10.0000019}, {56.1111107,10.0000019}}} {{{54.835598,10}, {65.4732437,10}}}
+debugShowConicLineIntersection no intersect {{{{56.1111107,10.0000019}, {59.4444466,10.0000019}, {59.4444466,13.333334}}}, 0.707106769} {{{54.835598,10}, {65.4732437,10}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{31.6666698,13.333334}, {31.6666698,10.0000019}, {35,10.0000019}}}, 0.707106769} {{31.6666698,13.333334}} wnTs[0]=1 {{{31.6666698,73.3333359}, {31.6666698,13.333334}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{35,76.6666641}, {31.6666698,76.6666641}, {31.6666698,73.3333359}}}, 0.707106769} {{31.6666698,73.3333359}} wnTs[0]=0 {{{31.6666698,73.3333359}, {31.6666698,13.333334}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{31.6666698,13.333334}, {31.6666698,10.0000019}, {35,10.0000019}}}, 0.707106769} {{35,10.0000019}} wnTs[0]=0 {{{35,10.0000019}, {56.1111107,10.0000019}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{56.1111107,10.0000019}, {59.4444466,10.0000019}, {59.4444466,13.333334}}}, 0.707106769} {{56.1111107,10.0000019}} wnTs[0]=1 {{{35,10.0000019}, {56.1111107,10.0000019}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{56.1111107,10.0000019}, {59.4444466,10.0000019}, {59.4444466,13.333334}}}, 0.707106769} {{59.4444466,13.333334}} wnTs[0]=0 {{{59.4444466,13.333334}, {59.4444466,73.3333359}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{59.4444466,73.3333359}, {59.4444466,76.6666641}, {56.1111107,76.6666641}}}, 0.707106769} {{59.4444466,73.3333359}} wnTs[0]=1 {{{59.4444466,13.333334}, {59.4444466,73.3333359}}}
+debugShowConicLineIntersection wtTs[0]=1 {{{{59.4444466,73.3333359}, {59.4444466,76.6666641}, {56.1111107,76.6666641}}}, 0.707106769} {{56.1111107,76.6666641}} wnTs[0]=0 {{{56.1111107,76.6666641}, {35,76.6666641}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{35,76.6666641}, {31.6666698,76.6666641}, {31.6666698,73.3333359}}}, 0.707106769} {{35,76.6666641}} wnTs[0]=1 {{{56.1111107,76.6666641}, {35,76.6666641}}}
+-------------------------------------- addExpanded
+SkOpSegment::debugShowActiveSpans id=9 (10,10 29.3922844,10) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997 0.986621082f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=12 (29.2278862,66.6626663 29.2278862,69.1578563 31.6666698,69.6854019 0.778275728f) t=0 tEnd=0.855202762 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=12 (31.6666698,69.6854019 31.9898661,69.7553177 32.3205376,69.7553177 0.994332433f) t=0.855202762 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=13 (32.3205376,69.7553177 51.9073448,69.7553177) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=14 (51.9073448,69.7553177 54.9999962,69.7553177 54.9999962,66.6626663 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=15 (54.9999962,66.6626663 54.9999962,10.9948997) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10 0.986621082f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=17 (54.835598,10 65.4732437,10) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=18 (65.4732437,10 65.3088455,10.4838676 65.3088455,10.9948997 0.986621082f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=19 (65.3088455,10.9948997 65.3088455,66.6626663) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=20 (65.3088455,66.6626663 65.3088455,69.7553177 68.4014969,69.7553177 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=21 (68.4014969,69.7553177 87.9883041,69.7553177) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=22 (87.9883041,69.7553177 91.0809555,69.7553177 91.0809555,66.6626663 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=23 (91.0809555,66.6626663 91.0809555,10.9948997) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=24 (91.0809555,10.9948997 91.0809555,10.4838676 90.9165573,10 0.986621082f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=25 (90.9165573,10 110,10) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=26 (110,10 110,110) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=27 (110,110 10,110) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=28 (10,110 10,10) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (31.6666698,73.3333359 31.6666698,69.6854019) t=0 tEnd=0.0607988451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (31.6666698,69.6854019 31.6666698,13.333334) t=0.0607988451 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (31.6666698,13.333334 31.6666698,10.0000019 35,10.0000019 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (35,10.0000019 54.835598,10.0000019) t=0 tEnd=0.939581007 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (54.835598,10.0000019 56.1111107,10.0000019) t=0.939581007 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (56.1111107,10.0000019 59.4444466,10.0000019 59.4444466,13.333334 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (59.4444466,13.333334 59.4444466,73.3333359) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (59.4444466,73.3333359 59.4444466,76.6666641 56.1111107,76.6666641 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (56.1111107,76.6666641 35,76.6666641) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=8 (35,76.6666641 31.6666698,76.6666641 31.6666698,73.3333359 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+-------------------------------------- move_multiples
+-------------------------------------- move_nearby
+-------------------------------------- correctEnds
+-------------------------------------- addEndMovedSpans
+-------------------------------------- expand
+-------------------------------------- addExpanded
+-------------------------------------- mark
+-------------------------------------- missing_coincidence
+-------------------------------------- expand
+-------------------------------------- expand
+-------------------------------------- apply
+-------------------------------------- findOverlaps
+-------------------------------------- calc_angles
+SkOpSegment::sortAngles [12] tStart=0.855202762 [57]
+SkOpAngle::after [12/1] 13/9 tStart=0.855202762 tEnd=0 < [1/5] 23/23 tStart=0.0607988451 tEnd=0 < [12/2] 29/29 tStart=0.855202762 tEnd=1  T 4
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {29.2278862,69.1578563}, {29.2278862,66.6626663}}}, 0.778275728} id=12
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,73.3333359}}} id=1
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {31.9898661,69.7553177}, {32.3205376,69.7553177}}}, 0.994332433} id=12
+SkOpAngle::after [12/1] 13/9 tStart=0.855202762 tEnd=0 < [1/6] 7/7 tStart=0.0607988451 tEnd=1 < [1/5] 23/23 tStart=0.0607988451 tEnd=0  F 4
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {29.2278862,69.1578563}, {29.2278862,66.6626663}}}, 0.778275728} id=12
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,13.333334}}} id=1
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,73.3333359}}} id=1
+SkOpAngle::after [1/5] 23/23 tStart=0.0607988451 tEnd=0 < [1/6] 7/7 tStart=0.0607988451 tEnd=1 < [12/2] 29/29 tStart=0.855202762 tEnd=1  F 4
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,73.3333359}}} id=1
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,13.333334}}} id=1
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {31.9898661,69.7553177}, {32.3205376,69.7553177}}}, 0.994332433} id=12
+SkOpAngle::after [12/2] 29/29 tStart=0.855202762 tEnd=1 < [1/6] 7/7 tStart=0.0607988451 tEnd=1 < [12/1] 13/9 tStart=0.855202762 tEnd=0  T 4
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {31.9898661,69.7553177}, {32.3205376,69.7553177}}}, 0.994332433} id=12
+SkOpAngle::afterPart {{{31.6666698,69.6854019}, {31.6666698,13.333334}}} id=1
+SkOpAngle::afterPart {{{{31.6666698,69.6854019}, {29.2278862,69.1578563}, {29.2278862,66.6626663}}}, 0.778275728} id=12
+SkOpSegment::sortAngles [16] tStart=1 [32]
+SkOpAngle::after [16/3] 25/25 tStart=1 tEnd=0 < [3/8] 31/31 tStart=0.939581007 tEnd=1 < [3/7] 15/15 tStart=0.939581007 tEnd=0  T 4
+SkOpAngle::afterPart {{{{54.835598,10.0000019}, {54.9999962,10.4838696}, {54.9999962,10.9949017}}}, 0.986621082} id=16
+SkOpAngle::afterPart {{{54.835598,10.0000019}, {56.1111107,10.0000019}}} id=3
+SkOpAngle::afterPart {{{54.835598,10.0000019}, {35,10.0000019}}} id=3
+SkOpAngle::after [16/3] 25/25 tStart=1 tEnd=0 < [17/4] 31/31 tStart=0 tEnd=1 < [3/8] 31/31 tStart=0.939581007 tEnd=1  T 7
+SkOpAngle::afterPart {{{{54.835598,10}, {54.9999962,10.4838676}, {54.9999962,10.9948997}}}, 0.986621082} id=16
+SkOpAngle::afterPart {{{54.835598,10}, {65.4732437,10}}} id=17
+SkOpAngle::afterPart {{{54.835598,10}, {56.1111107,10}}} id=3
+SkOpSegment::sortAngles [17] tStart=0 [33]
+SkOpSegment::sortAngles [1] tStart=0.0607988451 [58]
+SkOpSegment::sortAngles [3] tStart=0.939581007 [59]
+SkOpSpan::sortableTop dir=kTop seg=9 t=0.5 pt=(19.6961422,10)
+SkOpSpan::sortableTop [0] valid=1 operand=1 span=17 ccw=1 seg=9 {{{10, 10}, {29.3922844f, 10}}} t=0.5 pt=(19.6961422,10) slope=(19.3922844,0)
+SkOpSegment::markWinding id=9 (10,10 29.3922844,10) t=0 [17] (10,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997) t=0 [19] (29.3922844,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 [21] (29.2278862,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=12 (29.2278862,66.6626663 29.2278862,69.7553177 32.3205376,69.7553177) t=0 [23] (29.2278862,66.6626663) tEnd=0.855202762 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=9 (10,10 29.3922844,10) t=0 [17] (10,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=28 (10,110 10,10) t=0 [55] (10,110) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=27 (110,110 10,110) t=0 [53] (110,110) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=26 (110,10 110,110) t=0 [51] (110,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=25 (90.9165573,10 110,10) t=0 [49] (90.9165573,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=24 (91.0809555,10.9948997 91.0809555,10.4838676 90.9165573,10) t=0 [47] (91.0809555,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=23 (91.0809555,66.6626663 91.0809555,10.9948997) t=0 [45] (91.0809555,66.6626663) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=22 (87.9883041,69.7553177 91.0809555,69.7553177 91.0809555,66.6626663) t=0 [43] (87.9883041,69.7553177) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=21 (68.4014969,69.7553177 87.9883041,69.7553177) t=0 [41] (68.4014969,69.7553177) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=20 (65.3088455,66.6626663 65.3088455,69.7553177 68.4014969,69.7553177) t=0 [39] (65.3088455,66.6626663) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=19 (65.3088455,10.9948997 65.3088455,66.6626663) t=0 [37] (65.3088455,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=18 (65.4732437,10 65.3088455,10.4838676 65.3088455,10.9948997) t=0 [35] (65.4732437,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=17 (54.835598,10 65.4732437,10) t=0 [33] (54.835598,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=9 t=1 tEnd=0 op=sect miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=9 (10,10 29.3922844,10) t=0 [17] (10,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=28 (10,110 10,10) t=0 [55] (10,110) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=27 (110,110 10,110) t=0 [53] (110,110) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=26 (110,10 110,110) t=0 [51] (110,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=25 (90.9165573,10 110,10) t=0 [49] (90.9165573,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=24 (91.0809555,10.9948997 91.0809555,10.4838676 90.9165573,10) t=0 [47] (91.0809555,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=23 (91.0809555,66.6626663 91.0809555,10.9948997) t=0 [45] (91.0809555,66.6626663) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=22 (87.9883041,69.7553177 91.0809555,69.7553177 91.0809555,66.6626663) t=0 [43] (87.9883041,69.7553177) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=21 (68.4014969,69.7553177 87.9883041,69.7553177) t=0 [41] (68.4014969,69.7553177) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=20 (65.3088455,66.6626663 65.3088455,69.7553177 68.4014969,69.7553177) t=0 [39] (65.3088455,66.6626663) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=19 (65.3088455,10.9948997 65.3088455,66.6626663) t=0 [37] (65.3088455,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=18 (65.4732437,10 65.3088455,10.4838676 65.3088455,10.9948997) t=0 [35] (65.4732437,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=17 (54.835598,10 65.4732437,10) t=0 [33] (54.835598,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeOp chase.append id=17 windSum=-1
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.969790504 pt=(55.4733543,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=33 ccw=0 seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}} t=0.0599527719 pt=(55.4733543,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=59 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.969790504 pt=(55.4733543,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kRight seg=3 t=0.969790504 pt=(55.4733543,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=51 ccw=0 seg=26 {{{110, 10}, {110, 110}}} t=1.90734863e-08 pt=(110,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=47 ccw=0 seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f} t=0.999998002 pt=(90.9165573,10.0000019) slope=(-0.162198404,-0.4773941)
+SkOpSpan::sortableTop [2] valid=1 operand=1 span=35 ccw=1 seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f} t=1.9976668e-06 pt=(65.4732437,10.0000019) slope=(-0.162198404,0.4773941)
+SkOpSpan::sortableTop [3] valid=0 operand=0 span=7 ccw=0 seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f} t=0 pt=(56.1111107,10.0000019) slope=(0,0)
+SkOpSpan::sortableTop [4] valid=1 operand=0 span=59 ccw=0 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.969790504 pt=(55.4733543,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.954685755 pt=(55.1544762,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=33 ccw=0 seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}} t=0.029976386 pt=(55.1544762,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=59 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.954685755 pt=(55.1544762,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kRight seg=3 t=0.954685755 pt=(55.1544762,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=51 ccw=0 seg=26 {{{110, 10}, {110, 110}}} t=1.90734863e-08 pt=(110,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=47 ccw=0 seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f} t=0.999998002 pt=(90.9165573,10.0000019) slope=(-0.162198404,-0.4773941)
+SkOpSpan::sortableTop [2] valid=1 operand=1 span=35 ccw=1 seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f} t=1.9976668e-06 pt=(65.4732437,10.0000019) slope=(-0.162198404,0.4773941)
+SkOpSpan::sortableTop [3] valid=0 operand=0 span=7 ccw=0 seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f} t=0 pt=(56.1111107,10.0000019) slope=(0,0)
+SkOpSpan::sortableTop [4] valid=1 operand=0 span=59 ccw=0 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.954685755 pt=(55.1544762,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.962238129 pt=(55.3139153,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=33 ccw=0 seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}} t=0.0449645789 pt=(55.3139153,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=59 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.962238129 pt=(55.3139153,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kRight seg=3 t=0.962238129 pt=(55.3139153,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=51 ccw=0 seg=26 {{{110, 10}, {110, 110}}} t=1.90734863e-08 pt=(110,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=47 ccw=0 seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f} t=0.999998002 pt=(90.9165573,10.0000019) slope=(-0.162198404,-0.4773941)
+SkOpSpan::sortableTop [2] valid=1 operand=1 span=35 ccw=1 seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f} t=1.9976668e-06 pt=(65.4732437,10.0000019) slope=(-0.162198404,0.4773941)
+SkOpSpan::sortableTop [3] valid=0 operand=0 span=7 ccw=0 seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f} t=0 pt=(56.1111107,10.0000019) slope=(0,0)
+SkOpSpan::sortableTop [4] valid=1 operand=0 span=59 ccw=0 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.962238129 pt=(55.3139153,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.977342878 pt=(55.6327934,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=33 ccw=0 seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}} t=0.0749409649 pt=(55.6327934,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=59 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.977342878 pt=(55.6327934,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kRight seg=3 t=0.977342878 pt=(55.6327934,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=51 ccw=0 seg=26 {{{110, 10}, {110, 110}}} t=1.90734863e-08 pt=(110,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=47 ccw=0 seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f} t=0.999998002 pt=(90.9165573,10.0000019) slope=(-0.162198404,-0.4773941)
+SkOpSpan::sortableTop [2] valid=1 operand=1 span=35 ccw=1 seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f} t=1.9976668e-06 pt=(65.4732437,10.0000019) slope=(-0.162198404,0.4773941)
+SkOpSpan::sortableTop [3] valid=0 operand=0 span=7 ccw=0 seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f} t=0 pt=(56.1111107,10.0000019) slope=(0,0)
+SkOpSpan::sortableTop [4] valid=1 operand=0 span=59 ccw=0 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.977342878 pt=(55.6327934,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.966014316 pt=(55.3936348,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=33 ccw=0 seg=17 {{{54.835598f, 10}, {65.4732437f, 10}}} t=0.0524586754 pt=(55.3936348,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=59 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.966014316 pt=(55.3936348,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kRight seg=3 t=0.966014316 pt=(55.3936348,10.0000019)
+SkOpSpan::sortableTop [0] valid=0 operand=1 span=51 ccw=0 seg=26 {{{110, 10}, {110, 110}}} t=1.90734863e-08 pt=(110,10) slope=(0,0)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=47 ccw=0 seg=24 {{{{91.0809555f, 10.9948997f}, {91.0809555f, 10.4838676f}, {90.9165573f, 10}}}, 0.986621082f} t=0.999998002 pt=(90.9165573,10.0000019) slope=(-0.162198404,-0.4773941)
+SkOpSpan::sortableTop [2] valid=1 operand=1 span=35 ccw=1 seg=18 {{{{65.4732437f, 10}, {65.3088455f, 10.4838676f}, {65.3088455f, 10.9948997f}}}, 0.986621082f} t=1.9976668e-06 pt=(65.4732437,10.0000019) slope=(-0.162198404,0.4773941)
+SkOpSpan::sortableTop [3] valid=0 operand=0 span=7 ccw=0 seg=4 {{{{56.1111107f, 10.0000019f}, {59.4444466f, 10.0000019f}, {59.4444466f, 13.333334f}}}, 0.707106769f} t=0 pt=(56.1111107,10.0000019) slope=(0,0)
+SkOpSpan::sortableTop [4] valid=1 operand=0 span=59 ccw=0 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.966014316 pt=(55.3936348,10.0000019) slope=(21.1111107,0)
+SkOpSpan::sortableTop dir=kTop seg=3 t=0.469790504 pt=(44.9178009,10.0000019)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=5 ccw=1 seg=3 {{{35, 10.0000019f}, {56.1111107f, 10.0000019f}}} t=0.469790504 pt=(44.9178009,10.0000019) slope=(21.1111107,0)
+SkOpSegment::markWinding id=3 (35,10.0000019 56.1111107,10.0000019) t=0 [5] (35,10.0000019) tEnd=0.939581007 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=3 (35,10.0000019 56.1111107,10.0000019) t=0 [5] (35,10.0000019) tEnd=0.939581007 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (31.6666698,13.333334 31.6666698,10.0000019 35,10.0000019) t=0 [3] (31.6666698,13.333334) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (31.6666698,73.3333359 31.6666698,13.333334) t=0.0607988451 [58] (31.6666698,69.6854019) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSpan::sortableTop dir=kLeft seg=16 t=0.5 pt=(54.9586182,10.4907045)
+SkOpSpan::sortableTop [0] valid=1 operand=1 span=55 ccw=1 seg=28 {{{10, 110}, {10, 10}}} t=0.995092955 pt=(10,10.4907045) slope=(0,-100)
+SkOpSpan::sortableTop [1] valid=1 operand=1 span=19 ccw=0 seg=10 {{{{29.3922844f, 10}, {29.2278862f, 10.4838676f}, {29.2278862f, 10.9948997f}}}, 0.986621082f} t=0.500000041 pt=(29.2692623,10.4907045) slope=(-0.0816492225,0.494122205)
+SkOpSpan::sortableTop [2] valid=1 operand=0 span=3 ccw=1 seg=2 {{{{31.6666698f, 13.333334f}, {31.6666698f, 10.0000019f}, {35, 10.0000019f}}}, 0.707106769f} t=0.643045062 pt=(33.2591515,10.4907045) slope=(1.73977059,-1.06545097)
+SkOpSpan::sortableTop [3] valid=1 operand=1 span=31 ccw=1 seg=16 {{{{54.9999962f, 10.9948997f}, {54.9999962f, 10.4838676f}, {54.835598f, 10}}}, 0.986621082f} t=0.5 pt=(54.9586182,10.4907045) slope=(-0.0816492292,-0.494122204)
+SkOpSegment::markWinding id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10) t=0 [31] (54.9999962,10.9948997) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10) t=0 [31] (54.9999962,10.9948997) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=15 (54.9999962,66.6626663 54.9999962,10.9948997) t=0 [29] (54.9999962,66.6626663) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=14 (51.9073448,69.7553177 54.9999962,69.7553177 54.9999962,66.6626663) t=0 [27] (51.9073448,69.7553177) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=13 (32.3205376,69.7553177 51.9073448,69.7553177) t=0 [25] (32.3205376,69.7553177) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=12 (29.2278862,66.6626663 29.2278862,69.7553177 32.3205376,69.7553177) t=0.855202762 [57] (31.6666698,69.6854019) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997 0.986621082f) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=12 (29.2278862,66.6626663 29.2278862,69.1578563 31.6666698,69.6854019 0.778275728f) t=0 tEnd=0.855202762 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=12 (31.6666698,69.6854019 31.9898661,69.7553177 32.3205376,69.7553177 0.994332433f) t=0.855202762 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=13 (32.3205376,69.7553177 51.9073448,69.7553177) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=14 (51.9073448,69.7553177 54.9999962,69.7553177 54.9999962,66.6626663 0.707106769f) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=15 (54.9999962,66.6626663 54.9999962,10.9948997) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10 0.986621082f) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=1 (31.6666698,73.3333359 31.6666698,69.6854019) t=0 tEnd=0.0607988451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (31.6666698,69.6854019 31.6666698,13.333334) t=0.0607988451 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=2 (31.6666698,13.333334 31.6666698,10.0000019 35,10.0000019 0.707106769f) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (35,10.0000019 54.835598,10.0000019) t=0 tEnd=0.939581007 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (54.835598,10.0000019 56.1111107,10.0000019) t=0.939581007 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (56.1111107,10.0000019 59.4444466,10.0000019 59.4444466,13.333334 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (59.4444466,13.333334 59.4444466,73.3333359) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (59.4444466,73.3333359 59.4444466,76.6666641 56.1111107,76.6666641 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (56.1111107,76.6666641 35,76.6666641) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=8 (35,76.6666641 31.6666698,76.6666641 31.6666698,73.3333359 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::activeOp id=3 t=0.939581007 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=0 result=0
+SkOpSegment::markDone id=3 (35,10.0000019 56.1111107,10.0000019) t=0 [5] (35,10.0000019) tEnd=0.939581007 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=2 (31.6666698,13.333334 31.6666698,10.0000019 35,10.0000019) t=0 [3] (31.6666698,13.333334) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=1 (31.6666698,73.3333359 31.6666698,13.333334) t=0.0607988451 [58] (31.6666698,69.6854019) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeOp chase.append id=1 windSum=-1
+SkOpSegment::debugShowActiveSpans id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997 0.986621082f) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=12 (29.2278862,66.6626663 29.2278862,69.1578563 31.6666698,69.6854019 0.778275728f) t=0 tEnd=0.855202762 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=12 (31.6666698,69.6854019 31.9898661,69.7553177 32.3205376,69.7553177 0.994332433f) t=0.855202762 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=13 (32.3205376,69.7553177 51.9073448,69.7553177) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=14 (51.9073448,69.7553177 54.9999962,69.7553177 54.9999962,66.6626663 0.707106769f) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=15 (54.9999962,66.6626663 54.9999962,10.9948997) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10 0.986621082f) t=0 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=1 (31.6666698,73.3333359 31.6666698,69.6854019) t=0 tEnd=0.0607988451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (54.835598,10.0000019 56.1111107,10.0000019) t=0.939581007 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (56.1111107,10.0000019 59.4444466,10.0000019 59.4444466,13.333334 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (59.4444466,13.333334 59.4444466,73.3333359) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (59.4444466,73.3333359 59.4444466,76.6666641 56.1111107,76.6666641 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (56.1111107,76.6666641 35,76.6666641) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=8 (35,76.6666641 31.6666698,76.6666641 31.6666698,73.3333359 0.707106769f) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::activeOp id=12 t=0.855202762 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=12 (29.2278862,66.6626663 29.2278862,69.7553177 32.3205376,69.7553177) t=0.855202762 [57] (31.6666698,69.6854019) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+bridgeOp current id=12 from=(31.6666698,69.6854019) to=(32.3205376,69.7553177)
+path.moveTo(31.6666698,69.6854019);
+path.conicTo(31.9898663,69.7553177, 32.3205376,69.7553177, 0.994332433);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=13 (32.3205376,69.7553177 51.9073448,69.7553177) t=0 [25] (32.3205376,69.7553177) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+bridgeOp current id=13 from=(32.3205376,69.7553177) to=(51.9073448,69.7553177)
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=14 (51.9073448,69.7553177 54.9999962,69.7553177 54.9999962,66.6626663) t=0 [27] (51.9073448,69.7553177) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+bridgeOp current id=14 from=(51.9073448,69.7553177) to=(54.9999962,66.6626663)
+path.lineTo(51.9073448,69.7553177);
+path.conicTo(54.9999962,69.7553177, 54.9999962,66.6626663, 0.707106769);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=15 (54.9999962,66.6626663 54.9999962,10.9948997) t=0 [29] (54.9999962,66.6626663) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+bridgeOp current id=15 from=(54.9999962,66.6626663) to=(54.9999962,10.9948997)
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [16/3] next=17/4 sect=25/25  s=1 [32] e=0 [31] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
+SkOpAngle::dumpOne [17/4] next=3/8 sect=31/31  s=0 [33] e=1 [34] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done unorderable operand
+SkOpAngle::dumpOne [3/8] next=3/7 sect=31/31  s=0.939581007 [59] e=1 [6] sgn=-1 windVal=1 windSum=? unorderable
+SkOpAngle::dumpOne [3/7] next=16/3 sect=15/15  s=0.939581007 [59] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::activeOp id=17 t=0 tEnd=1 op=sect miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.939581007 tEnd=1 op=sect miFrom=1 miTo=0 suFrom=0 suTo=0 result=0
+SkOpSegment::markDone id=3 (35,10.0000019 56.1111107,10.0000019) t=0.939581007 [59] (54.835598,10.0000019) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (56.1111107,10.0000019 59.4444466,10.0000019 59.4444466,13.333334) t=0 [7] (56.1111107,10.0000019) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=5 (59.4444466,13.333334 59.4444466,73.3333359) t=0 [9] (59.4444466,13.333334) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=6 (59.4444466,73.3333359 59.4444466,76.6666641 56.1111107,76.6666641) t=0 [11] (59.4444466,73.3333359) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=7 (56.1111107,76.6666641 35,76.6666641) t=0 [13] (56.1111107,76.6666641) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=8 (35,76.6666641 31.6666698,76.6666641 31.6666698,73.3333359) t=0 [15] (35,76.6666641) tEnd=1 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markDone id=1 (31.6666698,73.3333359 31.6666698,13.333334) t=0 [1] (31.6666698,73.3333359) tEnd=0.0607988451 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=3 t=0.939581007 tEnd=0 op=sect miFrom=0 miTo=1 suFrom=0 suTo=0 result=0
+SkOpSegment::markDone id=16 (54.9999962,10.9948997 54.9999962,10.4838676 54.835598,10) t=0 [31] (54.9999962,10.9948997) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[16] to:[17] start=-2068759720 end=-2068759576
+bridgeOp current id=16 from=(54.9999962,10.9948997) to=(54.835598,10)
+path.lineTo(54.9999962,10.9948997);
+path.conicTo(54.9999962,10.4838676, 54.835598,10, 0.986621082);
+SkOpSegment::debugShowActiveSpans id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997 0.986621082f) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=12 (29.2278862,66.6626663 29.2278862,69.1578563 31.6666698,69.6854019 0.778275728f) t=0 tEnd=0.855202762 windSum=-1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::activeOp id=12 t=0.855202762 tEnd=0 op=sect miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=12 (29.2278862,66.6626663 29.2278862,69.7553177 32.3205376,69.7553177) t=0 [23] (29.2278862,66.6626663) tEnd=0.855202762 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=11 (29.2278862,10.9948997 29.2278862,66.6626663) t=0 [21] (29.2278862,10.9948997) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=10 (29.3922844,10 29.2278862,10.4838676 29.2278862,10.9948997) t=0 [19] (29.3922844,10) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
 </div>
 
 </div>
@@ -182,7 +326,7 @@
 <script type="text/javascript">
 
     var testDivs = [
-        op_4,
+        bug8228,
     ];
 
 var decimal_places = 3; // make this 3 to show more precision