aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2016-08-31 14:36:29 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-31 14:36:30 -0700
commit30b9fdd6a1d607bde20c793af65b5e2e8a1737ca (patch)
treedede5477d934673f3857fb1cf21ae9af4988f7bc
parent8abb370aca280516f4861c6c942ec453aad018fa (diff)
pathops coincident work
This is working towards fixing all bugs around simplifying the tiger. This installment simplifies the point-t intersection list as it is built rather than doing the analysis once the intersections are complete. This avoids getting the list in an inconsistent state and makes coincident checks faster and more stable. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2237223002 TBR=reed@google.com BUG=skia:5131 Review-Url: https://codereview.chromium.org/2237223002
-rw-r--r--src/pathops/SkAddIntersections.cpp21
-rw-r--r--src/pathops/SkOpAngle.cpp4
-rw-r--r--src/pathops/SkOpAngle.h2
-rwxr-xr-xsrc/pathops/SkOpCoincidence.cpp84
-rw-r--r--src/pathops/SkOpCoincidence.h12
-rw-r--r--src/pathops/SkOpContour.h2
-rw-r--r--src/pathops/SkOpSegment.cpp26
-rw-r--r--src/pathops/SkOpSegment.h7
-rwxr-xr-xsrc/pathops/SkOpSpan.cpp161
-rw-r--r--src/pathops/SkOpSpan.h38
-rw-r--r--src/pathops/SkPathOpsCommon.cpp3
-rw-r--r--src/pathops/SkPathOpsDebug.cpp268
-rw-r--r--src/pathops/SkPathOpsDebug.h4
-rw-r--r--src/pathops/SkPathOpsPoint.h29
-rw-r--r--src/pathops/SkPathOpsTypes.h16
-rwxr-xr-xtests/PathOpsDebug.cpp12
-rw-r--r--tests/PathOpsExtendedTest.cpp28
-rw-r--r--tests/PathOpsExtendedTest.h14
-rw-r--r--tests/PathOpsOpTest.cpp114
-rw-r--r--tests/PathOpsSimplifyFailTest.cpp2
-rw-r--r--tests/PathOpsSimplifyTest.cpp2
-rw-r--r--tools/pathops_sorter.htm18
-rw-r--r--tools/pathops_visualizer.htm2695
23 files changed, 2595 insertions, 967 deletions
diff --git a/src/pathops/SkAddIntersections.cpp b/src/pathops/SkAddIntersections.cpp
index bdc7ae2565..04f5bc384c 100644
--- a/src/pathops/SkAddIntersections.cpp
+++ b/src/pathops/SkAddIntersections.cpp
@@ -508,16 +508,19 @@ bool AddIntersectTs(SkOpContour* test, SkOpContour* next, SkOpCoincidence* coinc
SkOpPtT* testTAt = wt.segment()->addT(ts[swap][pt]);
wn.segment()->debugValidate();
SkOpPtT* nextTAt = wn.segment()->addT(ts[!swap][pt]);
- SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt);
- if (oppPrev) {
- testTAt->addOpp(nextTAt, oppPrev);
- }
- if (testTAt->fPt != nextTAt->fPt) {
- testTAt->span()->unaligned();
- nextTAt->span()->unaligned();
+ if (!testTAt->contains(nextTAt)) {
+ SkOpPtT* oppPrev = testTAt->oppPrev(nextTAt); // Returns nullptr if pair
+ if (oppPrev) { // already shares a pt-t loop.
+ testTAt->span()->mergeMatches(nextTAt->span());
+ testTAt->addOpp(nextTAt, oppPrev);
+ }
+ if (testTAt->fPt != nextTAt->fPt) {
+ testTAt->span()->unaligned();
+ nextTAt->span()->unaligned();
+ }
+ wt.segment()->debugValidate();
+ wn.segment()->debugValidate();
}
- wt.segment()->debugValidate();
- wn.segment()->debugValidate();
if (!ts.isCoincident(pt)) {
continue;
}
diff --git a/src/pathops/SkOpAngle.cpp b/src/pathops/SkOpAngle.cpp
index 2da8357add..6bc510e5ee 100644
--- a/src/pathops/SkOpAngle.cpp
+++ b/src/pathops/SkOpAngle.cpp
@@ -905,8 +905,10 @@ void SkOpAngle::setSpans() {
if (verb != SkPath::kLine_Verb
&& !(fIsCurve = fSweep[0].crossCheck(fSweep[1]) != 0)) {
SkDLine lineHalf;
+ fCurvePart[1] = fCurvePart[SkPathOpsVerbToPoints(verb)];
+ fOriginalCurvePart[1] = fCurvePart[1];
lineHalf[0].set(fCurvePart[0].asSkPoint());
- lineHalf[1].set(fCurvePart[SkPathOpsVerbToPoints(verb)].asSkPoint());
+ lineHalf[1].set(fCurvePart[1].asSkPoint());
fTangentHalf.lineEndPoints(lineHalf);
fSide = 0;
}
diff --git a/src/pathops/SkOpAngle.h b/src/pathops/SkOpAngle.h
index a1ead1ecfd..4099c4a90b 100644
--- a/src/pathops/SkOpAngle.h
+++ b/src/pathops/SkOpAngle.h
@@ -30,7 +30,7 @@ public:
const SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpCoincidence.cpp b/src/pathops/SkOpCoincidence.cpp
index 1c8ab5f524..831ce71190 100755
--- a/src/pathops/SkOpCoincidence.cpp
+++ b/src/pathops/SkOpCoincidence.cpp
@@ -250,10 +250,10 @@ void SkOpCoincidence::add(SkOpPtT* coinPtTStart, SkOpPtT* coinPtTEnd, SkOpPtT* o
oppPtTEnd = oppPtTEnd->span()->ptT();
SkASSERT(coinPtTStart->fT < coinPtTEnd->fT);
SkASSERT(oppPtTStart->fT != oppPtTEnd->fT);
- SkASSERT(!coinPtTStart->deleted());
- SkASSERT(!coinPtTEnd->deleted());
- SkASSERT(!oppPtTStart->deleted());
- SkASSERT(!oppPtTEnd->deleted());
+ SkOPASSERT(!coinPtTStart->deleted());
+ SkOPASSERT(!coinPtTEnd->deleted());
+ SkOPASSERT(!oppPtTStart->deleted());
+ SkOPASSERT(!oppPtTEnd->deleted());
DebugCheckAdd(fHead, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
DebugCheckAdd(fTop, coinPtTStart, coinPtTEnd, oppPtTStart, oppPtTEnd);
SkCoincidentSpans* coinRec = SkOpTAllocator<SkCoincidentSpans>::Allocate(
@@ -301,7 +301,7 @@ bool SkOpCoincidence::addEndMovedSpans(const SkOpSpan* base, const SkOpSpanBase*
SkOpSegment* writableSeg = const_cast<SkOpSegment*>(testSeg);
SkOpPtT* oppStart = writableSeg->addT(t);
SkOpSpan* writableBase = const_cast<SkOpSpan*>(base);
- oppStart->span()->addOppAndMerge(writableBase);
+ oppStart->span()->addOpp(writableBase);
if (oppStart->deleted()) {
continue;
}
@@ -426,9 +426,7 @@ bool SkOpCoincidence::addExpanded() {
FAIL_IF(!start->upCastable());
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
while (test != end || oTest != oEnd) {
if (!test->ptT()->contains(oStart->segment())
|| !oTest->ptT()->contains(start->segment())) {
@@ -446,26 +444,21 @@ bool SkOpCoincidence::addExpanded() {
oStartPtT->fT + oStartRange * startPart, test, &startOver)
: start->segment()->addExpanded(
startPtT->fT + startRange * oStartPart, oTest, &startOver);
- if (!success) {
- SkOPASSERT(false);
- return false;
- }
+ FAIL_IF(!success);
if (startOver) {
test = start;
oTest = oStart;
}
+ end = coin->coinPtTEnd()->span();
+ oEnd = coin->oppPtTEnd()->span();
}
if (test != end) {
- if (!test->upCastable()) {
- return false;
- }
+ FAIL_IF(!test->upCastable());
test = test->upCast()->next();
}
if (oTest != oEnd) {
oTest = coin->flipped() ? oTest->prev() : oTest->upCast()->next();
- if (!oTest) {
- return false;
- }
+ FAIL_IF(!oTest);
}
}
} while ((coin = coin->next()));
@@ -579,9 +572,20 @@ bool SkOpCoincidence::addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
const SkOpPtT* over2s, const SkOpPtT* over2e, double tStart, double tEnd,
SkOpPtT* coinPtTStart, const SkOpPtT* coinPtTEnd,
SkOpPtT* oppPtTStart, const SkOpPtT* oppPtTEnd) {
+ SkOpSegment* coinSeg = coinPtTStart->segment();
+ SkOpSegment* oppSeg = oppPtTStart->segment();
+ if (coinSeg == oppSeg) {
+ return false;
+ }
double coinTs, coinTe, oppTs, oppTe;
TRange(over1s, over1e, tStart, tEnd, coinPtTStart, coinPtTEnd, &coinTs, &coinTe);
+ if (coinSeg->collapsed(coinTs, coinTe)) {
+ return false;
+ }
TRange(over2s, over2e, tStart, tEnd, oppPtTStart, oppPtTEnd, &oppTs, &oppTe);
+ if (oppSeg->collapsed(oppTs, oppTe)) {
+ return false;
+ }
bool swap = coinTs > coinTe;
if (swap) {
SkTSwap(coinTs, coinTe);
@@ -592,11 +596,6 @@ bool SkOpCoincidence::addIfMissing(const SkOpPtT* over1s, const SkOpPtT* over1e,
if (swap) {
SkTSwap(oppTs, oppTe);
}
- SkOpSegment* coinSeg = coinPtTStart->segment();
- SkOpSegment* oppSeg = oppPtTStart->segment();
- if (coinSeg == oppSeg) {
- return false;
- }
return this->addOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe
SkDEBUGPARAMS(false) /* don't assert if addOrOverlap fails */ );
}
@@ -672,9 +671,9 @@ bool SkOpCoincidence::addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg,
SkOpPtT* osWritable = os ? const_cast<SkOpPtT*>(os)
: oppSeg->addT(oppTs);
RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
- csWritable->span()->addOppAndMerge(osWritable->span());
+ csWritable->span()->addOpp(osWritable->span());
cs = csWritable;
- os = osWritable;
+ os = osWritable->active();
RETURN_FALSE_IF(callerAborts, (ce && ce->deleted()) || (oe && oe->deleted()));
}
if (!ce || !oe) {
@@ -682,7 +681,7 @@ bool SkOpCoincidence::addOrOverlap(SkOpSegment* coinSeg, SkOpSegment* oppSeg,
: coinSeg->addT(coinTe);
SkOpPtT* oeWritable = oe ? const_cast<SkOpPtT*>(oe)
: oppSeg->addT(oppTe);
- ceWritable->span()->addOppAndMerge(oeWritable->span());
+ ceWritable->span()->addOpp(oeWritable->span());
ce = ceWritable;
oe = oeWritable;
}
@@ -1141,6 +1140,38 @@ bool SkOpCoincidence::release(SkCoincidentSpans* coin, SkCoincidentSpans* remove
return coin != nullptr;
}
+void SkOpCoincidence::releaseDeleted(SkCoincidentSpans* coin) {
+ if (!coin) {
+ return;
+ }
+ SkCoincidentSpans* head = coin;
+ SkCoincidentSpans* prev = nullptr;
+ SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin->coinPtTStart()->deleted()) {
+ SkOPASSERT(coin->flipped() ? coin->oppPtTEnd()->deleted() :
+ coin->oppPtTStart()->deleted());
+ if (prev) {
+ prev->setNext(next);
+ } else if (head == fHead) {
+ fHead = next;
+ } else {
+ fTop = next;
+ }
+ } else {
+ SkOPASSERT(coin->flipped() ? !coin->oppPtTEnd()->deleted() :
+ !coin->oppPtTStart()->deleted());
+ prev = coin;
+ }
+ } while ((coin = next));
+}
+
+void SkOpCoincidence::releaseDeleted() {
+ this->releaseDeleted(fHead);
+ this->releaseDeleted(fTop);
+}
+
// Please keep this in sync with debugReorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1196,6 +1227,7 @@ void SkOpCoincidence::restoreHead() {
}
// Please keep this in sync with debugExpand()
+// expand the range by checking adjacent spans for coincidence
bool SkOpCoincidence::expand() {
SkCoincidentSpans* coin = fHead;
if (!coin) {
diff --git a/src/pathops/SkOpCoincidence.h b/src/pathops/SkOpCoincidence.h
index 436fa82527..eeeb7344dc 100644
--- a/src/pathops/SkOpCoincidence.h
+++ b/src/pathops/SkOpCoincidence.h
@@ -156,9 +156,9 @@ public:
#if DEBUG_COINCIDENCE_VERBOSE
void debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugAddMissing(const char* id, SkPathOpsDebug::GlitchLog* ) const;
- void debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe,
- const char* id, SkPathOpsDebug::GlitchLog* log) const;
+ void debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const;
#endif
const SkOpAngle* debugAngle(int id) const {
@@ -170,7 +170,7 @@ public:
void debugCheckValid(const char* id, SkPathOpsDebug::GlitchLog* log) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(fGlobalState->debugContour(id), nullptr);
}
@@ -193,6 +193,8 @@ public:
#if DEBUG_COINCIDENCE_VERBOSE
void debugRemoveCollapsed(const char* id, SkPathOpsDebug::GlitchLog* ) const;
void debugReorder(const char* id, SkPathOpsDebug::GlitchLog* ) const;
+ void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkCoincidentSpans* ,
+ const SkCoincidentSpans* ) const;
void debugRelease(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSegment* ) const;
#endif
void debugShowCoincidence() const;
@@ -227,6 +229,7 @@ public:
static bool Ordered(const SkOpSegment* coin, const SkOpSegment* opp);
void release(const SkOpSegment* );
+ void releaseDeleted();
bool removeCollapsed();
bool reorder();
@@ -294,6 +297,7 @@ private:
const SkOpPtT* coinStart2, const SkOpPtT* coinEnd2,
double* overS, double* overE) const;
bool release(SkCoincidentSpans* coin, SkCoincidentSpans* );
+ void releaseDeleted(SkCoincidentSpans* );
void restoreHead();
bool testForCoincidence(const SkCoincidentSpans* outer, const SkOpPtT* testS,
const SkOpPtT* testE) const;
diff --git a/src/pathops/SkOpContour.h b/src/pathops/SkOpContour.h
index fa90c45bb6..412fecd73f 100644
--- a/src/pathops/SkOpContour.h
+++ b/src/pathops/SkOpContour.h
@@ -124,7 +124,7 @@ public:
void debugCheckHealth(const char* id, SkPathOpsDebug::GlitchLog* ) const;
#endif
- SkOpContour* debugContour(int id) {
+ SkOpContour* debugContour(int id) const {
return SkDEBUGRELEASE(this->globalState()->debugContour(id), nullptr);
}
diff --git a/src/pathops/SkOpSegment.cpp b/src/pathops/SkOpSegment.cpp
index 3c63683285..6a62175032 100644
--- a/src/pathops/SkOpSegment.cpp
+++ b/src/pathops/SkOpSegment.cpp
@@ -262,6 +262,7 @@ bool SkOpSegment::addExpanded(double newT, const SkOpSpanBase* test, bool* start
SkOpPtT* oppPrev = test->ptT()->oppPrev(newPtT);
if (oppPrev) {
SkOpSpanBase* writableTest = const_cast<SkOpSpanBase*>(test);
+ writableTest->mergeMatches(newPtT->span());
writableTest->ptT()->addOpp(newPtT, oppPrev);
writableTest->checkForCollapsedCoincidence();
}
@@ -355,6 +356,16 @@ bool SkOpSegment::collapsed() const {
return fVerb < SkPath::kCubic_Verb && fHead.pt() == fTail.pt();
}
+bool SkOpSegment::collapsed(double s, double e) const {
+ const SkOpSpanBase* span = &fHead;
+ do {
+ if (span->collapsed(s, e)) {
+ return true;
+ }
+ } while (span->upCastable() && (span = span->upCast()->next()));
+ return false;
+}
+
void SkOpSegment::ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType includeType) {
SkOpSegment* baseSegment = baseAngle->segment();
@@ -1300,13 +1311,8 @@ bool SkOpSegment::moveMultiples() {
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- oppTest->merge(oppSpan->upCast());
- } else {
- oppSpan->merge(oppTest->upCast());
- }
+ oppTest->mergeMatches(oppSpan);
+ oppTest->addOpp(oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1326,14 +1332,14 @@ bool SkOpSegment::spansNearby(const SkOpSpanBase* refSpan, const SkOpSpanBase* c
const SkOpPtT* refHead = refSpan->ptT();
const SkOpPtT* checkHead = checkSpan->ptT();
// if the first pt pair from adjacent spans are far apart, assume that all are far enough apart
- if (!SkDPoint::RoughlyEqual(refHead->fPt, checkHead->fPt)) {
+ if (!SkDPoint::WayRoughlyEqual(refHead->fPt, checkHead->fPt)) {
#if DEBUG_COINCIDENCE
// verify that no combination of points are close
const SkOpPtT* dBugRef = refHead;
do {
const SkOpPtT* dBugCheck = checkHead;
do {
- SkASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
+ SkOPASSERT(!SkDPoint::ApproximatelyEqual(dBugRef->fPt, dBugCheck->fPt));
dBugCheck = dBugCheck->next();
} while (dBugCheck != checkHead);
dBugRef = dBugRef->next();
@@ -1684,7 +1690,7 @@ bool SkOpSegment::testForCoincidence(const SkOpPtT* priorPtT, const SkOpPtT* ptT
continue;
}
SkDPoint oppPt = i.pt(index);
- if (oppPt.approximatelyEqual(midPt)) {
+ if (oppPt.approximatelyDEqual(midPt)) {
// the coincidence can occur at almost any angle
coincident = true;
}
diff --git a/src/pathops/SkOpSegment.h b/src/pathops/SkOpSegment.h
index 1b7aad199c..a1b5477a4e 100644
--- a/src/pathops/SkOpSegment.h
+++ b/src/pathops/SkOpSegment.h
@@ -108,6 +108,7 @@ public:
void calcAngles();
bool collapsed() const;
+ bool collapsed(double startT, double endT) const;
static void ComputeOneSum(const SkOpAngle* baseAngle, SkOpAngle* nextAngle,
SkOpAngle::IncludeType );
static void ComputeOneSumReverse(SkOpAngle* baseAngle, SkOpAngle* nextAngle,
@@ -128,7 +129,9 @@ public:
}
void debugAddAngle(double startT, double endT);
- const SkOpPtT* debugAddT(double t) const;
+#if DEBUG_COINCIDENCE_VERBOSE
+ const SkOpPtT* debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* ) const;
+#endif
const SkOpAngle* debugAngle(int id) const;
#if DEBUG_ANGLE
void debugCheckAngleCoin() const;
@@ -139,7 +142,7 @@ public:
void debugClearOne(const SkOpSpan* span, const char* id, SkPathOpsDebug::GlitchLog* glitches) const;
#endif
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugID() const {
return SkDEBUGRELEASE(fID, -1);
diff --git a/src/pathops/SkOpSpan.cpp b/src/pathops/SkOpSpan.cpp
index 98165fcfc5..162bcad293 100755
--- a/src/pathops/SkOpSpan.cpp
+++ b/src/pathops/SkOpSpan.cpp
@@ -13,6 +13,21 @@ bool SkOpPtT::alias() const {
return this->span()->ptT() != this;
}
+const SkOpPtT* SkOpPtT::active() const {
+ if (!fDeleted) {
+ return this;
+ }
+ const SkOpPtT* ptT = this;
+ const SkOpPtT* stopPtT = ptT;
+ while ((ptT = ptT->next()) != stopPtT) {
+ if (ptT->fSpan == fSpan && !ptT->fDeleted) {
+ return ptT;
+ }
+ }
+ SkASSERT(0); // should never return deleted
+ return this;
+}
+
bool SkOpPtT::collapsed(const SkOpPtT* check) const {
if (fPt != check->fPt) {
return false;
@@ -177,27 +192,14 @@ void SkOpPtT::setDeleted() {
fDeleted = true;
}
-// please keep this in sync with debugAddOppAndMerge
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::addOppAndMerge(SkOpSpanBase* opp) {
+void SkOpSpanBase::addOpp(SkOpSpanBase* opp) {
SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->addOpp(opp->ptT(), oppPrev);
- this->checkForCollapsedCoincidence();
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+ if (!oppPrev) {
return;
}
- this->mergeContained(bounds);
- opp->mergeContained(bounds);
+ this->mergeMatches(opp);
+ this->ptT()->addOpp(opp->ptT(), oppPrev);
+ this->checkForCollapsedCoincidence();
}
// Please keep this in sync with debugMergeContained()
@@ -206,37 +208,39 @@ void SkOpSpanBase::mergeContained(const SkPathOpsBounds& bounds) {
SkOpSpanBase* prev = this;
SkOpSegment* seg = this->segment();
while ((prev = prev->prev()) && bounds.contains(prev->pt()) && !seg->ptsDisjoint(prev, this)) {
- if (prev->prev()) {
- this->merge(prev->upCast());
- prev = this;
- } else if (this->final()) {
- seg->clearAll();
- return;
- } else {
- prev->merge(this->upCast());
- }
+ this->mergeMatches(prev);
+ this->addOpp(prev);
}
- SkOpSpanBase* current = this;
SkOpSpanBase* next = this;
while (next->upCastable() && (next = next->upCast()->next())
&& bounds.contains(next->pt()) && !seg->ptsDisjoint(this, next)) {
- if (!current->prev() && next->final()) {
- seg->clearAll();
- return;
- }
- if (current->prev()) {
- next->merge(current->upCast());
- current = next;
- } else {
- current->merge(next->upCast());
- // extra line in debug version
- }
+ this->mergeMatches(next);
+ this->addOpp(next);
}
#if DEBUG_COINCIDENCE
this->globalState()->coincidence()->debugValidate();
#endif
}
+bool SkOpSpanBase::collapsed(double s, double e) const {
+ const SkOpPtT* start = &fPtT;
+ const SkOpPtT* walk = start;
+ double min = walk->fT;
+ double max = min;
+ const SkOpSegment* segment = this->segment();
+ while ((walk = walk->next()) != start) {
+ if (walk->segment() != segment) {
+ continue;
+ }
+ min = SkTMin(min, walk->fT);
+ max = SkTMax(max, walk->fT);
+ if (between(min, s, max) && between(min, e, max)) {
+ return true;
+ }
+ }
+ return false;
+}
+
bool SkOpSpanBase::contains(const SkOpSpanBase* span) const {
const SkOpPtT* start = &fPtT;
const SkOpPtT* check = &span->fPtT;
@@ -294,7 +298,7 @@ void SkOpSpanBase::initBase(SkOpSegment* segment, SkOpSpan* prev, double t, cons
fChased = false;
SkDEBUGCODE(fCount = 1);
SkDEBUGCODE(fID = globalState()->nextSpanID());
- SkDEBUGCODE(fDeleted = false);
+ SkDEBUGCODE(fDebugDeleted = false);
}
// this pair of spans share a common t value or point; merge them and eliminate duplicates
@@ -305,6 +309,7 @@ void SkOpSpanBase::merge(SkOpSpan* span) {
SkASSERT(!zero_or_one(spanPtT->fT));
span->release(this->ptT());
if (this->contains(span)) {
+ SkOPASSERT(0); // check to see if this ever happens -- should have been found earlier
return; // merge is already in the ptT loop
}
SkOpPtT* remainder = spanPtT->next();
@@ -324,7 +329,12 @@ tryNextRemainder:
remainder = next;
}
fSpanAdds += span->fSpanAdds;
- this->checkForCollapsedCoincidence();
+}
+
+SkOpSpanBase* SkOpSpanBase::active() {
+ SkOpSpanBase* result = fPrev ? fPrev->next() : upCast()->next()->prev();
+ SkASSERT(this == result || fDebugDeleted);
+ return result;
}
// please keep in sync with debugCheckForCollapsedCoincidence()
@@ -344,6 +354,73 @@ void SkOpSpanBase::checkForCollapsedCoincidence() {
}
coins->markCollapsed(test);
} while ((test = test->next()) != head);
+ coins->releaseDeleted();
+}
+
+// please keep in sync with debugMergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::mergeMatches(SkOpSpanBase* opp) {
+ SkOpPtT* test = &fPtT;
+ SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+ if (!zero_or_one(inner->fT)) {
+ innerBase->upCast()->release(test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ testBase->upCast()->release(inner);
+ } else {
+ segment->markAllDone(); // mark segment as collapsed
+ SkDEBUGCODE(testBase->debugSetDeleted());
+ test->setDeleted();
+ SkDEBUGCODE(innerBase->debugSetDeleted());
+ inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->checkForCollapsedCoincidence();
}
int SkOpSpan::computeWindSum() {
@@ -413,7 +490,7 @@ bool SkOpSpan::insertCoincidence(const SkOpSegment* segment, bool flipped) {
}
void SkOpSpan::release(const SkOpPtT* kept) {
- SkDEBUGCODE(fDeleted = true);
+ SkDEBUGCODE(fDebugDeleted = true);
SkASSERT(kept->span() != this);
SkASSERT(!final());
SkOpSpan* prev = this->prev();
diff --git a/src/pathops/SkOpSpan.h b/src/pathops/SkOpSpan.h
index 96a97e0732..7c7bf7c186 100644
--- a/src/pathops/SkOpSpan.h
+++ b/src/pathops/SkOpSpan.h
@@ -28,6 +28,8 @@ public:
kIsDuplicate = 1
};
+ const SkOpPtT* active() const;
+
// please keep in sync with debugAddOpp()
void addOpp(SkOpPtT* opp, SkOpPtT* oppPrev) {
SkOpPtT* oldNext = this->fNext;
@@ -55,7 +57,7 @@ public:
const SkOpCoincidence* debugCoincidence() const;
bool debugContains(const SkOpPtT* ) const;
const SkOpPtT* debugContains(const SkOpSegment* check) const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
int debugLoopLimit(bool report) const;
bool debugMatchID(int id) const;
const SkOpPtT* debugOppPrev(const SkOpPtT* opp) const;
@@ -98,7 +100,8 @@ public:
bool onEnd() const;
- SkOpPtT* oppPrev(SkOpPtT* opp) const {
+ // returns nullptr if this is already in the opp ptT loop
+ SkOpPtT* oppPrev(const SkOpPtT* opp) const {
// find the fOpp ptr to opp
SkOpPtT* oppPrev = opp->fNext;
if (oppPrev == this) {
@@ -176,7 +179,8 @@ protected:
class SkOpSpanBase {
public:
- void addOppAndMerge(SkOpSpanBase* );
+ SkOpSpanBase* active();
+ void addOpp(SkOpSpanBase* opp);
void bumpSpanAdds() {
++fSpanAdds;
@@ -192,6 +196,7 @@ public:
return fCoinEnd;
}
+ bool collapsed(double s, double e) const;
bool contains(const SkOpSpanBase* ) const;
const SkOpPtT* contains(const SkOpSegment* ) const;
@@ -209,11 +214,6 @@ public:
bool containsCoinEnd(const SkOpSegment* ) const;
SkOpContour* contour() const;
-#if DEBUG_COINCIDENCE_VERBOSE
- void debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* ,
- bool* del1, bool* del2) const;
-#endif
-
int debugBumpCount() {
return SkDEBUGRELEASE(++fCount, -1);
}
@@ -222,6 +222,9 @@ public:
return SkDEBUGRELEASE(fID, -1);
}
+#if DEBUG_COINCIDENCE_VERBOSE
+ void debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* , const SkOpSpanBase* opp) const;
+#endif
bool debugAlignedEnd(double t, const SkPoint& pt) const;
bool debugAlignedInner() const;
const SkOpAngle* debugAngle(int id) const;
@@ -230,20 +233,25 @@ public:
#endif
const SkOpCoincidence* debugCoincidence() const;
bool debugCoinEndLoopCheck() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
#ifdef SK_DEBUG
- bool debugDeleted() const { return fDeleted; }
+ bool debugDeleted() const { return fDebugDeleted; }
#endif
#if DEBUG_COINCIDENCE_VERBOSE
void debugInsertCoinEnd(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkOpSpanBase* ) const;
void debugMergeContained(const char* id, SkPathOpsDebug::GlitchLog* ,
const SkPathOpsBounds& bounds, bool* deleted) const;
+ void debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSpanBase* opp) const;
#endif
const SkOpPtT* debugPtT(int id) const;
void debugResetCoinT() const;
const SkOpSegment* debugSegment(int id) const;
void debugSetCoinT(int ) const;
+#ifdef SK_DEBUG
+ void debugSetDeleted() { fDebugDeleted = true; }
+#endif
const SkOpSpanBase* debugSpan(int id) const;
const SkOpSpan* debugStarter(SkOpSpanBase const** endPtr) const;
SkOpGlobalState* globalState() const;
@@ -285,6 +293,7 @@ public:
void merge(SkOpSpan* span);
void mergeContained(const SkPathOpsBounds& bounds);
+ void mergeMatches(SkOpSpanBase* opp);
const SkOpSpan* prev() const {
return fPrev;
@@ -403,7 +412,7 @@ protected: // no direct access to internals to avoid treating a span base as a
bool fChased; // set after span has been added to chase array
SkDEBUGCODE(int fCount); // number of pt/t pairs added
SkDEBUGCODE(int fID);
- SkDEBUGCODE(bool fDeleted); // set when span was merged with another span
+ SkDEBUGCODE(bool fDebugDeleted); // set when span was merged with another span
};
class SkOpSpan : public SkOpSpanBase {
@@ -445,15 +454,14 @@ public:
void debugInsertCoincidence(const char* , SkPathOpsDebug::GlitchLog* ,
const SkOpSegment* , bool flipped) const;
#endif
- void release(const SkOpPtT* );
+ void dumpCoin() const;
+ bool dumpSpan() const;
bool done() const {
SkASSERT(!final());
return fDone;
}
- void dumpCoin() const;
- bool dumpSpan() const;
void init(SkOpSegment* parent, SkOpSpan* prev, double t, const SkPoint& pt);
bool insertCoincidence(const SkOpSegment* , bool flipped);
@@ -496,6 +504,8 @@ public:
return fOppValue;
}
+ void release(const SkOpPtT* );
+
SkOpPtT* setCoinStart(SkOpSpan* oldCoinStart, SkOpSegment* oppSegment);
void setDone(bool done) {
diff --git a/src/pathops/SkPathOpsCommon.cpp b/src/pathops/SkPathOpsCommon.cpp
index 82b93f4072..c8ee84c54a 100644
--- a/src/pathops/SkPathOpsCommon.cpp
+++ b/src/pathops/SkPathOpsCommon.cpp
@@ -485,7 +485,7 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc
// look for coincidence present in A-B and A-C but missing in B-C
while (coincidence->addMissing()) {
if (!--safetyHatch) {
- SkASSERT(0); // FIXME: take this out after verifying std tests don't trigger
+ SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addMissing");
@@ -517,7 +517,6 @@ bool HandleCoincidence(SkOpContourHead* contourList, SkOpCoincidence* coincidenc
DEBUG_COINCIDENCE_HEALTH(contourList, "expand2");
// the expanded ranges may not align -- add the missing spans
if (!coincidence->addExpanded()) {
- SkASSERT(globalState->debugSkipAssert());
return false;
}
DEBUG_COINCIDENCE_HEALTH(contourList, "addExpanded3");
diff --git a/src/pathops/SkPathOpsDebug.cpp b/src/pathops/SkPathOpsDebug.cpp
index 212e2bcc79..d099c4a985 100644
--- a/src/pathops/SkPathOpsDebug.cpp
+++ b/src/pathops/SkPathOpsDebug.cpp
@@ -12,6 +12,18 @@
#include "SkPathOpsDebug.h"
#include "SkString.h"
+#undef FAIL_IF
+#define FAIL_IF(cond, coin) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
+
+#undef FAIL_WITH_NULL_IF
+#define FAIL_WITH_NULL_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
+#undef RETURN_FALSE_IF
+#define RETURN_FALSE_IF(cond, span) \
+ do { if (cond) log->record(kAddExpandedFail_Glitch, id, span); } while (false)
+
class SkCoincidentSpans;
#if DEBUG_VALIDATE
@@ -67,6 +79,7 @@ enum GlitchType {
kMarkCoinMissing_Glitch,
kMarkCoinStart_Glitch,
kMergeContained_Glitch,
+ kMergeMatches_Glitch,
kMissingCoin_Glitch,
kMissingDone_Glitch,
kMissingIntersection_Glitch,
@@ -331,6 +344,7 @@ void SkPathOpsDebug::CheckHealth(SkOpContourHead* contourList, const char* id) {
case kMarkCoinMissing_Glitch: SkDebugf(" MarkCoinMissing"); break;
case kMarkCoinStart_Glitch: SkDebugf(" MarkCoinStart"); break;
case kMergeContained_Glitch: SkDebugf(" MergeContained"); break;
+ case kMergeMatches_Glitch: SkDebugf(" MergeMatches"); break;
case kMissingCoin_Glitch: SkDebugf(" MissingCoin"); break;
case kMissingDone_Glitch: SkDebugf(" MissingDone"); break;
case kMissingIntersection_Glitch: SkDebugf(" MissingIntersection"); break;
@@ -580,9 +594,9 @@ void SkDRect::debugInit() {
#include "SkOpAngle.h"
#include "SkOpSegment.h"
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// commented-out lines keep this in sync with addT()
- const SkOpPtT* SkOpSegment::debugAddT(double t) const {
+ const SkOpPtT* SkOpSegment::debugAddT(double t, const char* id, SkPathOpsDebug::GlitchLog* log) const {
debugValidate();
SkPoint pt = this->ptAtT(t);
const SkOpSpanBase* span = &fHead;
@@ -594,7 +608,7 @@ void SkDRect::debugInit() {
}
if (t < result->fT) {
const SkOpSpan* prev = result->span()->prev();
- FAIL_WITH_NULL_IF(!prev);
+ FAIL_WITH_NULL_IF(!prev, span);
// marks in global state that new op span has been allocated
this->globalState()->setAllocatedOpSpan();
// span->init(this, prev, t, pt);
@@ -606,7 +620,7 @@ void SkDRect::debugInit() {
// span->bumpSpanAdds();
return nullptr;
}
- FAIL_WITH_NULL_IF(span != &fTail);
+ FAIL_WITH_NULL_IF(span != &fTail, span);
} while ((span = span->upCast()->next()));
SkASSERT(0);
return nullptr; // we never get here, but need this to satisfy compiler
@@ -776,7 +790,7 @@ void SkOpSegment::debugMissingCoincidence(const char* id, SkPathOpsDebug::Glitch
}
if (testForCoincidence(rootPriorPtT, rootPtT, prior, spanBase, opp)) {
// mark coincidence
-#if DEBUG_COINCIDENCE
+#if DEBUG_COINCIDENCE_VERBOSE
// SkDebugf("%s coinSpan=%d endSpan=%d oppSpan=%d oppEndSpan=%d\n", __FUNCTION__,
// rootPriorPtT->debugID(), rootPtT->debugID(), rootOppStart->debugID(),
// rootOppEnd->debugID());
@@ -879,13 +893,8 @@ void SkOpSegment::debugMoveMultiples(const char* id, SkPathOpsDebug::GlitchLog*
goto tryNextSpan;
foundMatch: // merge oppTest and oppSpan
oppSegment->debugValidate();
- if (oppTest == &oppSegment->fTail || oppTest == &oppSegment->fHead) {
- SkASSERT(oppSpan != &oppSegment->fHead); // don't expect collapse
- SkASSERT(oppSpan != &oppSegment->fTail);
- glitches->record(kMoveMultiple_Glitch, id, oppTest, oppSpan);
- } else {
- glitches->record(kMoveMultiple_Glitch, id, oppSpan, oppTest);
- }
+ oppTest->debugMergeMatches(id, glitches, oppSpan);
+ oppTest->debugAddOpp(id, glitches, oppSpan);
oppSegment->debugValidate();
goto checkNextSpan;
}
@@ -1254,6 +1263,7 @@ void SkCoincidentSpans::debugStartCheck(const SkOpSpanBase* outer, const SkOpSpa
#if DEBUG_COINCIDENCE_VERBOSE
/* Commented-out lines keep this in sync with expand */
+// expand the range by checking adjacent spans for coincidence
bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* log) const {
bool expanded = false;
const SkOpSegment* segment = coinPtTStart()->segment();
@@ -1275,6 +1285,9 @@ bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* l
do {
const SkOpSpanBase* end = coinPtTEnd()->span();
SkOpSpanBase* next = end->final() ? nullptr : end->upCast()->next();
+ if (next && next->deleted()) {
+ break;
+ }
const SkOpPtT* oppPtT;
if (!next || !(oppPtT = next->contains(oppSegment))) {
break;
@@ -1289,9 +1302,6 @@ bool SkCoincidentSpans::debugExpand(const char* id, SkPathOpsDebug::GlitchLog* l
return expanded;
}
-#undef FAIL_IF
-#define FAIL_IF(cond) do { if (cond) log->record(kAddExpandedFail_Glitch, id, coin); } while (false)
-
/* Commented-out lines keep this in sync with addExpanded */
// for each coincident pair, match the spans
// if the spans don't match, add the mssing pt to the segment and loop it in the opposite span
@@ -1309,7 +1319,8 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
const SkOpSpanBase* oStart = oStartPtT->span();
const SkOpSpanBase* end = coin->coinPtTEnd()->span();
const SkOpSpanBase* oEnd = coin->oppPtTEnd()->span();
- FAIL_IF(oEnd->deleted());
+ FAIL_IF(oEnd->deleted(), coin);
+ FAIL_IF(!start->upCastable(), coin);
const SkOpSpanBase* test = start->upCast()->next();
const SkOpSpanBase* oTest = coin->flipped() ? oStart->prev() : oStart->upCast()->next();
if (!oTest) {
@@ -1320,12 +1331,12 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
|| !oTest->ptT()->contains(start->segment())) {
// use t ranges to guess which one is missing
double startRange = coin->coinPtTEnd()->fT - startPtT->fT;
- FAIL_IF(!startRange);
+ FAIL_IF(!startRange, coin);
double startPart = (test->t() - startPtT->fT) / startRange;
double oStartRange = coin->oppPtTEnd()->fT - oStartPtT->fT;
- FAIL_IF(!oStartRange);
+ FAIL_IF(!oStartRange, coin);
double oStartPart = (oTest->t() - oStartPtT->fT) / oStartRange;
- FAIL_IF(startPart == oStartPart);
+ FAIL_IF(startPart == oStartPart, coin);
bool startOver = false;
if (startPart < oStartPart)
log->record(kAddExpandedCoin_Glitch, id, // strange debug formatting lines up with original
@@ -1342,6 +1353,9 @@ void SkOpCoincidence::debugAddExpanded(const char* id, SkPathOpsDebug::GlitchLog
}
}
if (test != end) {
+ if (!test->upCastable()) {
+ return;
+ }
test = test->upCast()->next();
}
if (oTest != oEnd) {
@@ -1393,12 +1407,15 @@ void SkOpCoincidence::debugAddIfMissing(const SkOpPtT* over1s, const SkOpPtT* ov
if (coinSeg == oppSeg) {
return;
}
- return this->debugAddOrOverlap(coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, id, log);
+ return this->debugAddOrOverlap(id, log, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe);
}
/* Commented-out lines keep this in sync addOrOverlap() */
-void SkOpCoincidence::debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
- double coinTs, double coinTe, double oppTs, double oppTe, const char* id, SkPathOpsDebug::GlitchLog* log) const {
+// If this is called by addEndMovedSpans(), a returned false propogates out to an abort.
+// If this is called by AddIfMissing(), a returned false indicates there was nothing to add
+void SkOpCoincidence::debugAddOrOverlap(const char* id, SkPathOpsDebug::GlitchLog* log,
+ const SkOpSegment* coinSeg, const SkOpSegment* oppSeg,
+ double coinTs, double coinTe, double oppTs, double oppTe) const {
SkTDArray<SkCoincidentSpans*> overlaps;
SkASSERT(!fTop); // this is (correctly) reversed in addifMissing()
if (fTop && !this->checkOverlap(fTop, coinSeg, oppSeg, coinTs, coinTe, oppTs, oppTe, &overlaps)) {
@@ -1427,77 +1444,63 @@ void SkOpCoincidence::debugAddOrOverlap(const SkOpSegment* coinSeg, const SkOpSe
: overlap->oppPtTEnd()->fT < test->oppPtTEnd()->fT) {
log->record(kAddOrOverlap_Glitch, id, overlap, test->oppPtTEnd());
}
- if (!fHead) {
- SkAssertResult(true);
+ if (!fHead) { this->debugRelease(id, log, fHead, test);
+ this->debugRelease(id, log, fTop, test);
}
}
const SkOpPtT* cs = coinSeg->existing(coinTs, oppSeg);
const SkOpPtT* ce = coinSeg->existing(coinTe, oppSeg);
- if (overlap && cs && ce && overlap->contains(cs, ce)) {
- return;
- }
- SkASSERT(cs != ce || !cs);
+ RETURN_FALSE_IF(overlap && cs && ce && overlap->contains(cs, ce), coinSeg);
+ RETURN_FALSE_IF(cs != ce || !cs, coinSeg);
const SkOpPtT* os = oppSeg->existing(oppTs, coinSeg);
const SkOpPtT* oe = oppSeg->existing(oppTe, coinSeg);
- if (overlap && os && oe && overlap->contains(os, oe)) {
- return;
- }
+ RETURN_FALSE_IF(overlap && os && oe && overlap->contains(os, oe), oppSeg);
SkASSERT(true || !cs || !cs->deleted());
SkASSERT(true || !os || !os->deleted());
SkASSERT(true || !ce || !ce->deleted());
SkASSERT(true || !oe || !oe->deleted());
const SkOpPtT* csExisting = !cs ? coinSeg->existing(coinTs, nullptr) : nullptr;
const SkOpPtT* ceExisting = !ce ? coinSeg->existing(coinTe, nullptr) : nullptr;
- if (csExisting && csExisting == ceExisting) {
- return;
- }
- if (csExisting && (csExisting == ce || csExisting->contains(ceExisting ? ceExisting : ce))) {
- return;
- }
- if (ceExisting && (ceExisting == cs || ceExisting->contains(csExisting ? csExisting : cs))) {
- return;
- }
+ RETURN_FALSE_IF(csExisting && csExisting == ceExisting, coinSeg);
+ RETURN_FALSE_IF(csExisting && (csExisting == ce ||
+ csExisting->contains(ceExisting ? ceExisting : ce)), coinSeg);
+ RETURN_FALSE_IF(ceExisting && (ceExisting == cs ||
+ ceExisting->contains(csExisting ? csExisting : cs)), coinSeg);
const SkOpPtT* osExisting = !os ? oppSeg->existing(oppTs, nullptr) : nullptr;
const SkOpPtT* oeExisting = !oe ? oppSeg->existing(oppTe, nullptr) : nullptr;
- if (osExisting && osExisting == oeExisting) {
- return;
- }
- if (osExisting && (osExisting == oe || osExisting->contains(oeExisting ? oeExisting : oe))) {
- return;
- }
- if (oeExisting && (oeExisting == os || oeExisting->contains(osExisting ? osExisting : os))) {
- return;
- }
+ RETURN_FALSE_IF(osExisting && osExisting == oeExisting, oppSeg);
+ RETURN_FALSE_IF(osExisting && (osExisting == oe ||
+ osExisting->contains(oeExisting ? oeExisting : oe)), oppSeg);
+ RETURN_FALSE_IF(oeExisting && (oeExisting == os ||
+ oeExisting->contains(osExisting ? osExisting : os)), oppSeg);
bool csDeleted = false, osDeleted = false, ceDeleted = false, oeDeleted = false;
this->debugValidate();
if (!cs || !os) {
if (!cs)
- cs = coinSeg->debugAddT(coinTs);
+ cs = coinSeg->debugAddT(coinTs, id, log);
if (!os)
- os = oppSeg->debugAddT(oppTs);
- if (cs && os) cs->span()->debugAddOppAndMerge(id, log, os->span(), &csDeleted, &osDeleted);
+ os = oppSeg->debugAddT(oppTs, id, log);
+// RETURN_FALSE_IF(callerAborts, !csWritable || !osWritable);
+ if (cs && os) cs->span()->debugAddOpp(id, log, os->span());
// cs = csWritable;
-// os = osWritable;
- if ((ce && ce->deleted()) || (oe && oe->deleted())) {
- return;
- }
+// os = osWritable->active();
+ RETURN_FALSE_IF((ce && ce->deleted()) || (oe && oe->deleted()), coinSeg);
}
if (!ce || !oe) {
if (!ce)
- ce = coinSeg->debugAddT(coinTe);
+ ce = coinSeg->debugAddT(coinTe, id, log);
if (!oe)
- oe = oppSeg->debugAddT(oppTe);
- if (ce && oe) ce->span()->debugAddOppAndMerge(id, log, oe->span(), &ceDeleted, &oeDeleted);
+ oe = oppSeg->debugAddT(oppTe, id, log);
+ if (ce && oe) ce->span()->debugAddOpp(id, log, oe->span());
// ce = ceWritable;
// oe = oeWritable;
}
this->debugValidate();
- if (csDeleted || osDeleted || ceDeleted || oeDeleted) {
- return;
- }
- if (!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe)) {
- return;
- }
+ RETURN_FALSE_IF(csDeleted, coinSeg);
+ RETURN_FALSE_IF(osDeleted, oppSeg);
+ RETURN_FALSE_IF(ceDeleted, coinSeg);
+ RETURN_FALSE_IF(oeDeleted, oppSeg);
+ RETURN_FALSE_IF(!cs || !ce || cs->contains(ce) || !os || !oe || os->contains(oe), coinSeg);
// bool result = true;
if (overlap) {
if (overlap->coinPtTStart()->segment() == coinSeg) {
@@ -1599,6 +1602,27 @@ void SkOpCoincidence::debugAddMissing(const char* id, SkPathOpsDebug::GlitchLog*
}
// Commented-out lines keep this in sync with release()
+void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkCoincidentSpans* remove) const {
+ const SkCoincidentSpans* head = coin;
+ const SkCoincidentSpans* prev = nullptr;
+ const SkCoincidentSpans* next;
+ do {
+ next = coin->next();
+ if (coin == remove) {
+ if (prev) {
+// prev->setNext(next);
+ } else if (head == fHead) {
+// fHead = next;
+ } else {
+// fTop = next;
+ }
+ log->record(kReleasedSpan_Glitch, id, coin);
+ }
+ prev = coin;
+ } while ((coin = next));
+ return;
+}
+
void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSegment* deleted) const {
const SkCoincidentSpans* coin = fHead;
if (!coin) {
@@ -1614,6 +1638,7 @@ void SkOpCoincidence::debugRelease(const char* id, SkPathOpsDebug::GlitchLog* lo
} while ((coin = coin->next()));
}
+
// Commented-out lines keep this in sync with reorder()
// iterate through all coincident pairs, looking for ranges greater than 1
// if found, see if the opposite pair can match it -- which may require
@@ -1626,7 +1651,10 @@ void SkOpCoincidence::debugReorder(const char* id, SkPathOpsDebug::GlitchLog* lo
do {
// most commonly, concidence are one span long; check for that first
int intervals = coin->spanCount();
- if (intervals = 1) {
+ if (intervals <= 0) {
+ return;
+ }
+ if (1 == intervals) {
#if DEBUG_COINCIDENCE_VERBOSE
// SkASSERT(!coin->debugExpand(nullptr, nullptr));
#endif
@@ -1709,6 +1737,9 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
return;
}
do {
+ if (!coin->coinPtTStartWritable()->span()->upCastable()) {
+ return;
+ }
const SkOpSpan* start = coin->coinPtTStartWritable()->span()->upCast();
// SkASSERT(start->deleted());
const SkOpSpanBase* end = coin->coinPtTEndWritable()->span();
@@ -1730,11 +1761,17 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
const SkOpSpanBase* next = start;
const SkOpSpanBase* oNext = oStart;
while ((next = next->upCast()->next()) != end) {
+ if (!next->upCastable()) {
+ return;
+ }
if (next->upCast()->debugInsertCoincidence(id, log, oSegment, flipped), false) {
return;
}
}
while ((oNext = oNext->upCast()->next()) != oEnd) {
+ if (!oNext->upCastable()) {
+ return;
+ }
if (oNext->upCast()->debugInsertCoincidence(id, log, segment, flipped), false) {
return;
}
@@ -1747,6 +1784,7 @@ void SkOpCoincidence::debugMark(const char* id, SkPathOpsDebug::GlitchLog* log)
#if DEBUG_COINCIDENCE_VERBOSE
// Commented-out lines keep this in sync with markCollapsed()
void SkOpCoincidence::debugMarkCollapsed(const char* id, SkPathOpsDebug::GlitchLog* log, const SkCoincidentSpans* coin, const SkOpPtT* test) const {
+ const SkCoincidentSpans* head = coin;
while (coin) {
if (coin->collapsed(test)) {
if (zero_or_one(coin->coinPtTStart()->fT) && zero_or_one(coin->coinPtTEnd()->fT)) {
@@ -1755,6 +1793,7 @@ void SkOpCoincidence::debugMarkCollapsed(const char* id, SkPathOpsDebug::GlitchL
if (zero_or_one(coin->oppPtTStart()->fT) && zero_or_one(coin->oppPtTEnd()->fT)) {
log->record(kCollapsedCoin_Glitch, id, coin);
}
+ this->debugRelease(id, log, head, coin);
}
coin = coin->next();
}
@@ -2035,27 +2074,16 @@ void SkOpSegment::debugValidate() const {
}
#if DEBUG_COINCIDENCE_VERBOSE
-// Commented-out lines keep this in sync with addOppAndMerge()
-// If the added points envelop adjacent spans, merge them in.
-void SkOpSpanBase::debugAddOppAndMerge(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp, bool* spanDeleted, bool* oppDeleted) const {
- const SkOpPtT* oppPrev = this->ptT()->debugOppPrev(opp->ptT());
- if (oppPrev) {
- this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
- this->debugCheckForCollapsedCoincidence(id, log);
- }
- // compute bounds of points in span
- SkPathOpsBounds bounds;
- bounds.set(SK_ScalarMax, SK_ScalarMax, SK_ScalarMin, SK_ScalarMin);
- const SkOpPtT* head = this->ptT();
- const SkOpPtT* nextPt = head;
- do {
- bounds.add(nextPt->fPt);
- } while ((nextPt = nextPt->next()) != head);
- if (!bounds.width() && !bounds.height()) {
+
+// Commented-out lines keep this in sync with addOpp()
+void SkOpSpanBase::debugAddOpp(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* oppPrev = this->ptT()->oppPrev(opp->ptT());
+ if (!oppPrev) {
return;
}
- this->debugMergeContained(id, log, bounds, spanDeleted);
- opp->debugMergeContained(id, log, bounds, oppDeleted);
+ this->debugMergeMatches(id, log, opp);
+ this->ptT()->debugAddOpp(opp->ptT(), oppPrev);
+ this->debugCheckForCollapsedCoincidence(id, log);
}
// Commented-out lines keep this in sync with checkForCollapsedCoincidence()
@@ -2151,6 +2179,76 @@ void SkOpSpanBase::debugMergeContained(const char* id, SkPathOpsDebug::GlitchLog
// this->globalState()->coincidence()->debugValidate();
#endif
}
+
+// Commented-out lines keep this in sync with mergeMatches()
+// Look to see if pt-t linked list contains same segment more than once
+// if so, and if each pt-t is directly pointed to by spans in that segment,
+// merge them
+// keep the points, but remove spans so that the segment doesn't have 2 or more
+// spans pointing to the same pt-t loop at different loop elements
+void SkOpSpanBase::debugMergeMatches(const char* id, SkPathOpsDebug::GlitchLog* log, const SkOpSpanBase* opp) const {
+ const SkOpPtT* test = &fPtT;
+ const SkOpPtT* testNext;
+ const SkOpPtT* stop = test;
+ do {
+ testNext = test->next();
+ if (test->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* testBase = test->span();
+ SkASSERT(testBase->ptT() == test);
+ const SkOpSegment* segment = test->segment();
+ if (segment->done()) {
+ continue;
+ }
+ const SkOpPtT* inner = opp->ptT();
+ const SkOpPtT* innerStop = inner;
+ do {
+ if (inner->segment() != segment) {
+ continue;
+ }
+ if (inner->deleted()) {
+ continue;
+ }
+ const SkOpSpanBase* innerBase = inner->span();
+ SkASSERT(innerBase->ptT() == inner);
+ // when the intersection is first detected, the span base is marked if there are
+ // more than one point in the intersection.
+// if (!innerBase->hasMultipleHint() && !testBase->hasMultipleHint()) {
+ if (!zero_or_one(inner->fT)) {
+ log->record(kMergeMatches_Glitch, id, innerBase, test);
+ } else {
+ SkASSERT(inner->fT != test->fT);
+ if (!zero_or_one(test->fT)) {
+ log->record(kMergeMatches_Glitch, id, testBase, inner);
+ } else {
+ log->record(kMergeMatches_Glitch, id, segment);
+// SkDEBUGCODE(testBase->debugSetDeleted());
+// test->setDeleted();
+// SkDEBUGCODE(innerBase->debugSetDeleted());
+// inner->setDeleted();
+ }
+ }
+#ifdef SK_DEBUG // assert if another undeleted entry points to segment
+ const SkOpPtT* debugInner = inner;
+ while ((debugInner = debugInner->next()) != innerStop) {
+ if (debugInner->segment() != segment) {
+ continue;
+ }
+ if (debugInner->deleted()) {
+ continue;
+ }
+ SkOPASSERT(0);
+ }
+#endif
+ break;
+// }
+ break;
+ } while ((inner = inner->next()) != innerStop);
+ } while ((test = testNext) != stop);
+ this->debugCheckForCollapsedCoincidence(id, log);
+}
+
#endif
void SkOpSpanBase::debugResetCoinT() const {
diff --git a/src/pathops/SkPathOpsDebug.h b/src/pathops/SkPathOpsDebug.h
index 5ea1dd8b26..bdfd3a43a1 100644
--- a/src/pathops/SkPathOpsDebug.h
+++ b/src/pathops/SkPathOpsDebug.h
@@ -37,7 +37,7 @@
if (!SkPathOpsDebug::ValidWind(x)) strcpy(x##Str, "?"); \
else SK_SNPRINTF(x##Str, sizeof(x##Str), "%d", x)
-#define DEBUG_UNDER_DEVELOPMENT 01
+#define DEBUG_UNDER_DEVELOPMENT 1
#if FORCE_RELEASE
@@ -78,7 +78,7 @@
#define DEBUG_ANGLE 1
#define DEBUG_ASSEMBLE 1
#define DEBUG_COINCIDENCE 01
-#define DEBUG_COINCIDENCE_ORDER 0
+#define DEBUG_COINCIDENCE_ORDER 01
#define DEBUG_COINCIDENCE_VERBOSE 01
#define DEBUG_CUBIC_BINARY_SEARCH 0
#define DEBUG_CUBIC_SPLIT 1
diff --git a/src/pathops/SkPathOpsPoint.h b/src/pathops/SkPathOpsPoint.h
index f30f155e8f..f314f69d0e 100644
--- a/src/pathops/SkPathOpsPoint.h
+++ b/src/pathops/SkPathOpsPoint.h
@@ -144,6 +144,26 @@ struct SkDPoint {
// note: this can not be implemented with
// return approximately_equal(a.fY, fY) && approximately_equal(a.fX, fX);
// because that will not take the magnitude of the values into account
+ bool approximatelyDEqual(const SkDPoint& a) const {
+ if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
+ return true;
+ }
+ if (!RoughlyEqualUlps(fX, a.fX) || !RoughlyEqualUlps(fY, a.fY)) {
+ return false;
+ }
+ double dist = distance(a); // OPTIMIZATION: can we compare against distSq instead ?
+ double tiniest = SkTMin(SkTMin(SkTMin(fX, a.fX), fY), a.fY);
+ double largest = SkTMax(SkTMax(SkTMax(fX, a.fX), fY), a.fY);
+ largest = SkTMax(largest, -tiniest);
+ return AlmostDequalUlps(largest, largest + dist); // is the dist within ULPS tolerance?
+ }
+
+ bool approximatelyDEqual(const SkPoint& a) const {
+ SkDPoint dA;
+ dA.set(a);
+ return approximatelyDEqual(dA);
+ }
+
bool approximatelyEqual(const SkDPoint& a) const {
if (approximately_equal(fX, a.fX) && approximately_equal(fY, a.fY)) {
return true;
@@ -233,6 +253,15 @@ struct SkDPoint {
return RoughlyEqualUlps((double) largest, largest + dist); // is dist within ULPS tolerance?
}
+ // very light weight check, should only be used for inequality check
+ static bool WayRoughlyEqual(const SkPoint& a, const SkPoint& b) {
+ float largestNumber = SkTMax(SkTAbs(a.fX), SkTMax(SkTAbs(a.fY),
+ SkTMax(SkTAbs(b.fX), SkTAbs(b.fY))));
+ SkVector diffs = a - b;
+ float largestDiff = SkTMax(diffs.fX, diffs.fY);
+ return roughly_zero_when_compared_to(largestDiff, largestNumber);
+ }
+
// utilities callable by the user from the debugger when the implementation code is linked in
void dump() const;
static void Dump(const SkPoint& pt);
diff --git a/src/pathops/SkPathOpsTypes.h b/src/pathops/SkPathOpsTypes.h
index a645771634..aac32b2087 100644
--- a/src/pathops/SkPathOpsTypes.h
+++ b/src/pathops/SkPathOpsTypes.h
@@ -76,7 +76,7 @@ public:
#ifdef SK_DEBUG
const class SkOpAngle* debugAngle(int id) const;
const SkOpCoincidence* debugCoincidence() const;
- SkOpContour* debugContour(int id);
+ SkOpContour* debugContour(int id) const;
const class SkOpPtT* debugPtT(int id) const;
bool debugRunFail() const;
const class SkOpSegment* debugSegment(int id) const;
@@ -197,10 +197,16 @@ private:
};
#ifdef SK_DEBUG
+#if DEBUG_COINCIDENCE
+#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
+ (this->globalState()->debugCheckHealth() || \
+ this->globalState()->debugSkipAssert())) || (cond))
+#else
#define SkOPASSERT(cond) SkASSERT((this->globalState() && \
- this->globalState()->debugSkipAssert()) || cond)
+ this->globalState()->debugSkipAssert()) || (cond))
+#endif
#define SkOPOBJASSERT(obj, cond) SkASSERT((obj->debugGlobalState() && \
- obj->debugGlobalState()->debugSkipAssert()) || cond)
+ obj->debugGlobalState()->debugSkipAssert()) || (cond))
#else
#define SkOPASSERT(cond)
#define SkOPOBJASSERT(obj, cond)
@@ -529,10 +535,6 @@ inline bool more_roughly_equal(double x, double y) {
return fabs(x - y) < MORE_ROUGH_EPSILON;
}
-inline bool way_roughly_equal(double x, double y) {
- return fabs(x - y) < WAY_ROUGH_EPSILON;
-}
-
struct SkDPoint;
struct SkDVector;
struct SkDLine;
diff --git a/tests/PathOpsDebug.cpp b/tests/PathOpsDebug.cpp
index a6613bc9e6..164f9aeeea 100755
--- a/tests/PathOpsDebug.cpp
+++ b/tests/PathOpsDebug.cpp
@@ -806,7 +806,7 @@ const SkOpCoincidence* SkOpAngle::debugCoincidence() const {
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpAngle::debugContour(int id) {
+SkOpContour* SkOpAngle::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -940,7 +940,7 @@ const SkOpAngle* SkOpPtT::debugAngle(int id) const {
return this->span()->debugAngle(id);
}
-SkOpContour* SkOpPtT::debugContour(int id) {
+SkOpContour* SkOpPtT::debugContour(int id) const {
return this->span()->debugContour(id);
}
@@ -1000,7 +1000,7 @@ const SkOpCoincidence* SkOpSpanBase::debugCoincidence() const {
return this->segment()->debugCoincidence();
}
-SkOpContour* SkOpSpanBase::debugContour(int id) {
+SkOpContour* SkOpSpanBase::debugContour(int id) const {
return this->segment()->debugContour(id);
}
@@ -1041,7 +1041,7 @@ void SkOpSpanBase::dumpBase() const {
SkDebugf(" chased");
}
#ifdef SK_DEBUG
- if (this->fDeleted) {
+ if (this->fDebugDeleted) {
SkDebugf(" deleted");
}
#endif
@@ -1111,7 +1111,7 @@ const SkOpCoincidence* SkOpSegment::debugCoincidence() const {
return this->contour()->debugCoincidence();
}
-SkOpContour* SkOpSegment::debugContour(int id) {
+SkOpContour* SkOpSegment::debugContour(int id) const {
return this->contour()->debugContour(id);
}
@@ -1389,7 +1389,7 @@ const SkOpAngle* SkOpGlobalState::debugAngle(int id) const {
return nullptr;
}
-SkOpContour* SkOpGlobalState::debugContour(int id) {
+SkOpContour* SkOpGlobalState::debugContour(int id) const {
SkOpContour* contour = fContourHead;
do {
if (contour->debugID() == id) {
diff --git a/tests/PathOpsExtendedTest.cpp b/tests/PathOpsExtendedTest.cpp
index a7ff885220..3f1a298c42 100644
--- a/tests/PathOpsExtendedTest.cpp
+++ b/tests/PathOpsExtendedTest.cpp
@@ -508,9 +508,9 @@ bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char*
ExpectMatch::kYes);
}
-bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
- return inner_simplify(reporter, path, filename, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
+bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path, const char* filename) {
+ return inner_simplify(reporter, path, filename, ExpectSuccess::kFlaky, SkipAssert::kYes,
+ ExpectMatch::kFlaky);
}
bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path, const char* filename,
@@ -593,25 +593,7 @@ bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath
ExpectSuccess::kYes : ExpectSuccess::kNo, SkipAssert::kNo, ExpectMatch::kNo);
}
-bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kNo,
- ExpectMatch::kNo);
-}
-
-bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kYes, SkipAssert::kYes,
- ExpectMatch::kYes);
-}
-
-bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp shapeOp, const char* testName) {
- return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kNo, SkipAssert::kYes,
- ExpectMatch::kNo);
-}
-
-bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
+bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp shapeOp, const char* testName) {
return innerPathOp(reporter, a, b, shapeOp, testName, ExpectSuccess::kFlaky, SkipAssert::kYes,
ExpectMatch::kFlaky);
@@ -707,7 +689,7 @@ void RunTestSet(skiatest::Reporter* reporter, TestDesc tests[], size_t count,
#if DEBUG_SHOW_TEST_NAME
SkDebugf("\n<div id=\"%s\">\n", tests[index].str);
#endif
- (*tests[index].fun)(reporter, tests[index].str);
+ (*tests[index].fun)(reporter, tests[index].str);
}
if (tests[index].fun == stopTest || index == last) {
break;
diff --git a/tests/PathOpsExtendedTest.h b/tests/PathOpsExtendedTest.h
index 8cf708b278..55a4410ed0 100644
--- a/tests/PathOpsExtendedTest.h
+++ b/tests/PathOpsExtendedTest.h
@@ -42,23 +42,15 @@ extern bool testPathOpCheck(skiatest::Reporter* reporter, const SkPath& a, const
const SkPathOp , const char* testName, bool checkFail);
extern bool testPathOpFail(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
const SkPathOp, const char* testName);
-extern bool testPathOpFailCheck(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFailSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
-extern bool testPathOpFlakySkipAssert(skiatest::Reporter* reporter, const SkPath& a,
- const SkPath& b, const SkPathOp , const char* testName);
-extern bool testPathOpSkipAssert(skiatest::Reporter* reporter, const SkPath& a, const SkPath& b,
- const SkPathOp , const char* testName);
+extern bool testPathOpFuzz(skiatest::Reporter* reporter, const SkPath& a,
+ const SkPath& b, const SkPathOp , const char* testName);
extern bool testSimplify(SkPath& path, bool useXor, SkPath& out, PathOpsThreadState& state,
const char* pathStr);
extern bool testSimplify(skiatest::Reporter* reporter, const SkPath& path, const char* filename);
extern bool testSimplifyCheck(skiatest::Reporter* reporter, const SkPath& path,
const char* filename, bool checkFail);
-extern bool testSimplifyFailSkipAssert(skiatest::Reporter* reporter, const SkPath& path,
+extern bool testSimplifyFuzz(skiatest::Reporter* reporter, const SkPath& path,
const char* filename);
-extern bool testSimplifySkipAssert(skiatest::Reporter* reporter, const SkPath& path,
- const char* filename);
void initializeTests(skiatest::Reporter* reporter, const char* testName);
void outputProgress(char* ramStr, const char* pathStr, SkPath::FillType );
diff --git a/tests/PathOpsOpTest.cpp b/tests/PathOpsOpTest.cpp
index 2026238882..3316f7e0cb 100644
--- a/tests/PathOpsOpTest.cpp
+++ b/tests/PathOpsOpTest.cpp
@@ -5362,14 +5362,27 @@ static void cubics_o(skiatest::Reporter* reporter, const char* filename) {
testPathOp(reporter, path, pathB, kXOR_SkPathOp, filename);
}
+static void cubicOp158(skiatest::Reporter* reporter, const char* filename) {
+ SkPath path, pathB;
+ path.setFillType(SkPath::kWinding_FillType);
+ path.moveTo(0,1);
+ path.cubicTo(2,4, 2,0, 2,0);
+ path.close();
+ pathB.setFillType(SkPath::kWinding_FillType);
+ pathB.moveTo(0,2);
+ pathB.cubicTo(0,2, 1,0, 4,2);
+ pathB.close();
+ testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
+}
static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
-static void (*firstTest)(skiatest::Reporter* , const char* filename) = cubics_d3;
+static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
#define TEST(name) { name, #name }
static struct TestDesc tests[] = {
+ TEST(cubicOp158),
TEST(loops_i1),
TEST(loops_i2),
TEST(loops_i3),
@@ -5757,7 +5770,7 @@ static void fuzz535151(skiatest::Reporter* reporter, const char* filename) {
two.lineTo(0, 50);
two.lineTo(4.29497e+09f, 50);
SkPath dummy;
- testPathOp(reporter, one, two, kIntersect_SkPathOp, filename);
+ testPathOpFuzz(reporter, one, two, kIntersect_SkPathOp, filename);
}
static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
@@ -5765,7 +5778,7 @@ static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
path.addRect(0,0, 300,170141183460469231731687303715884105728.f);
SkPath pathB;
pathB.addRect(0,0, 300,16);
- testPathOpCheck(reporter, path, pathB, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path, pathB, kUnion_SkPathOp, filename);
}
// m 100,0 60,170 -160,-110 200,0 -170,11000000000 z
@@ -5785,7 +5798,7 @@ static void fuzz433(skiatest::Reporter* reporter, const char* filename) {
path2.lineTo(-170 + 20,11000000000.0f + 20);
path2.close();
- testPathOpCheck(reporter, path1, path2, kIntersect_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kIntersect_SkPathOp, filename);
}
static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
@@ -5808,7 +5821,7 @@ static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
path2.lineTo(190, 60);
path2.close();
- testPathOpCheck(reporter, path1, path2, kUnion_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz487a(skiatest::Reporter* reporter, const char* filename) {
@@ -5854,7 +5867,7 @@ path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz487b(skiatest::Reporter* reporter, const char* filename) {
@@ -5900,7 +5913,7 @@ path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz714(skiatest::Reporter* reporter, const char* filename) {
@@ -5926,7 +5939,7 @@ path.lineTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000));
path.close();
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz1(skiatest::Reporter* reporter, const char* filename) {
@@ -5948,7 +5961,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
@@ -5973,7 +5986,7 @@ path.cubicTo(SkBits2Float(0x42266e32), SkBits2Float(0xcf223cc0), SkBits2Float(0x
path.lineTo(SkBits2Float(0x40f8fbe0), SkBits2Float(0xcf223cc0)); // 7.78075f, -2.72189e+09f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void bug597926_0(skiatest::Reporter* reporter, const char* filename) {
@@ -5996,7 +6009,7 @@ path.cubicTo(SkBits2Float(0xc51cd471), SkBits2Float(0xc49d54d0), SkBits2Float(0x
path.quadTo(SkBits2Float(0xc51bf7eb), SkBits2Float(0xc49cf010), SkBits2Float(0xc51ba866), SkBits2Float(0xc49cb9e6)); // -2495.49f, -1255.5f, -2490.52f, -1253.81f
path.cubicTo(SkBits2Float(0xc51bac0d), SkBits2Float(0xc49cc50e), SkBits2Float(0xc51c29eb), SkBits2Float(0xc49cfb01), SkBits2Float(0xc51c5bca), SkBits2Float(0xc49d1fa6)); // -2490.75f, -1254.16f, -2498.62f, -1255.84f, -2501.74f, -1256.99f
SkPath path2(path);
-testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz1450_0(skiatest::Reporter* reporter, const char* filename) {
@@ -6015,7 +6028,7 @@ path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024
path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz1450_1(skiatest::Reporter* reporter, const char* filename) {
@@ -6044,7 +6057,7 @@ path.lineTo(SkBits2Float(0x451f7000), SkBits2Float(0x42800000)); // 2551, 64
path.lineTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321
path.close();
SkPath path2(path);
-testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename);
+testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
}
static void fuzz763_9(skiatest::Reporter* reporter, const char* filename) {
@@ -6071,7 +6084,7 @@ path.quadTo(SkBits2Float(0xd912102a), SkBits2Float(0x284f9a28), SkBits2Float(0xb
path.lineTo(SkBits2Float(0xc809272a), SkBits2Float(0x29b02829)); // -140445, 7.82294e-14f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
@@ -6105,7 +6118,7 @@ path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f
path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a), SkBits2Float(0x21df212a), SkBits2Float(0x033a8a3a)); // 6.14991e+25f, 6.77381e-19f, 9.33503e-15f, 1.51198e-18f, 5.48192e-37f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_3(skiatest::Reporter* reporter, const char* filename) {
@@ -6140,7 +6153,7 @@ path.moveTo(SkBits2Float(0x21081f3f), SkBits2Float(0x9fd4e62a)); // 4.61199e-19
path.cubicTo(SkBits2Float(0x3a293a2a), SkBits2Float(0x0e3bf0c5), SkBits2Float(0x3b29d42a), SkBits2Float(0x0f217265), SkBits2Float(0x2d5d2921), SkBits2Float(0x5568295b)); // 0.000645551f, 2.31655e-30f, 0.00259138f, 7.95994e-30f, 1.25715e-11f, 1.5954e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_5(skiatest::Reporter* reporter, const char* filename) {
@@ -6165,7 +6178,7 @@ path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3b21), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x5b2d8c55)); // 4.87407e+16f, 4.88495e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2(skiatest::Reporter* reporter, const char* filename) {
@@ -6204,7 +6217,7 @@ path.conicTo(SkBits2Float(0xf86d273b), SkBits2Float(0x27e523e3), SkBits2Float(0x
path.cubicTo(SkBits2Float(0x2f273927), SkBits2Float(0xa83a2c21), SkBits2Float(0xd7122121), SkBits2Float(0x21212921), SkBits2Float(0x3be3db3a), SkBits2Float(0xa9deb63b)); // 1.52089e-10f, -1.03346e-14f, -1.60671e+14f, 5.46034e-19f, 0.00695362f, -9.89039e-14f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/626164
@@ -6223,7 +6236,7 @@ static void fuzz763_1c(skiatest::Reporter* reporter, const char* filename) {
SkPath path2(path);
SkPath dummy;
- testPathOp(reporter, path1, path2, (SkPathOp)4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)4, filename);
}
// crbug.com/626186
@@ -6247,7 +6260,7 @@ static void fuzz763_1b(skiatest::Reporter* reporter, const char* filename) {
path.cubicTo(SkBits2Float(0x20fe58f9), SkBits2Float(0x0525fbed), SkBits2Float(0x1905ffff), SkBits2Float(0x01f9f9f9), SkBits2Float(0xfbfe0ef9), SkBits2Float(0xfb212fff)); // 4.30882e-19f, 7.80453e-36f, 6.92764e-24f, 9.18268e-38f, -2.63829e+36f, -8.36933e+35f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)2, filename);
}
static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
@@ -6278,7 +6291,7 @@ static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
path.moveTo(SkBits2Float(0x384700ff), SkBits2Float(0x0108804b)); // 4.74462e-05f, 2.50713e-38f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp)0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp)0, filename);
}
// crbug.com/627780
@@ -6299,7 +6312,7 @@ path.moveTo(SkBits2Float(0x8adf2028), SkBits2Float(0x3a219a3a)); // -2.14862e-3
path.quadTo(SkBits2Float(0x3ab38e28), SkBits2Float(0x29283ac2), SkBits2Float(0x2be61d2a), SkBits2Float(0x812a4396)); // 0.0013699f, 3.73545e-14f, 1.63506e-12f, -3.12726e-38f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
// crbug.com/627689
@@ -6323,7 +6336,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
// crbug.com/627401
@@ -6343,7 +6356,7 @@ path.moveTo(SkBits2Float(0x4bfffa00), SkBits2Float(0x7d4ac859)); // 3.35514e+07
path.conicTo(SkBits2Float(0x7d014f3e), SkBits2Float(0x00f4ff01), SkBits2Float(0x6b64480c), SkBits2Float(0x48484848), SkBits2Float(0x557d0100)); // 1.07426e+37f, 2.24993e-38f, 2.75975e+26f, 205089, 1.73863e+13f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
// crbug.com/627761
@@ -6391,7 +6404,7 @@ path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_2c(skiatest::Reporter* reporter, const char* filename) {
@@ -6416,7 +6429,7 @@ path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533e-42
path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float(0x4a344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.53647e-33f, 2.95387e+06f
path.cubicTo(SkBits2Float(0x544a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa1a181ff)); // 3.47532e+12f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.31432e+06f, -1.09442e-18f
SkPath path2(path);
- testPathOpCheck(reporter, path1, path2, kReverseDifference_SkPathOp, filename, true);
+ testPathOpFuzz(reporter, path1, path2, kReverseDifference_SkPathOp, filename);
}
static void fuzz763_6(skiatest::Reporter* reporter, const char* filename) {
@@ -6442,7 +6455,7 @@ path.moveTo(SkBits2Float(0x3ac23a55), SkBits2Float(0x2a292827)); // 0.00148184f
path.lineTo(SkBits2Float(0x63962be6), SkBits2Float(0x272a812a)); // 5.54035e+21f, 2.36623e-15f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_7(skiatest::Reporter* reporter, const char* filename) {
@@ -6496,7 +6509,7 @@ path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.cubicTo(SkBits2Float(0x5568c23a), SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a), SkBits2Float(0x3a7bc003), SkBits2Float(0x294b2827)); // 1.59951e+13f, 4.87407e+16f, 5.7784e-19f, 4.61198e-19f, 0.00096035f, 4.51099e-14f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void kfuzz2(skiatest::Reporter* reporter, const char* filename) {
@@ -6529,7 +6542,7 @@ path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xe39e92c7), SkBits2Float(0x
path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f, -6.51573e+35f
path.close();
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, kXOR_SkPathOp, filename);
+ testPathOpFuzz(reporter, path1, path2, kXOR_SkPathOp, filename);
}
static void fuzz763_10(skiatest::Reporter* reporter, const char* filename) {
@@ -6572,7 +6585,7 @@ path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_11(skiatest::Reporter* reporter, const char* filename) {
@@ -6623,7 +6636,7 @@ path.lineTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_12(skiatest::Reporter* reporter, const char* filename) {
@@ -6661,7 +6674,7 @@ path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x2a552d29)); // 4.03114e+24
path.cubicTo(SkBits2Float(0x21295b2d), SkBits2Float(0x2a528c5b), SkBits2Float(0x284f5b2d), SkBits2Float(0x218aa621), SkBits2Float(0x3f2d2db3), SkBits2Float(0x68293a2a)); // 5.73801e-19f, 1.87004e-13f, 1.15106e-14f, 9.39522e-19f, 0.676479f, 3.19661e+24f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_13(skiatest::Reporter* reporter, const char* filename) {
@@ -6697,7 +6710,7 @@ path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x
path.quadTo(SkBits2Float(0x6028282a), SkBits2Float(0x68292ddf), SkBits2Float(0x5b2d555b), SkBits2Float(0x68556829)); // 4.84679e+19f, 3.1957e+24f, 4.8789e+16f, 4.03114e+24f
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_14(skiatest::Reporter* reporter, const char* filename) {
@@ -6712,7 +6725,7 @@ path.moveTo(SkBits2Float(0x1f2a302a), SkBits2Float(0xc8032108)); // 3.60387e-20
path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf0db684b), SkBits2Float(0x8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x302a5b25), SkBits2Float(0xf0685568)); // 3.4979e+24f, -5.43226e+29f, -1.64207e-31f, 5.76527e-19f, 6.19752e-10f, -2.87615e+29f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_15(skiatest::Reporter* reporter, const char* filename) {
@@ -6767,7 +6780,7 @@ path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14f, 5.72747e+16f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_16(skiatest::Reporter* reporter, const char* filename) {
@@ -6822,7 +6835,7 @@ path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x
path.lineTo(SkBits2Float(0x8c558c55), SkBits2Float(0x212a1f2a)); // -1.64512e-31f, 5.76395e-19f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_17(skiatest::Reporter* reporter, const char* filename) {
@@ -6874,7 +6887,7 @@ path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13
path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26f, 0.000209024f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) {
@@ -6925,8 +6938,7 @@ path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- // FIXME: fails on Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast, passes everywhere else
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) {
@@ -6976,7 +6988,7 @@ path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24
path.close();
SkPath path2(path);
- testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) {
@@ -7034,7 +7046,7 @@ path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24
path.close();
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) {
@@ -7077,7 +7089,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOp(reporter, path1, path2, (SkPathOp) 1, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
}
static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) {
@@ -7103,7 +7115,7 @@ path.quadTo(SkBits2Float(0x4f9a3a8a), SkBits2Float(0xc28a0d28), SkBits2Float(0x2
path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f, 2.33377e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 3, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 3, filename);
}
static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) {
@@ -7144,7 +7156,7 @@ path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x
path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) {
@@ -7193,7 +7205,7 @@ path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x
path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xececf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.66572e+26f, -2.29155e+27f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) {
@@ -7217,7 +7229,7 @@ path.close();
path.setFillType((SkPath::FillType) 0);
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
@@ -7276,7 +7288,7 @@ path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24
path.close();
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_28(skiatest::Reporter* reporter, const char* filename) {
@@ -7314,7 +7326,7 @@ path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f
path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a)); // 5.77848e-19f, 4.7323e-37f, 5.63611e+25f, 6.77381e-19f, 9.33503e-15f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_27(skiatest::Reporter* reporter, const char* filename) {
@@ -7330,7 +7342,7 @@ path.quadTo(SkBits2Float(0xb8b8d5b8), SkBits2Float(0x0b0b0b03), SkBits2Float(0x0
path.quadTo(SkBits2Float(0xb8b8b8b8), SkBits2Float(0x0b1203b8), SkBits2Float(0x0b0b0b0b), SkBits2Float(0x3a3a2110)); // -8.80821e-05f, 2.81214e-32f, 2.67787e-32f, 0.000710026f
SkPath path2(path);
- testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
}
static void fuzz763_29(skiatest::Reporter* reporter, const char* filename) {
@@ -7362,7 +7374,7 @@ path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x
path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f, 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f
SkPath path2(path);
- testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
}
static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) {
@@ -7392,7 +7404,7 @@ path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x3ac22c21), SkBits2Float(0x6
path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27f, 2.84109e+26f
SkPath path2(path);
- testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename);
+ testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
}
static struct TestDesc failTests[] = {
diff --git a/tests/PathOpsSimplifyFailTest.cpp b/tests/PathOpsSimplifyFailTest.cpp
index 977e47c1e4..4da43b8532 100644
--- a/tests/PathOpsSimplifyFailTest.cpp
+++ b/tests/PathOpsSimplifyFailTest.cpp
@@ -103,7 +103,7 @@ static void fuzz_59(skiatest::Reporter* reporter, const char* filename) {
path.lineTo(SkBits2Float(0x428c0000), SkBits2Float(0xce58f419)); // 70, -9.09969e+08f
path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0xce58f41c)); // 140, -9.09969e+08f
path.close();
- testSimplifyCheck(reporter, path, filename, true);
+ testSimplifyFuzz(reporter, path, filename);
}
static void fuzz_x1(skiatest::Reporter* reporter, const char* filename) {
diff --git a/tests/PathOpsSimplifyTest.cpp b/tests/PathOpsSimplifyTest.cpp
index af2e09d79f..fe43305cb4 100644
--- a/tests/PathOpsSimplifyTest.cpp
+++ b/tests/PathOpsSimplifyTest.cpp
@@ -5256,7 +5256,7 @@ static void tiger8a_h_1(skiatest::Reporter* reporter, const char* filename) {
#if DEBUG_UNDER_DEVELOPMENT // tiger
return;
#endif
- uint64_t testlines = 0x0000000202480001; // best so far: 0x0000001610031021;
+ uint64_t testlines = 0x0000004310528845; // best so far: 0x0000001d14c14bb1;
tiger8a_x(reporter, filename, testlines);
}
diff --git a/tools/pathops_sorter.htm b/tools/pathops_sorter.htm
index c83067c8bb..53c737ecd6 100644
--- a/tools/pathops_sorter.htm
+++ b/tools/pathops_sorter.htm
@@ -6,16 +6,11 @@
<title></title>
<div style="height:0">
-<div id="angle">
-{{{3.501392364501953125, 2.997215032577514648}, {3.501457691192626953, 2.997084617614746094}}} id=3
-{{{3.501392364501953125, 2.997215032577514648}, {3.503357251861000776, 2.995228720876561113}, {3.505322801636163721, 2.993241595853745718}, {3.507288694381713867, 2.99125361442565918}}} id=5
-{{{3.501392364501953125, 2.997215032577514648}, {3.373685992255707422, 3.126313863770498358}, {3.248105895472682469, 3.251894104527315754}, {3.125, 3.375}}} id=5
-</div>
-
-<div id="ref">
-{{{0.7153972983360290527, 4.712343692779541016}, {0.2472269223126296878, 4.55502436068874772}, {-0.1220090791716240131, 4.244018092892478222}, {0, 4}}},
-{{{0.7153972983360290527, 4.712343692779541016}, {0.1339736781445877156, 4.133975051508096854}, {0.7320473976783675729, 3.63397630116081638}, {2, 3}}},
-{{fX=-0.0012699038296868359 fY=-0.0012605104293301750 } {fX=-0.0025337575085910835 fY=-0.0025229424048465177 }
+<div id="coin">
+{{{492.59726f, 225.675842f}, {492.436249f, 225.168289f}, {492.444214f, 225.194092f}}} id=5
+{{{492.444214f, 225.194092f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} id=6
+{{{492.451324f, 225.216217f}, {491.100708f, 221.164124f}, {494.21756f, 218.78064f}}} id=1
+{{{493.399994f, 224.899994f}, {492.451324f, 225.216217f}}} id=9
</div>
</div>
@@ -23,8 +18,7 @@
<script type="text/javascript">
var testDivs = [
- angle,
- ref,
+ coin,
];
var decimal_places = 3;
diff --git a/tools/pathops_visualizer.htm b/tools/pathops_visualizer.htm
index 30140ad4b6..6fc5566441 100644
--- a/tools/pathops_visualizer.htm
+++ b/tools/pathops_visualizer.htm
@@ -2,698 +2,2078 @@
<head>
<div height="0" hidden="true">
-<div id="cubics_d3">
-seg=1 {{{3, 4}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=2 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {4, 2}}}
-seg=3 {{{4, 2}, {3, 4}}}
+Skia UnitTests: --match PathOpsOp$ --resourcePath resources\ SK_DEBUG
+
+<div id="cubicOp158">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
+op diff
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706687377 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753844,1.53502536}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343603 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706687377 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343602514 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706687377 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/9] 17/21 tStart=0.343602514 tEnd=0 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706687377 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343602514 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343602514 tEnd=0 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.118062696,1.76387462}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706687377 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343602514 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706687377 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.58104399,1.75779395}, {0.745714347,1.90818586}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.692707644,1.28858792}, {1.17460454,1.05058743}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394754708,1.53502369}, {0.272687665,1.38905229}, {0.14133834,1.21200454}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706687377 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713483,1.90818753}, {0.581043126,1.75779562}, {0.394753844,1.53502536}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343602514 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460454,1.05058743}, {0.692707644,1.28858792}, {0.394754708,1.53502369}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343602514 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337475,1.21200621 0.272686801,1.38905396 0.394753844,1.53502536) t=0 tEnd=0.0706687377 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753844,1.53502536 0.581043126,1.75779562 0.745713483,1.90818753 0.891273797,2) t=0.0706687377 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062696,1.76387462 0.394754708,1.53502369) t=0 tEnd=0.343602514 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394754708,1.53502369 0.692707644,1.28858792 1.17460454,1.05058743 1.89110041,1.1249522) t=0.343602514 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343689 pt=(0.204603344,1.29227567)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343689 pt=(0.204603344,1.29227567) slope=(5.58347868,7.55715759)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706687377 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753844,1.53502536) to=(0,1)
+path.moveTo(0.394753844,1.53502536);
+path.cubicTo(0.272686809,1.38905394, 0.141337469,1.21200621, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343602514 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343602514 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=18149624 end=18149400
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
+SkOpSegment::findNextOp
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343602514 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706687377 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343602514 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706687377 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343602514 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343602514 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706687377 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706687377 [9] (0.394753844,1.53502536) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343602514 [10] (0.394754708,1.53502369) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=18149288 end=129364480
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394754708,1.53502369)
+path.cubicTo(1.17460454,1.05058742, 0.692707658,1.28858793, 0.394754708,1.53502369);
+SkOpSegment::findNextOp simple
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
+</div>
+
+<div id="cubicOp158ref">
+seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}}
+seg=2 {{{2, 0}, {0, 1}}}
op diff
-seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}}
-seg=5 {{{3.125f, 3.375f}, {4, 2.5f}, {5, 1.5f}, {6, 0}}}
-seg=6 {{{6, 0}, {1, 6}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{1,6}} wnTs[0]=1 {{{6,0}, {1,6}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50728869,2.99125361}} wtTs[1]=1 {{6,0}} wnTs[0]=0.498542 {{{6,0}, {1,6}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=5 spanID=13
-SkOpSegment::addT insert t=0.498542274 segID=6 spanID=14
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=1 {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection no intersect {{{1,6}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{{4,2}, {3,4}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}}
-debugShowCubicIntersection wtTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0.140692452 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {6,0}}} {{3.50139236,2.99721503}} wnTs[0]=0.498608 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.140692452 segID=5 spanID=15
-SkOpSegment::addT insert t=0.498607541 segID=3 spanID=16
-debugShowCubicLineIntersection wtTs[0]=0.220070773 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{2.31394291,4.42326832}} wnTs[0]=0.737211 {{{6,0}, {1,6}}}
-SkOpSegment::addT insert t=0.737211419 segID=6 spanID=17
-SkOpSegment::addT insert t=0.220070773 segID=1 spanID=18
-debugShowCubicLineIntersection wtTs[0]=0.145241853 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50765967,2.99080825}} wtTs[1]=0.715768455 {{4.41676426,1.89988291}} wnTs[0]=0.498468 {{{6,0}, {1,6}}} wnTs[1]=0.316647149
-SkOpSegment::addT insert t=0.498468047 segID=6 spanID=19
-SkOpSegment::addT insert t=0.145241853 segID=2 spanID=20
-SkOpSegment::addT insert t=0.316647149 segID=6 spanID=21
-SkOpSegment::addT insert t=0.715768455 segID=2 spanID=22
-debugShowLineIntersection wtTs[0]=0.5 {{{6,0}, {1,6}}} {{3.5,3}} wnTs[0]=0.5 {{{4,2}, {3,4}}}
-SkOpSegment::addT insert t=0.5 segID=6 spanID=23
-SkOpSegment::addT insert t=0.5 segID=3 spanID=24
-debugShowCubicIntersection wtTs[0]=1 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3.125,3.375}} wnTs[0]=0 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}}
-debugShowCubicLineIntersection wtTs[0]=0 {{{3,4}, {1.5,5}, {2.25,4.25}, {3.125,3.375}}} {{3,4}} wnTs[0]=1 {{{4,2}, {3,4}}}
-debugShowCubicLineIntersection wtTs[0]=0.142857143 {{{3.125,3.375}, {4,2.5}, {5,1.5}, {4,2}}} {{3.50145769,2.99708462}} wtTs[1]=1 {{4,2}} wnTs[0]=0.498542 {{{4,2}, {3,4}}} wnTs[1]=0
-SkOpSegment::addT insert t=0.142857143 segID=2 spanID=25
-SkOpSegment::addT insert t=0.498542274 segID=3 spanID=26
+seg=3 {{{0, 2}, {0, 2}, {1, 0}, {4, 2}}}
+seg=4 {{{4, 2}, {0, 2}}}
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0,1}} wtTs[1]=1 {{2,0}} wnTs[0]=1 {{{2,0}, {0,1}}} wnTs[1]=0
+debugShowCubicIntersection wtTs[0]=0.0706686482 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.394753397,1.53502476}} wtTs[1]=0.620977139 {{1.89110041,1.1249522}} wnTs[0]=0.343602 {{{0,2}, {0,2}, {1,0}, {4,2}}} wnTs[1]=0.713607334
+SkOpSegment::addT insert t=0.0706686482 segID=1 spanID=9
+SkOpSegment::addT insert t=0.343601972 segID=3 spanID=10
+SkOpSegment::addT insert t=0.620977139 segID=1 spanID=11
+SkOpSegment::addT insert t=0.713607334 segID=3 spanID=12
+debugShowCubicLineIntersection wtTs[0]=0.178517901 {{{0,1}, {2,4}, {2,0}, {2,0}}} {{0.891273797,2}} wtTs[1]=0.375922451 {{1.51387751,2}} wnTs[0]=0.777182 {{{4,2}, {0,2}}} wnTs[1]=0.621530611
+SkOpSegment::addT insert t=0.178517901 segID=1 spanID=13
+SkOpSegment::addT insert t=0.777181549 segID=4 spanID=14
+SkOpSegment::addT insert t=0.375922451 segID=1 spanID=15
+SkOpSegment::addT insert t=0.621530611 segID=4 spanID=16
+debugShowCubicLineIntersection wtTs[0]=0 {{{0,2}, {0,2}, {1,0}, {4,2}}} {{0,2}} wtTs[1]=1 {{4,2}} wnTs[0]=1 {{{4,2}, {0,2}}} wnTs[1]=0
--------------------------------- start
active after start:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded
active after addExpanded:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveMultiples
active after moveMultiples:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby
active after moveNearby:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addEndMovedSpans
active after addEndMovedSpans:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addMissing2
active after addMissing2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- moveNearby2
active after moveNearby2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- expand2
active after expand2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- addExpanded3
active after addExpanded3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- mark1
active after mark1:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence2
active after missingCoincidence2:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- missingCoincidence3
active after missingCoincidence3:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- coincidence.reorder
active after coincidence.reorder:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->apply
active after pairs->apply:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
--------------------------------- pairs->findOverlaps
active after pairs->findOverlaps:
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSegment::sortAngles [4] tStart=1 [8]
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [1/19] 20/21 tStart=1 tEnd=0.220070773 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 12
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [4/1] 20/21 tStart=1 tEnd=0 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [1/19] 20/21 tStart=1 tEnd=0.220070773 F 5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.25,4.25}, {1.5,5}, {1,6}}} id=4
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::after [1/19] 20/21 tStart=1 tEnd=0.220070773 < [5/2] 4/5 tStart=0 tEnd=0.140692452 < [2/20] 4/5 tStart=0 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.125,3.375}, {2.44256193,4.05743807}, {1.83616005,4.66383975}, {2.31394291,4.42326832}}} id=1
-SkOpAngle::afterPart {{{3.125,3.375}, {3.2481059,3.2518941}, {3.37368599,3.12631386}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.125,3.375}, {3.25,3.25}, {3.37755099,3.12244905}, {3.50145769,2.99708462}}} id=2
-SkOpSegment::sortAngles [5] tStart=0 [9]
-SkOpSegment::sortAngles [5] tStart=0.140692452 [15]
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 < [5/4] 5/5 tStart=0.140692452 tEnd=0.142857143 T 11
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50335725,2.99522872}, {3.5053228,2.9932416}, {3.50728869,2.99125361}}} id=5
-SkOpAngle::after [5/3] 21/21 tStart=0.140692452 tEnd=0 < [3/30] 21/21 tStart=0.498607541 tEnd=0.5 < [3/29] 5/5 tStart=0.498607541 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.37368599,3.12631386}, {3.2481059,3.2518941}, {3.125,3.375}}} id=5
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.5,3}}} id=3
-SkOpAngle::afterPart {{{3.50139236,2.99721503}, {3.50145769,2.99708462}}} id=3
-SkOpSegment::sortAngles [5] tStart=0.142857143 [13]
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/11] 5/5 tStart=0.498542274 tEnd=0.498468047 < [5/6] 5/5 tStart=0.142857143 tEnd=1 F 11
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpAngle::after [5/5] 21/21 tStart=0.142857143 tEnd=0.140692452 < [6/12] 21/21 tStart=0.498542274 tEnd=0.5 < [5/6] 5/5 tStart=0.142857143 tEnd=1 T 12
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5053228,2.9932416}, {3.50335725,2.99522872}, {3.50139236,2.99721503}}} id=5
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{3.50728869,2.99125361}, {4.28571435,2.2040816}, {5.14285714,1.28571429}, {6,0}}} id=5
-SkOpSegment::sortAngles [6] tStart=0.316647149 [21]
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/25] 25/21 tStart=0.715768455 tEnd=0.145241853 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 F 11
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.43658858,2.02620596}, {4.00201137,2.49043886}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpAngle::after [6/7] 5/5 tStart=0.316647149 tEnd=0 < [2/26] 9/17 tStart=0.715768455 tEnd=1 < [6/8] 21/21 tStart=0.316647149 tEnd=0.498468047 T 4
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {6,0}}} id=6
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {4.40688795,1.83694983}, {4.28423154,1.85788423}, {4,2}}} id=2
-SkOpAngle::afterPart {{{4.41676426,1.89988291}, {3.50765967,2.99080825}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498468047 [19]
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 F 12
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::after [2/23] 21/21 tStart=0.145241853 tEnd=0.142857143 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 F 5
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50559336,2.99289971}, {3.50352606,2.99499191}, {3.50145769,2.99708462}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::after [6/10] 21/21 tStart=0.498468047 tEnd=0.498542274 < [2/24] 5/5 tStart=0.145241853 tEnd=0.715768455 < [6/9] 5/5 tStart=0.498468047 tEnd=0.316647149 T 11
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.00201137,2.49043886}, {4.43658858,2.02620596}, {4.41676426,1.89988291}}} id=2
-SkOpAngle::afterPart {{{3.50765967,2.99080825}, {4.41676426,1.89988291}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.498542274 [14]
-SkOpSegment::sortAngles [6] tStart=0.5 [23]
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 T 12
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/13] 5/5 tStart=0.5 tEnd=0.498542274 < [3/32] 21/21 tStart=0.5 tEnd=1 < [3/31] 5/5 tStart=0.5 tEnd=0.498607541 F 5
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::after [3/31] 5/5 tStart=0.5 tEnd=0.498607541 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/14] 21/21 tStart=0.5 tEnd=0.737211419 F 11
-SkOpAngle::afterPart {{{3.5,3}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::after [6/14] 21/21 tStart=0.5 tEnd=0.737211419 < [3/32] 21/21 tStart=0.5 tEnd=1 < [6/13] 5/5 tStart=0.5 tEnd=0.498542274 T 12
-SkOpAngle::afterPart {{{3.5,3}, {2.31394291,4.42326832}}} id=6
-SkOpAngle::afterPart {{{3.5,3}, {3,4}}} id=3
-SkOpAngle::afterPart {{{3.5,3}, {3.50728869,2.99125361}}} id=6
-SkOpSegment::sortAngles [6] tStart=0.737211419 [17]
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/17] 1/1 tStart=0.220070773 tEnd=0 < [6/16] 21/21 tStart=0.737211419 tEnd=1 F 4
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {2.44875776,4.35538685}, {2.66989384,4.22007077}, {3,4}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpAngle::after [6/15] 5/5 tStart=0.737211419 tEnd=0.5 < [1/18] 17/5 tStart=0.220070773 tEnd=1 < [6/16] 21/21 tStart=0.737211419 tEnd=1 T 12
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {3.5,3}}} id=6
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1.83616005,4.66383975}, {2.44256193,4.05743807}, {3.125,3.375}}} id=1
-SkOpAngle::afterPart {{{2.31394291,4.42326832}, {1,6}}} id=6
-SkOpSegment::sortAngles [1] tStart=0.220070773 [18]
-SkOpSegment::sortAngles [1] tStart=1 [2]
-SkOpSegment::sortAngles [2] tStart=0 [3]
-SkOpSegment::sortAngles [2] tStart=0.142857143 [25]
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/27] 5/5 tStart=0.498542274 tEnd=0 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 F 11
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {4,2}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpAngle::after [2/21] 21/21 tStart=0.142857143 tEnd=0 < [3/28] 21/21 tStart=0.498542274 tEnd=0.498607541 < [2/22] 5/5 tStart=0.142857143 tEnd=0.145241853 T 12
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.37755099,3.12244905}, {3.25,3.25}, {3.125,3.375}}} id=2
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50139236,2.99721503}}} id=3
-SkOpAngle::afterPart {{{3.50145769,2.99708462}, {3.50352606,2.99499191}, {3.50559336,2.99289971}, {3.50765967,2.99080825}}} id=2
-SkOpSegment::sortAngles [2] tStart=0.145241853 [20]
-SkOpSegment::sortAngles [2] tStart=0.715768455 [22]
-SkOpSegment::sortAngles [3] tStart=0.498542274 [26]
-SkOpSegment::sortAngles [3] tStart=0.498607541 [16]
-SkOpSegment::sortAngles [3] tStart=0.5 [24]
-SkOpSegment::debugShowActiveSpans id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (2.31394291,4.42326832 1,6) t=0.737211419 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=? windValue=1
-SkOpSpan::sortableTop dir=kLeft seg=4 t=0.5 pt=(1.921875,4.640625)
-SkOpSpan::sortableTop [0] valid=1 operand=1 span=7 ccw=1 seg=4 {{{1, 6}, {1.5f, 5}, {2.25f, 4.25f}, {3.125f, 3.375f}}} t=0.5 pt=(1.921875,4.640625) slope=(2.15625,-2.53125)
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=4 (1,6 1.5,5 2.25,4.25 3.125,3.375) t=0 [7] (1,6) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.737211419 [17] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=6 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=24 windSum=-1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=23 windSum=-1
-SkOpSegment::markWinding id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=1 span=2
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50728869,2.99125361 3.5,3) t=0.498542274 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.5,3 2.31394291,4.42326832) t=0.5 tEnd=0.737211419 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (3,4 2.66989384,4.22007077 2.44875776,4.35538685 2.31394291,4.42326832) t=0 tEnd=0.220070773 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=1 (2.31394291,4.42326832 1.83616005,4.66383975 2.44256193,4.05743807 3.125,3.375) t=0.220070773 tEnd=1 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50139236,2.99721503 3.5,3) t=0.498607541 tEnd=0.5 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.5,3 3,4) t=0.5 tEnd=1 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=0.0706686482 [9]
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/9] 17/21 tStart=0.343601972 tEnd=0 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/1] 9/9 tStart=0.0706686482 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [3/9] 17/21 tStart=0.343601972 tEnd=0 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::after [3/9] 17/21 tStart=0.343601972 tEnd=0 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 F 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.118062323,1.76387536}, {0,2}, {0,2}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::after [1/2] 25/29 tStart=0.0706686482 tEnd=0.178517901 < [3/10] 1/1 tStart=0.343601972 tEnd=0.713607334 < [1/1] 9/9 tStart=0.0706686482 tEnd=0 T 4
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.581042869,1.75779533}, {0.745713362,1.90818745}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.69270623,1.28858861}, {1.17460349,1.05058733}, {1.89110041,1.1249522}}} id=3
+SkOpAngle::afterPart {{{0.394753397,1.53502476}, {0.272686485,1.38905347}, {0.141337296,1.21200594}, {0,1}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.178517901 [13]
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/15] 31/31 tStart=0.777181549 tEnd=0.621530611 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 F 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {1.51387751,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpAngle::after [1/3] 13/13 tStart=0.178517901 tEnd=0.0706686482 < [4/16] 15/15 tStart=0.777181549 tEnd=1 < [1/4] 29/30 tStart=0.178517901 tEnd=0.375922451 T 4
+SkOpAngle::afterPart {{{0.891273797,2}, {0.745713362,1.90818745}, {0.581042869,1.75779533}, {0.394753397,1.53502476}}} id=1
+SkOpAngle::afterPart {{{0.891273797,2}, {0,2}}} id=4
+SkOpAngle::afterPart {{{0.891273797,2}, {1.15770394,2.16805137}, {1.36011011,2.13984528}, {1.51387751,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.375922451 [15]
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/13] 31/31 tStart=0.621530611 tEnd=0 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [4/13] 31/31 tStart=0.621530611 tEnd=0 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::after [4/13] 31/31 tStart=0.621530611 tEnd=0 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 F 4
+SkOpAngle::afterPart {{{1.51387751,2}, {4,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::after [1/6] 1/5 tStart=0.375922451 tEnd=0.620977139 < [4/14] 15/15 tStart=0.621530611 tEnd=0.777181549 < [1/5] 17/16 tStart=0.375922451 tEnd=0.178517901 T 4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.70476178,1.82639842}, {1.82069211,1.48075721}, {1.89110041,1.1249522}}} id=1
+SkOpAngle::afterPart {{{1.51387751,2}, {0.891273797,2}}} id=4
+SkOpAngle::afterPart {{{1.51387751,2}, {1.36011011,2.13984528}, {1.15770394,2.16805137}, {0.891273797,2}}} id=1
+SkOpSegment::sortAngles [1] tStart=0.620977139 [11]
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/11] 13/17 tStart=0.713607334 tEnd=0.343601972 < [1/8] 5/5 tStart=0.620977139 tEnd=1 F 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.17460349,1.05058733}, {0.69270623,1.28858861}, {0.394753397,1.53502476}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpAngle::after [1/7] 21/21 tStart=0.620977139 tEnd=0.375922451 < [3/12] 29/29 tStart=0.713607334 tEnd=1 < [1/8] 5/5 tStart=0.620977139 tEnd=1 T 4
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.82069211,1.48075721}, {1.70476178,1.82639842}, {1.51387751,2}}} id=1
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {2.44568551,1.18251232}, {3.140822,1.42721467}, {4,2}}} id=3
+SkOpAngle::afterPart {{{1.89110041,1.1249522}, {1.99999999,0.574633264}, {2,0}, {2,0}}} id=1
+SkOpSegment::sortAngles [3] tStart=0.343601972 [10]
+SkOpSegment::sortAngles [3] tStart=0.713607334 [12]
+SkOpSegment::sortAngles [4] tStart=0.621530611 [16]
+SkOpSegment::sortAngles [4] tStart=0.777181549 [14]
+SkOpSegment::debugShowActiveSpans id=1 (0,1 0.141337296,1.21200594 0.272686485,1.38905347 0.394753397,1.53502476) t=0 tEnd=0.0706686482 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.394753397,1.53502476 0.581042869,1.75779533 0.745713362,1.90818745 0.891273797,2) t=0.0706686482 tEnd=0.178517901 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.51387751,2 1.70476178,1.82639842 1.82069211,1.48075721 1.89110041,1.1249522) t=0.375922451 tEnd=0.620977139 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (1.89110041,1.1249522 1.99999999,0.574633264 2,0 2,0) t=0.620977139 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (2,0 0,1) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0,2 0,2 0.118062323,1.76387536 0.394753397,1.53502476) t=0 tEnd=0.343601972 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (0.394753397,1.53502476 0.69270623,1.28858861 1.17460349,1.05058733 1.89110041,1.1249522) t=0.343601972 tEnd=0.713607334 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (1.89110041,1.1249522 2.44568551,1.18251232 3.140822,1.42721467 4,2) t=0.713607334 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (4,2 1.51387751,2) t=0 tEnd=0.621530611 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (0.891273797,2 0,2) t=0.777181549 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=1 t=0.0353343241 pt=(0.204603091,1.29227543)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=0 seg=1 {{{0, 1}, {2, 4}, {2, 0}, {2, 0}}} t=0.0353343241 pt=(0.204603091,1.29227543) slope=(5.5834792,7.55715936)
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp simple
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0 [1] (3,4) tEnd=0.220070773 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-bridgeOp current id=1 from=(2.31394291,4.42326832) to=(3,4)
-path.moveTo(2.31394291,4.42326832);
-path.cubicTo(2.44875765,4.35538673, 2.66989374,4.22007084, 3,4);
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=16 windSum=-1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0 [1] (0,1) tEnd=0.0706686482 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=1 from=(0.394753397,1.53502476) to=(0,1)
+path.moveTo(0.394753397,1.53502476);
+path.cubicTo(0.272686481,1.38905346, 0.14133729,1.21200597, 0,1);
+SkOpSegment::findNextOp simple
+SkOpSegment::markDone id=2 (2,0 0,1) t=0 [3] (2,0) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+bridgeOp current id=2 from=(0,1) to=(2,0)
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=3 span=10 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [3/32] next=6/13 sect=21/21 s=0.5 [24] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/13] next=3/31 sect=5/5 s=0.5 [23] e=0.498542274 [14] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [3/31] next=6/14 sect=5/5 s=0.5 [24] e=0.498607541 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/14] next=3/32 sect=21/21 s=0.5 [23] e=0.737211419 [17] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498542274 [14] (3.50728869,2.99125361) tEnd=0.5 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=6 span=14 windSum=-1
-SkOpSegment::activeOp id=3 t=0.5 tEnd=0.498607541 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498607541 [16] (3.50139236,2.99721503) tEnd=0.5 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=3 span=16 windSum=-1
-SkOpSegment::activeOp id=6 t=0.5 tEnd=0.737211419 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.5 [24] (3.5,3) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[3] to:[6] start=19488848 end=19488176
-bridgeOp current id=3 from=(3,4) to=(3.5,3)
+SkOpAngle::dumpOne [1/8] next=3/11 sect=5/5 s=0.620977139 [11] e=1 [2] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/11] next=1/7 sect=13/17 s=0.713607334 [12] e=0.343601972 [10] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/7] next=3/12 sect=21/21 s=0.620977139 [11] e=0.375922451 [15] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpAngle::dumpOne [3/12] next=1/8 sect=29/29 s=0.713607334 [12] e=1 [6] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=0.343601972 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
+SkOpSegment::findNextOp chase.append segment=3 span=10 windSum=-1
+SkOpSegment::activeOp id=1 t=0.620977139 tEnd=0.375922451 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.375922451 [15] (1.51387751,2) tEnd=0.620977139 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=15 windSum=1
+SkOpSegment::activeOp id=3 t=0.713607334 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.713607334 [12] (1.89110041,1.1249522) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0 [7] (4,2) tEnd=0.621530611 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=16 windSum=-2147483647
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.620977139 [11] (1.89110041,1.1249522) tEnd=1 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[3] start=2300120 end=2299896
+bridgeOp current id=1 from=(2,0) to=(1.89110041,1.1249522)
+path.lineTo(2,0);
+path.cubicTo(2,0, 2,0.574633241, 1.89110041,1.1249522);
+SkOpSegment::markWinding id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=14 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=13 windSum=?
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/15] next=1/18 sect=5/5 s=0.737211419 [17] e=0.5 [23] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [1/18] next=6/16 sect=17/5 s=0.220070773 [18] e=1 [2] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1
-SkOpAngle::dumpOne [6/16] next=1/17 sect=21/21 s=0.737211419 [17] e=1 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/17] next=6/15 sect=1/1 s=0.220070773 [18] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=1 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=1 (3,4 1.5,5 2.25,4.25 3.125,3.375) t=0.220070773 [18] (2.31394291,4.42326832) tEnd=1 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.737211419 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::activeOp id=1 t=0.220070773 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.5 [23] (3.5,3) tEnd=0.737211419 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[1] start=19488288 end=123925160
-bridgeOp current id=6 from=(3.5,3) to=(2.31394291,4.42326832)
-path.lineTo(3.5,3);
-path.lineTo(2.31394291,4.42326832);
+SkOpAngle::dumpOne [3/10] next=1/1 sect=1/1 s=0.343601972 [10] e=0.713607334 [12] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/1] next=3/9 sect=9/9 s=0.0706686482 [9] e=0 [1] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=1/2 sect=17/21 s=0.343601972 [10] e=0 [5] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
+SkOpAngle::dumpOne [1/2] next=3/10 sect=25/29 s=0.0706686482 [9] e=0.178517901 [13] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
+SkOpSegment::activeOp id=3 t=0.343601972 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0 [5] (0,2) tEnd=0.343601972 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.777181549 [14] (0.891273797,2) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=4 span=14 windSum=-1
+SkOpSegment::activeOp id=1 t=0.0706686482 tEnd=0.178517901 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.0706686482 [9] (0.394753397,1.53502476) tEnd=0.178517901 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp chase.append segment=1 span=13 windSum=-2147483647
+SkOpSegment::markDone id=3 (0,2 0,2 1,0 4,2) t=0.343601972 [10] (0.394753397,1.53502476) tEnd=0.713607334 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[3] to:[1] start=2299784 end=123531816
+bridgeOp current id=3 from=(1.89110041,1.1249522) to=(0.394753397,1.53502476)
+path.cubicTo(1.17460346,1.0505873, 0.692706227,1.28858864, 0.394753397,1.53502476);
path.close();
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=3 span=26 windSum=-1
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=?
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=9 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=3 (3.50145769,2.99708462 3.50139236,2.99721503) t=0.498542274 tEnd=0.498607541 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=3 t=0.498607541 tEnd=0.498542274 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0.498542274 [26] (3.50145769,2.99708462) tEnd=0.498607541 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=3 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=20 windSum=?
-SkOpSegment::markWinding id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=3 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50145769,2.99708462 3.50352606,2.99499191 3.50559336,2.99289971 3.50765967,2.99080825) t=0.142857143 tEnd=0.145241853 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0.145241853 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.142857143 [25] (3.50145769,2.99708462) tEnd=0.145241853 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-2147483647
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=14 windSum=-1
-SkOpSegment::markWinding id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=2 span=22 windSum=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=6 span=21 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=6 (3.50765967,2.99080825 3.50728869,2.99125361) t=0.498468047 tEnd=0.498542274 windSum=-1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.498468047 [19] (3.50765967,2.99080825) tEnd=0.498542274 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50728869,2.99125361 4.28571435,2.2040816 5.14285714,1.28571429 6,0) t=0.142857143 tEnd=1 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (6,0 4.41676426,1.89988291) t=0 tEnd=0.316647149 windSum=? windValue=1
-SkOpSegment::debugShowActiveSpans id=6 (4.41676426,1.89988291 3.50765967,2.99080825) t=0.316647149 tEnd=0.498468047 windSum=-1 oppSum=1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.50765967,2.99080825 4.00201137,2.49043886 4.43658858,2.02620596 4.41676426,1.89988291) t=0.145241853 tEnd=0.715768455 windSum=1 oppSum=0 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (4.41676426,1.89988291 4.40688795,1.83694983 4.28423154,1.85788423 4,2) t=0.715768455 tEnd=1 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=3 (4,2 3.50145769,2.99708462) t=0 tEnd=0.498542274 windSum=1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markWinding id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markWinding id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
-SkOpSegment::markAngle last segment=5 span=13 windSum=-1
+SkOpSegment::markWinding id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=1 span=15 windSum=1
+SkOpSegment::markWinding id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markAngle last segment=4 span=16 windSum=-1
+SkOpSegment::debugShowActiveSpans id=1 (0.891273797,2 1.15770394,2.16805137 1.36011011,2.13984528 1.51387751,2) t=0.178517901 tEnd=0.375922451 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=4 (1.51387751,2 0.891273797,2) t=0.621530611 tEnd=0.777181549 windSum=-1 oppSum=1 windValue=1 oppValue=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [6/8] next=2/25 sect=21/21 s=0.316647149 [21] e=0.498468047 [19] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
-SkOpAngle::dumpOne [2/25] next=6/7 sect=25/21 s=0.715768455 [22] e=0.145241853 [20] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/7] next=2/26 sect=5/5 s=0.316647149 [21] e=0 [11] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 operand
-SkOpAngle::dumpOne [2/26] next=6/8 sect=9/17 s=0.715768455 [22] e=1 [4] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=0.145241853 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=6 t=0.316647149 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0 [11] (6,0) tEnd=0.316647149 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.142857143 [13] (3.50728869,2.99125361) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp chase.append segment=5 span=13 windSum=-1
-SkOpSegment::activeOp id=2 t=0.715768455 tEnd=1 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.715768455 [22] (4.41676426,1.89988291) tEnd=1 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=3 (4,2 3,4) t=0 [5] (4,2) tEnd=0.498542274 newWindSum=1 newOppSum=-1 oppSum=-1 windSum=1 windValue=1 oppValue=0
-SkOpSegment::markDone id=6 (6,0 1,6) t=0.316647149 [21] (4.41676426,1.89988291) tEnd=0.498468047 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[6] to:[2] start=19488736 end=19488512
-bridgeOp current id=6 from=(3.50765967,2.99080825) to=(4.41676426,1.89988291)
+SkOpAngle::dumpOne [1/5] next=4/13 sect=17/16 s=0.375922451 [15] e=0.178517901 [13] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [4/13] next=1/6 sect=31/31 s=0.621530611 [16] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/6] next=4/14 sect=1/5 s=0.375922451 [15] e=0.620977139 [11] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/14] next=1/5 sect=15/15 s=0.621530611 [16] e=0.777181549 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
+SkOpSegment::activeOp id=1 t=0.375922451 tEnd=0.620977139 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.621530611 tEnd=0.777181549 op=diff miFrom=1 miTo=1 suFrom=1 suTo=0 result=1
+SkOpSegment::markDone id=1 (0,1 2,4 2,0 2,0) t=0.178517901 [13] (0.891273797,2) tEnd=0.375922451 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[1] to:[4] start=2300568 end=2300344
+bridgeOp current id=1 from=(0.891273797,2) to=(1.51387751,2)
+path.moveTo(0.891273797,2);
+path.cubicTo(1.157704,2.16805148, 1.36011016,2.13984537, 1.51387751,2);
SkOpSegment::findNextOp
-SkOpAngle::dumpOne [2/24] next=6/9 sect=5/5 s=0.145241853 [20] e=0.715768455 [22] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
-SkOpAngle::dumpOne [6/9] next=2/23 sect=5/5 s=0.498468047 [19] e=0.316647149 [21] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 done operand
-SkOpAngle::dumpOne [2/23] next=6/10 sect=21/21 s=0.145241853 [20] e=0.142857143 [25] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [6/10] next=2/24 sect=21/21 s=0.498468047 [19] e=0.498542274 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.316647149 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::activeOp id=2 t=0.145241853 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
-SkOpSegment::activeOp id=6 t=0.498468047 tEnd=0.498542274 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0.145241853 [20] (3.50765967,2.99080825) tEnd=0.715768455 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[2] to:[6] start=19488400 end=19488624
-bridgeOp current id=2 from=(4.41676426,1.89988291) to=(3.50765967,2.99080825)
-path.moveTo(3.50765967,2.99080825);
-path.lineTo(4.41676426,1.89988291);
-path.cubicTo(4.43658876,2.02620602, 4.0020113,2.49043894, 3.50765967,2.99080825);
+SkOpAngle::dumpOne [4/15] next=1/3 sect=31/31 s=0.777181549 [14] e=0.621530611 [16] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=1 operand
+SkOpAngle::dumpOne [1/3] next=4/16 sect=13/13 s=0.178517901 [13] e=0.0706686482 [9] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=-1 done
+SkOpAngle::dumpOne [4/16] next=1/4 sect=15/15 s=0.777181549 [14] e=1 [8] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
+SkOpAngle::dumpOne [1/4] next=4/15 sect=29/30 s=0.178517901 [13] e=0.375922451 [15] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.0706686482 op=diff miFrom=1 miTo=0 suFrom=1 suTo=1 result=0
+SkOpSegment::activeOp id=4 t=0.777181549 tEnd=1 op=diff miFrom=0 miTo=0 suFrom=1 suTo=0 result=0
+SkOpSegment::activeOp id=1 t=0.178517901 tEnd=0.375922451 op=diff miFrom=0 miTo=1 suFrom=0 suTo=0 result=1
+SkOpSegment::markDone id=4 (4,2 0,2) t=0.621530611 [16] (1.51387751,2) tEnd=0.777181549 newWindSum=-1 newOppSum=1 oppSum=1 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextOp from:[4] to:[1] start=2300232 end=2300456
+bridgeOp current id=4 from=(1.51387751,2) to=(0.891273797,2)
+path.lineTo(0.891273797,2);
path.close();
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.50139236,2.99721503 3.50335725,2.99522872 3.5053228,2.9932416 3.50728869,2.99125361) t=0.140692452 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.142857143 tEnd=0.140692452 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0.140692452 [15] (3.50139236,2.99721503) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::debugShowActiveSpans id=2 (3.125,3.375 3.25,3.25 3.37755099,3.12244905 3.50145769,2.99708462) t=0 tEnd=0.142857143 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=2 t=0.142857143 tEnd=0 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=2 (3.125,3.375 4,2.5 5,1.5 4,2) t=0 [3] (3.125,3.375) tEnd=0.142857143 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-bridgeOp chase.append id=2 windSum=-1
-SkOpSegment::debugShowActiveSpans id=5 (3.125,3.375 3.2481059,3.2518941 3.37368599,3.12631386 3.50139236,2.99721503) t=0 tEnd=0.140692452 windSum=-1 oppSum=-1 windValue=1 oppValue=0
-SkOpSegment::activeOp id=5 t=0.140692452 tEnd=0 op=diff miFrom=1 miTo=1 suFrom=0 suTo=1 result=1
-SkOpSegment::findNextOp
-SkOpAngle::dumpOne [5/2] next=2/20 sect=4/5 s=0 [9] e=0.140692452 [15] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 operand
-SkOpAngle::dumpOne [2/20] next=4/1 sect=4/5 s=0 [3] e=0.142857143 [25] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpAngle::dumpOne [4/1] next=1/19 sect=20/21 s=1 [8] e=0 [7] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done operand
-SkOpAngle::dumpOne [1/19] next=5/2 sect=20/21 s=1 [2] e=0.220070773 [18] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=-1 done
-SkOpSegment::activeOp id=2 t=0 tEnd=0.142857143 op=diff miFrom=1 miTo=0 suFrom=0 suTo=0 result=1
-SkOpSegment::activeOp id=4 t=1 tEnd=0 op=diff miFrom=0 miTo=0 suFrom=0 suTo=1 result=0
-SkOpSegment::activeOp id=1 t=1 tEnd=0.220070773 op=diff miFrom=0 miTo=1 suFrom=1 suTo=1 result=0
-SkOpSegment::markDone id=5 (3.125,3.375 4,2.5 5,1.5 6,0) t=0 [9] (3.125,3.375) tEnd=0.140692452 newWindSum=-1 newOppSum=-1 oppSum=-1 windSum=-1 windValue=1 oppValue=0
-SkOpSegment::findNextOp from:[5] to:[2] start=19486400 end=19489072
-bridgeOp current id=5 from=(3.50139236,2.99721503) to=(3.125,3.375)
-path.moveTo(3.50139236,2.99721503);
-path.cubicTo(3.37368608,3.12631392, 3.248106,3.251894, 3.125,3.375);
+</div>
+
+<div id="tiger8a_h_1ref">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+--------------------x------------- start
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveMultiples
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addEndMovedSpans
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addMissing2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- moveNearby2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- expand2
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- addExpanded3
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------------x------------- mark1
+00: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+01: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+02: coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16 MissingCoin
+03: coinSpan=16 endSpan=18 oppSpan=17 oppEndSpan=19 MissingCoin
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::missingCoincidence coinSpan=19 endSpan=17 oppSpan=18 oppEndSpan=16
+--------------x--x---------------- missingCoincidence1
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after missingCoincidence1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- expand3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after expand3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+--------------x--x---------------- addExpanded3
+00: base=19 base=16 MarkCoinStart
+01: base=17 base=18 MarkCoinEnd
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+seg=5 span=19 windValue=0 oppValue=0
+seg=3 span=16 windValue=0 oppValue=0
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=? newOppSum=? oppSum=? windSum=? windValue=0 oppValue=0
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.451703,225.215903}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.452698,225.215676}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.452161,225.215521}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/10] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453156,225.215294}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45326,225.215465}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/13] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.497789,225.32618}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/14] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/15] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/15] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/15] 1/1 tStart=0.998861268 tEnd=0 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/16] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45326,225.215465}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/17] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/12] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/18] 17/17 tStart=0.999209221 tEnd=1 < [5/12] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452698,225.215676}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkCoincidentSpans::debugShow - id=5 t=0.292224891 tEnd=0.32993192
+SkCoincidentSpans::debugShow + id=3 t=0.887605755 tEnd=0.872874414
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18607576
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18606936
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[3] start=18608368 end=18609040
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/17] next=5/11 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/11] next=7/18 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/18] next=5/12 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/12] next=7/17 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=18609264 end=18608480
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/10] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=1/1 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/1] next=5/10 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=18608368 end=18609040
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18607992
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/14] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/13 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/13] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/14 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=18608816 end=18609040
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/15 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/15] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/16 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/16] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=18609152 end=18609376
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kLeft seg=3 t=0.943802877 pt=(492.44162,225.186325)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=18 ccw=1 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.943802877 pt=(492.44162,225.186325) slope=(-0.0545008819,-0.144046628)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::nextChase mismatched signs
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.437775,225.175201) to=(492.450012,225.207581)
+path.moveTo(492.437775,225.175201);
+path.quadTo(492.439331,225.181351, 492.450012,225.207581);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.450012,225.20752) to=(492.42984,225.142548)
+path.lineTo(492.450012,225.20752);
+path.quadTo(492.440063,225.177078, 492.42984,225.142548);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=4 from=(492.42984,225.142548) to=(492.437775,225.175201)
+path.lineTo(492.437775,225.175201);
+path.close();
+</div>
+
+<div id="tiger8a_h_1">
+seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f}
+seg=2 {{{511.418884f, 210.714493f}, {494.350159f, 228.773712f}, {493.19165f, 226.887451f}}}
+seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}}
+seg=4 {{{492.437775f, 225.175201f}, {492.42984f, 225.142548f}}}
+seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}}
+seg=6 {{{492.495178f, 225.325806f}, {494.272919f, 225.581543f}, {494.37619f, 225.116943f}}}
+seg=7 {{{494.37619f, 225.116943f}, {492.451324f, 225.216217f}}}
+debugShowConicQuadIntersection wtTs[0]=1 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{511.418884,210.714493}} wnTs[0]=0 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}}
+debugShowConicQuadIntersection wtTs[0]=6.50647037e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.453003,225.214828}} wnTs[0]=0.872874 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+SkOpSegment::addT insert t=6.50647037e-05 segID=1 spanID=15
+SkOpSegment::addT insert t=0.872874414 segID=3 spanID=16
+debugShowConicQuadIntersection wtTs[0]=5.27409915e-05 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.452667,225.215088}} wnTs[0]=0.329932 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.32993192 segID=5 spanID=17
+debugShowConicQuadIntersection no intersect {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowConicLineIntersection wtTs[0]=0 {{{{492.451324,225.216217}, {510.633392,210.095627}, {511.418884,210.714493}}}, 0.707106769} {{492.451324,225.216217}} wnTs[0]=1 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadIntersection wtTs[0]=1 {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{493.19165,226.887451}} wnTs[0]=0 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}}
+debugShowQuadIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection no intersect {{{511.418884,210.714493}, {494.350159,228.773712}, {493.19165,226.887451}}} {{{494.37619,225.116943}, {492.451324,225.216217}}}
+debugShowQuadLineIntersection wtTs[0]=1 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.437775,225.175201}} wnTs[0]=0 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=0.887605755 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.450012,225.207581}} wnTs[0]=0.292225 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}}
+SkOpSegment::addT insert t=0.887605755 segID=3 spanID=18
+SkOpSegment::addT insert t=0.292224891 segID=5 spanID=19
+debugShowQuadIntersection wtTs[0]=0.724616587 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.500397,225.326553}} wnTs[0]=0.00147105 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+SkOpSegment::addT insert t=0.724616587 segID=3 spanID=20
+SkOpSegment::addT insert t=0.00147105082 segID=6 spanID=21
+debugShowQuadLineIntersection wtTs[0]=0.870423127 {{{493.19165,226.887451}, {492.451447,225.22908}, {492.437775,225.175201}}} {{492.453522,225.21611}} wnTs[0]=0.998861 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.870423127 segID=3 spanID=22
+SkOpSegment::addT insert t=0.998861268 segID=7 spanID=23
+debugShowQuadLineIntersection wtTs[0]=0 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.42984,225.142548}} wnTs[0]=1 {{{492.437775,225.175201}, {492.42984,225.142548}}}
+debugShowQuadIntersection wtTs[0]=1 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.495178,225.325806}} wnTs[0]=0 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}}
+debugShowQuadLineIntersection wtTs[0]=0.334541898 {{{492.42984,225.142548}, {492.465088,225.261765}, {492.495178,225.325806}}} {{492.45285,225.216141}} wnTs[0]=0.999209 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+SkOpSegment::addT insert t=0.334541898 segID=5 spanID=24
+SkOpSegment::addT insert t=0.999209221 segID=7 spanID=25
+debugShowQuadLineIntersection wtTs[0]=1 {{{492.495178,225.325806}, {494.272919,225.581543}, {494.37619,225.116943}}} {{494.37619,225.116943}} wnTs[0]=0 {{{494.37619,225.116943}, {492.451324,225.216217}}}
+---------------------------------- start
+active after start:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded
+active after addExpanded:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveMultiples
+active after moveMultiples:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby
+active after moveNearby:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addEndMovedSpans
+active after addEndMovedSpans:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addMissing2
+active after addMissing2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- moveNearby2
+active after moveNearby2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- expand2
+active after expand2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- addExpanded3
+active after addExpanded3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- mark1
+active after mark1:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence2
+active after missingCoincidence2:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- missingCoincidence3
+active after missingCoincidence3:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- coincidence.reorder
+active after coincidence.reorder:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->apply
+active after pairs->apply:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+---------------------------------- pairs->findOverlaps
+active after pairs->findOverlaps:
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSegment::sortAngles [1] tStart=6.50647037e-05 [15]
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.451282,225.211404}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 4
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {492.450867,225.216599}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.452545,225.21521}, {492.45285,225.216141}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{{492.452545,225.21521}, {510.633007,210.096065}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 F 4
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::after [5/14] 25/25 tStart=0.32993192 tEnd=0.334541898 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 F 5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453308,225.215759}, {492.45285,225.216141}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/7] 25/25 tStart=0.872874414 tEnd=0.870423127 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.453522,225.21611}, {492.453522,225.21611}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::after [1/2] 1/1 tStart=6.50647037e-05 tEnd=1 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 F 7
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {510.633465,210.095684}, {511.418884,210.714493}}}, 0.707139313} id=1
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::after [5/13] 9/9 tStart=0.32993192 tEnd=0.292224891 < [3/8] 9/9 tStart=0.872874414 tEnd=0.887605755 < [1/1] 17/17 tStart=6.50647037e-05 tEnd=0 T 7
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.45174,225.211023}, {492.450012,225.20752}}} id=5
+SkOpAngle::afterPart {{{492.453003,225.214828}, {492.451429,225.21103}, {492.450012,225.207581}}} id=3
+SkOpAngle::afterPart {{{{492.453003,225.214828}, {492.451324,225.216217}, {492.451324,225.216217}}}, 1} id=1
+SkOpSegment::sortAngles [3] tStart=0.724616587 [20]
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/17] 13/13 tStart=0.00147105082 tEnd=0 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 F 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.495178,225.325806}, {492.495178,225.325806}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpAngle::after [3/3] 25/25 tStart=0.724616587 tEnd=0 < [6/18] 29/1 tStart=0.00147105082 tEnd=1 < [3/4] 9/9 tStart=0.724616587 tEnd=0.870423127 T 4
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.655145,225.685452}, {493.19165,226.887451}}} id=3
+SkOpAngle::afterPart {{{492.500397,225.326553}, {494.273071,225.580858}, {494.37619,225.116943}}} id=6
+SkOpAngle::afterPart {{{492.500397,225.326553}, {492.469401,225.254666}, {492.453522,225.21611}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.870423127 [22]
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/19] 1/1 tStart=0.998861268 tEnd=0 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [7/19] 1/1 tStart=0.998861268 tEnd=0 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::after [7/19] 1/1 tStart=0.998861268 tEnd=0 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 F 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {494.37619,225.116943}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::after [3/6] 9/9 tStart=0.870423127 tEnd=0.872874414 < [7/20] 17/17 tStart=0.998861268 tEnd=0.999209221 < [3/5] 25/25 tStart=0.870423127 tEnd=0.724616587 T 4
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.453003,225.214828}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.45285,225.216141}}} id=7
+SkOpAngle::afterPart {{{492.453522,225.21611}, {492.469401,225.254666}, {492.500397,225.326553}}} id=3
+SkOpSegment::sortAngles [3] tStart=0.872874414 [16]
+SkOpSegment::sortAngles [3] tStart=0.887605755 [18]
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/11] 9/9 tStart=0.292224891 tEnd=0 < [3/10] 9/9 tStart=0.887605755 tEnd=1 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [5/11] 9/9 tStart=0.292224891 tEnd=0 F 12
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::after [5/11] 9/9 tStart=0.292224891 tEnd=0 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/10] 9/9 tStart=0.887605755 tEnd=1 F 5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.440051,225.177084}, {492.42984,225.142548}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::after [3/10] 9/9 tStart=0.887605755 tEnd=1 < [5/12] 25/25 tStart=0.292224891 tEnd=0.32993192 < [3/9] 25/25 tStart=0.887605755 tEnd=0.872874414 T 11
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.439333,225.181283}, {492.437775,225.175201}}} id=3
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.451282,225.211404}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.450012,225.20752}, {492.453003,225.214767}, {492.453003,225.214828}}} id=3
+SkOpSegment::sortAngles [5] tStart=0.292224891 [19]
+SkOpSegment::sortAngles [5] tStart=0.32993192 [17]
+SkOpSegment::sortAngles [5] tStart=0.334541898 [24]
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/21] 1/1 tStart=0.999209221 tEnd=0.998861268 < [5/16] 25/25 tStart=0.334541898 tEnd=1 F 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.453522,225.21611}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpAngle::after [5/15] 9/9 tStart=0.334541898 tEnd=0.32993192 < [7/22] 17/17 tStart=0.999209221 tEnd=1 < [5/16] 25/25 tStart=0.334541898 tEnd=1 T 4
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.452545,225.21521}, {492.452545,225.21521}}} id=5
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.451324,225.216217}}} id=7
+SkOpAngle::afterPart {{{492.45285,225.216141}, {492.475165,225.283211}, {492.495178,225.325806}}} id=5
+SkOpSegment::sortAngles [6] tStart=0.00147105082 [21]
+SkOpSegment::sortAngles [7] tStart=0.998861268 [23]
+SkOpSegment::sortAngles [7] tStart=0.999209221 [25]
+SkOpSegment::debugShowActiveSpans id=1 (492.451324,225.216217 492.452161,225.215521 492.453003,225.214828 1f) t=0 tEnd=6.50647037e-05 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=1 (492.453003,225.214828 510.633465,210.095684 511.418884,210.714493 0.707139313f) t=6.50647037e-05 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (493.19165,226.887451 492.655145,225.685452 492.500397,225.326553) t=0 tEnd=0.724616587 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.45285,225.216141 492.475165,225.283211 492.495178,225.325806) t=0.334541898 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.495178,225.325806 492.497789,225.32618 492.500397,225.326553) t=0 tEnd=0.00147105082 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.45285,225.216141 492.451324,225.216217) t=0.999209221 tEnd=1 windSum=? windValue=1
+SkOpSpan::sortableTop dir=kTop seg=1 t=3.25323518e-05 pt=(492.452148,225.215515)
+SkOpSpan::sortableTop [0] valid=1 operand=0 span=16 ccw=0 seg=3 {{{493.19165f, 226.887451f}, {492.451447f, 225.22908f}, {492.437775f, 225.175201f}}} t=0.876908819 pt=(492.452148,225.212769) slope=(-0.103101554,-0.251377622)
+SkOpSpan::sortableTop [1] valid=1 operand=0 span=19 ccw=1 seg=5 {{{492.42984f, 225.142548f}, {492.465088f, 225.261765f}, {492.495178f, 225.325806f}}} t=0.324136764 pt=(492.452148,225.214035) slope=(0.0335760769,0.10133242)
+SkOpSpan::sortableTop [2] valid=1 operand=0 span=1 ccw=1 seg=1 {{{{492.451324f, 225.216217f}, {510.633392f, 210.095627f}, {511.418884f, 210.714493f}}}, 0.707106769f} t=3.25323518e-05 pt=(492.452148,225.215515) slope=(12.8564438,-10.6916478)
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=? windSum=? windValue=1 oppValue=0
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=0 [1] (492.451324,225.216217) tEnd=6.50647037e-05 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=1 from=(492.453003,225.214828) to=(492.451324,225.216217)
+path.moveTo(492.453003,225.214828);
+path.conicTo(492.452148,225.215515, 492.451324,225.216217, 1);
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=6 span=21 windSum=?
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=5 span=17 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=6 span=21 windSum=-2147483647
+SkOpSegment::findNextWinding chase.append segment=7 span=23 windSum=1
+SkOpSegment::findNextWinding chase.append segment=5 span=17 windSum=-1
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.999209221 [25] (492.45285,225.216141) tEnd=1 newWindSum=-1 newOppSum=0 oppSum=0 windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7391976
+bridgeWinding current id=7 from=(492.451324,225.216217) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.334541898 [24] (492.45285,225.216141) tEnd=1 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.495178,225.325806)
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.475159,225.283218, 492.495178,225.325806);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=1 span=15 windSum=-1
+SkOpSegment::markWinding id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=7 span=23 windSum=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=?
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpSegment::findNextWinding chase.append segment=1 span=15 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=22 windSum=-2147483647
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0 [11] (492.495178,225.325806) tEnd=0.00147105082 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7391336
+bridgeWinding current id=6 from=(492.495178,225.325806) to=(492.500397,225.326553)
+path.quadTo(492.497803,225.326187, 492.500397,225.326553);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0 [5] (493.19165,226.887451) tEnd=0.724616587 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(493.19165,226.887451)
+path.quadTo(492.655151,225.685455, 493.19165,226.887451);
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=2 (511.418884,210.714493 494.350159,228.773712 493.19165,226.887451) t=0 [3] (511.418884,210.714493) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=2 from=(493.19165,226.887451) to=(511.418884,210.714493)
+path.quadTo(494.350159,228.773712, 511.418884,210.714493);
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=22 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=1 (492.451324,225.216217 510.633392,210.095627 511.418884,210.714493) t=6.50647037e-05 [15] (492.453003,225.214828) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[1] to:[5] start=7392880 end=7393104
+bridgeWinding current id=1 from=(511.418884,210.714493) to=(492.453003,225.214828)
+path.conicTo(510.633453,210.095688, 492.453003,225.214828, 0.707139313);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453522,225.21611 492.45326,225.215465 492.453003,225.214828) t=0.870423127 tEnd=0.872874414 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=5 (492.452545,225.21521 492.452698,225.215676 492.45285,225.216141) t=0.32993192 tEnd=0.334541898 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (492.453522,225.21611 492.45285,225.216141) t=0.998861268 tEnd=0.999209221 windSum=1 windValue=1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [7/21] next=5/15 sect=1/1 s=0.999209221 [25] e=0.998861268 [23] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [5/15] next=7/22 sect=9/9 s=0.334541898 [24] e=0.32993192 [17] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/22] next=5/16 sect=17/17 s=0.999209221 [25] e=1 [14] sgn=-1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/16] next=7/21 sect=25/25 s=0.334541898 [24] e=1 [10] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0.998861268 [23] (492.453522,225.21611) tEnd=0.999209221 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[7] to:[5] start=7393664 end=7392880
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(492.45285,225.216141)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.32993192 [17] (492.452545,225.21521) tEnd=0.334541898 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392768 end=7393440
+bridgeWinding current id=5 from=(492.45285,225.216141) to=(492.452545,225.21521)
+path.moveTo(492.453522,225.21611);
+path.lineTo(492.45285,225.216141);
+path.quadTo(492.452698,225.215683, 492.452545,225.21521);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.870423127 [22] (492.453522,225.21611) tEnd=0.872874414 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7392392
+bridgeWinding current id=3 from=(492.453003,225.214828) to=(492.453522,225.21611)
+path.lineTo(492.453003,225.214828);
+path.quadTo(492.453247,225.215469, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.500397,225.326553 492.469401,225.254666 492.453522,225.21611) t=0.724616587 tEnd=0.870423127 windSum=1 windValue=1
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=6 (492.500397,225.326553 494.273071,225.580858 494.37619,225.116943) t=0.00147105082 tEnd=1 windSum=-1 windValue=1
+SkOpSegment::debugShowActiveSpans id=7 (494.37619,225.116943 492.453522,225.21611) t=0 tEnd=0.998861268 windSum=-1 windValue=1
+SkOpSegment::findNextWinding simple
+SkOpSegment::markDone id=7 (494.37619,225.116943 492.451324,225.216217) t=0 [13] (494.37619,225.116943) tEnd=0.998861268 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+bridgeWinding current id=7 from=(492.453522,225.21611) to=(494.37619,225.116943)
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [6/18] next=3/4 sect=29/1 s=0.00147105082 [21] e=1 [12] sgn=-1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/4] next=6/17 sect=9/9 s=0.724616587 [20] e=0.870423127 [22] sgn=-1 windVal=1 windSum=1
+SkOpAngle::dumpOne [6/17] next=3/3 sect=13/13 s=0.00147105082 [21] e=0 [11] sgn=1 windVal=1 windSum=1 done
+SkOpAngle::dumpOne [3/3] next=6/18 sect=25/25 s=0.724616587 [20] e=0 [5] sgn=1 windVal=1 windSum=-1 done
+SkOpSegment::markDone id=6 (492.495178,225.325806 494.272919,225.581543 494.37619,225.116943) t=0.00147105082 [21] (492.500397,225.326553) tEnd=1 newWindSum=-1 newOppSum=? oppSum=? windSum=-1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[6] to:[3] start=7393216 end=7393440
+bridgeWinding current id=6 from=(494.37619,225.116943) to=(492.500397,225.326553)
+path.moveTo(492.453522,225.21611);
+path.lineTo(494.37619,225.116943);
+path.quadTo(494.273071,225.580856, 492.500397,225.326553);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/5] next=7/19 sect=25/25 s=0.870423127 [22] e=0.724616587 [20] sgn=1 windVal=1 windSum=1
+SkOpAngle::dumpOne [7/19] next=3/6 sect=1/1 s=0.998861268 [23] e=0 [13] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/6] next=7/20 sect=9/9 s=0.870423127 [22] e=0.872874414 [16] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [7/20] next=3/5 sect=17/17 s=0.998861268 [23] e=0.999209221 [25] sgn=-1 windVal=1 windSum=1 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.724616587 [20] (492.500397,225.326553) tEnd=0.870423127 newWindSum=1 newOppSum=? oppSum=? windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[7] start=7393552 end=7393776
+bridgeWinding current id=3 from=(492.500397,225.326553) to=(492.453522,225.21611)
+path.quadTo(492.469391,225.254669, 492.453522,225.21611);
+path.close();
+SkOpSegment::debugShowActiveSpans id=3 (492.453003,225.214828 492.451429,225.21103 492.450012,225.207581) t=0.872874414 tEnd=0.887605755 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::debugShowActiveSpans id=3 (492.450012,225.207581 492.439333,225.181344 492.437775,225.175201) t=0.887605755 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=4 (492.437775,225.175201 492.42984,225.142548) t=0 tEnd=1 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.42984,225.142548 492.440051,225.177084 492.450012,225.20752) t=0 tEnd=0.292224891 windSum=? windValue=1
+SkOpSegment::debugShowActiveSpans id=5 (492.450012,225.20752 492.451282,225.211404 492.452545,225.21521) t=0.292224891 tEnd=0.32993192 windSum=1 oppSum=0 windValue=1 oppValue=0
+SkOpSegment::markWinding id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0 [9] (492.42984,225.142548) tEnd=0.292224891 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=4 (492.437775,225.175201 492.42984,225.142548) t=0 [7] (492.437775,225.175201) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markWinding id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.887605755 [18] (492.450012,225.207581) tEnd=1 newWindSum=-1 windSum=? windValue=1
+SkOpSegment::markAngle last seg=3 span=18 windSum=-1
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding chase.append segment=3 span=18 windSum=-1
+SkOpSegment::markDone id=5 (492.42984,225.142548 492.465088,225.261765 492.495178,225.325806) t=0.292224891 [19] (492.450012,225.20752) tEnd=0.32993192 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7392768
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+path.moveTo(492.452545,225.21521);
+path.quadTo(492.451294,225.211411, 492.450012,225.20752);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [3/8] next=1/1 sect=9/9 s=0.872874414 [16] e=0.887605755 [18] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0
+SkOpAngle::dumpOne [1/1] next=5/14 sect=17/17 s=6.50647037e-05 [15] e=0 [1] sgn=1 windVal=1 windSum=-1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/14] next=3/7 sect=25/25 s=0.32993192 [17] e=0.334541898 [24] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [3/7] next=1/2 sect=25/25 s=0.872874414 [16] e=0.870423127 [22] sgn=1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [1/2] next=5/13 sect=1/1 s=6.50647037e-05 [15] e=1 [2] sgn=-1 windVal=1 windSum=-1 done
+SkOpAngle::dumpOne [5/13] next=3/8 sect=9/9 s=0.32993192 [17] e=0.292224891 [19] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpSegment::markDone id=3 (493.19165,226.887451 492.451447,225.22908 492.437775,225.175201) t=0.872874414 [16] (492.453003,225.214828) tEnd=0.887605755 newWindSum=1 newOppSum=0 oppSum=0 windSum=1 windValue=1 oppValue=0
+SkOpSegment::findNextWinding from:[3] to:[5] start=7392880 end=7393104
+bridgeWinding current id=3 from=(492.450012,225.207581) to=(492.453003,225.214828)
+path.lineTo(492.450012,225.207581);
+path.quadTo(492.451416,225.211029, 492.453003,225.214828);
+SkOpSegment::findNextWinding
+SkOpAngle::dumpOne [5/12] next=3/9 sect=25/25 s=0.292224891 [19] e=0.32993192 [17] sgn=-1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [3/9] next=5/11 sect=25/25 s=0.887605755 [18] e=0.872874414 [16] sgn=1 windVal=1 windSum=1 oppVal=0 oppSum=0 done
+SkOpAngle::dumpOne [5/11] next=3/10 sect=9/9 s=0.292224891 [19] e=0 [9] sgn=1 windVal=1 windSum=-1
+SkOpAngle::dumpOne [3/10] next=5/12 sect=9/9 s=0.887605755 [18] e=1 [6] sgn=-1 windVal=1 windSum=-1
+SkOpSegment::findNextWinding from:[5] to:[3] start=7392992 end=7391448
+bridgeWinding current id=5 from=(492.452545,225.21521) to=(492.450012,225.20752)
+c:\puregit\src\pathops\skopsegment.cpp:164: fatal error: "assert((this->globalState() && (this->globalState()->debugCheckHealth() || this->globalState()->debugSkipAssert())) || (!fail))"
+pathops_unittest.exe has triggered a breakpoint.
</div>
</div>
@@ -701,8 +2081,11 @@ path.cubicTo(3.37368608,3.12631392, 3.248106,3.251894, 3.125,3.375);
<script type="text/javascript">
var testDivs = [
- cubics_d3,
-];
+ cubicOp158,
+ cubicOp158ref,
+ tiger8a_h_1,
+ tiger8a_h_1ref,
+ ];
var decimal_places = 3; // make this 3 to show more precision