@tscircuit/rectdiff 0.0.19 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/bun-test.yml +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +28 -35
- package/lib/solvers/RectDiffExpansionSolver/RectDiffExpansionSolver.ts +6 -3
- package/lib/solvers/RectDiffGridSolverPipeline/buildObstacleIndexes.ts +2 -1
- package/lib/solvers/RectDiffSeedingSolver/RectDiffSeedingSolver.ts +2 -7
- package/lib/types/capacity-mesh-types.ts +1 -0
- package/lib/utils/expandRectFromSeed.ts +3 -0
- package/lib/utils/rectToTree.ts +5 -1
- package/lib/utils/resizeSoftOverlaps.ts +8 -16
- package/package.json +1 -1
- package/tests/solver/__snapshots__/rectDiffGridSolverPipeline.snap.svg +3 -3
- package/tests/solver/both-points-equivalent/__snapshots__/both-points-equivalent.snap.svg +44 -0
- package/tests/solver/both-points-equivalent/both-points-equivalent.srj.json +64 -0
- package/tests/solver/both-points-equivalent/both-points-equivalent.test.ts +92 -0
- package/tests/solver/bugreport01-be84eb/__snapshots__/bugreport01-be84eb.snap.svg +44 -0
- package/tests/solver/bugreport01-be84eb/bugreport01-be84eb.json +929 -0
- package/tests/solver/bugreport01-be84eb/bugreport01-be84eb.test.ts +93 -0
- package/tests/solver/bugreport02-bc4361/__snapshots__/bugreport02-bc4361.snap.svg +44 -0
- package/tests/solver/bugreport02-bc4361/bugreport02-bc4361.json +1276 -0
- package/tests/solver/bugreport02-bc4361/bugreport02-bc4361.test.ts +93 -0
- package/tests/solver/bugreport03-fe4a17/__snapshots__/bugreport03-fe4a17.snap.svg +44 -0
- package/tests/solver/bugreport03-fe4a17/bugreport03-fe4a17.json +986 -0
- package/tests/solver/bugreport03-fe4a17/bugreport03-fe4a17.test.ts +93 -0
- package/tests/solver/bugreport07-d3f3be/__snapshots__/bugreport07-d3f3be.snap.svg +44 -0
- package/tests/solver/bugreport07-d3f3be/bugreport07-d3f3be.json +1211 -0
- package/tests/solver/bugreport07-d3f3be/bugreport07-d3f3be.test.ts +93 -0
- package/tests/solver/bugreport08-e3ec95/__snapshots__/bugreport08-e3ec95.snap.svg +44 -0
- package/tests/solver/bugreport08-e3ec95/bugreport08-e3ec95.json +1511 -0
- package/tests/solver/bugreport08-e3ec95/bugreport08-e3ec95.test.ts +93 -0
- package/tests/solver/bugreport09-618e09/__snapshots__/bugreport09-618e09.snap.svg +44 -0
- package/tests/solver/bugreport09-618e09/bugreport09-618e09.json +2827 -0
- package/tests/solver/bugreport09-618e09/bugreport09-618e09.test.ts +93 -0
- package/tests/solver/bugreport10-71239a/__snapshots__/bugreport10-71239a.snap.svg +44 -0
- package/tests/solver/bugreport10-71239a/bugreport10-71239a.json +890 -0
- package/tests/solver/bugreport10-71239a/bugreport10-71239a.test.ts +93 -0
- package/tests/solver/bugreport11-b2de3c/__snapshots__/bugreport11-b2de3c.snap.svg +44 -0
- package/tests/solver/bugreport11-b2de3c/bugreport11-b2de3c.json +4315 -0
- package/tests/solver/bugreport11-b2de3c/bugreport11-b2de3c.test.ts +93 -0
- package/tests/solver/bugreport12-35ce1c/__snapshots__/bugreport12-35ce1c.snap.svg +44 -0
- package/tests/solver/bugreport12-35ce1c/bugreport12-35ce1c.json +475 -0
- package/tests/solver/bugreport12-35ce1c/bugreport12-35ce1c.test.ts +93 -0
- package/tests/solver/bugreport13-b9a758/__snapshots__/bugreport13-b9a758.snap.svg +44 -0
- package/tests/solver/bugreport13-b9a758/bugreport13-b9a758.json +15815 -0
- package/tests/solver/bugreport13-b9a758/bugreport13-b9a758.test.ts +93 -0
- package/tests/solver/bugreport16-d95f38/__snapshots__/bugreport16-d95f38.snap.svg +44 -0
- package/tests/solver/bugreport16-d95f38/bugreport16-d95f38.json +623 -0
- package/tests/solver/bugreport16-d95f38/bugreport16-d95f38.test.ts +93 -0
- package/tests/solver/bugreport18-1b2d06/__snapshots__/bugreport18-1b2d06.snap.svg +44 -0
- package/tests/solver/bugreport18-1b2d06/bugreport18-1b2d06.json +543 -0
- package/tests/solver/bugreport18-1b2d06/bugreport18-1b2d06.test.ts +93 -0
- package/tests/solver/bugreport19/__snapshots__/bugreport19.snap.svg +44 -0
- package/tests/solver/bugreport19/bugreport19.json +678 -0
- package/tests/solver/bugreport19/bugreport19.test.ts +93 -0
- package/tests/solver/bugreport20-obstacle-clipping/__snapshots__/bugreport20-obstacle-clipping.snap.svg +44 -0
- package/tests/solver/bugreport20-obstacle-clipping/bugreport20-obstacle-clipping.json +109 -0
- package/tests/solver/bugreport20-obstacle-clipping/bugreport20-obstacle-clipping.test.ts +93 -0
- package/tests/solver/bugreport21-board-outline/__snapshots__/bugreport21-board-outline.snap.svg +44 -0
- package/tests/solver/bugreport21-board-outline/bugreport21-board-outline.json +148 -0
- package/tests/solver/bugreport21-board-outline/bugreport21-board-outline.test.ts +93 -0
- package/tests/solver/bugreport22-2a75ce/__snapshots__/bugreport22-2a75ce.snap.svg +44 -0
- package/tests/solver/bugreport22-2a75ce/bugreport22-2a75ce.json +1550 -0
- package/tests/solver/bugreport22-2a75ce/bugreport22-2a75ce.test.ts +93 -0
- package/tests/solver/bugreport23-LGA15x4/__snapshots__/bugreport23-LGA15x4.snap.svg +44 -0
- package/tests/solver/bugreport23-LGA15x4/bugreport23-LGA15x4.srj.json +2401 -0
- package/tests/solver/bugreport23-LGA15x4/bugreport23-LGA15x4.test.ts +92 -0
- package/tests/solver/bugreport24-05597c/__snapshots__/bugreport24-05597c.snap.svg +44 -0
- package/tests/solver/bugreport24-05597c/bugreport24-05597c.json +8427 -0
- package/tests/solver/bugreport24-05597c/bugreport24-05597c.test.ts +93 -0
- package/tests/solver/bugreport25-4b1d55/__snapshots__/bugreport25-4b1d55.snap.svg +44 -0
- package/tests/solver/bugreport25-4b1d55/bugreport25-4b1d55.json +119 -0
- package/tests/solver/bugreport25-4b1d55/bugreport25-4b1d55.test.ts +93 -0
- package/tests/solver/bugreport26-66b0b2/__snapshots__/bugreport26-66b0b2.snap.svg +44 -0
- package/tests/solver/bugreport26-66b0b2/bugreport26-66b0b2.json +1651 -0
- package/tests/solver/bugreport26-66b0b2/bugreport26-66b0b2.test.ts +93 -0
- package/tests/solver/bugreport27-dd3734/__snapshots__/bugreport27-dd3734.snap.svg +44 -0
- package/tests/solver/bugreport27-dd3734/bugreport27-dd3734.json +4116 -0
- package/tests/solver/bugreport27-dd3734/bugreport27-dd3734.test.ts +93 -0
- package/tests/solver/bugreport28-18a9ef/__snapshots__/bugreport28-18a9ef.snap.svg +44 -0
- package/tests/solver/bugreport28-18a9ef/bugreport28-18a9ef.json +4116 -0
- package/tests/solver/bugreport28-18a9ef/bugreport28-18a9ef.test.ts +93 -0
- package/tests/solver/bugreport29-7deae8/__snapshots__/bugreport29-7deae8.snap.svg +44 -0
- package/tests/solver/bugreport29-7deae8/bugreport29-7deae8.json +4118 -0
- package/tests/solver/bugreport29-7deae8/bugreport29-7deae8.test.ts +93 -0
- package/tests/solver/bugreport30-2174c8/__snapshots__/bugreport30-2174c8.snap.svg +44 -0
- package/tests/solver/bugreport30-2174c8/bugreport30-2174c8.json +4007 -0
- package/tests/solver/bugreport30-2174c8/bugreport30-2174c8.test.ts +93 -0
- package/tests/solver/bugreport33-213d45/__snapshots__/bugreport33-213d45.snap.svg +44 -0
- package/tests/solver/bugreport33-213d45/bugreport33-213d45.json +5089 -0
- package/tests/solver/bugreport33-213d45/bugreport33-213d45.test.ts +93 -0
- package/tests/solver/bugreport34-e9dea2/__snapshots__/bugreport34-e9dea2.snap.svg +44 -0
- package/tests/solver/bugreport34-e9dea2/bugreport34-e9dea2.json +3924 -0
- package/tests/solver/bugreport34-e9dea2/bugreport34-e9dea2.test.ts +93 -0
- package/tests/solver/bugreport35-191db9/__snapshots__/bugreport35-191db9.snap.svg +44 -0
- package/tests/solver/bugreport35-191db9/bugreport35-191db9.json +4237 -0
- package/tests/solver/bugreport35-191db9/bugreport35-191db9.test.ts +93 -0
- package/tests/solver/bugreport36-bf8303/__snapshots__/bugreport36-bf8303.snap.svg +44 -0
- package/tests/solver/bugreport36-bf8303/bugreport36-bf8303.json +29660 -0
- package/tests/solver/bugreport36-bf8303/bugreport36-bf8303.test.ts +93 -0
- package/tests/solver/interaction/__snapshots__/interaction.snap.svg +44 -0
- package/tests/solver/interaction/interaction.srj.json +58 -0
- package/tests/solver/interaction/interaction.test.ts +92 -0
- package/tests/solver/multi-point/__snapshots__/multi-point.snap.svg +44 -0
- package/tests/solver/multi-point/multi-point.srj.json +57 -0
- package/tests/solver/multi-point/multi-point.test.ts +92 -0
- package/tests/solver/no-better-path/__snapshots__/no-better-path.snap.svg +44 -0
- package/tests/solver/no-better-path/no-better-path.srj.json +48 -0
- package/tests/solver/no-better-path/no-better-path.test.ts +92 -0
- package/tests/solver/offboardconnects01/__snapshots__/offboardconnects01.snap.svg +44 -0
- package/tests/solver/offboardconnects01/offboardconnects01.srj.json +53 -0
- package/tests/solver/offboardconnects01/offboardconnects01.test.ts +92 -0
- package/tests/solver/pcb_trace_id-should-return-root-connection-name/__snapshots__/pcb_trace_id-should-return-root-connection-name.snap.svg +44 -0
- package/tests/solver/pcb_trace_id-should-return-root-connection-name/pcb_trace_id-should-return-root-connection-name.srj.json +129 -0
- package/tests/solver/pcb_trace_id-should-return-root-connection-name/pcb_trace_id-should-return-root-connection-name.test.ts +92 -0
- package/tests/solver/transitivity/__snapshots__/transitivity.snap.svg +44 -0
- package/tests/solver/transitivity/transitivity.srj.json +64 -0
- package/tests/solver/transitivity/transitivity.test.ts +92 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { expect, test } from "bun:test"
|
|
2
|
+
import srj_json from "./bugreport09-618e09.json"
|
|
3
|
+
import {
|
|
4
|
+
getBounds,
|
|
5
|
+
getSvgFromGraphicsObject,
|
|
6
|
+
mergeGraphics,
|
|
7
|
+
stackGraphicsVertically,
|
|
8
|
+
type GraphicsObject,
|
|
9
|
+
type Rect,
|
|
10
|
+
} from "graphics-debug"
|
|
11
|
+
import { RectDiffPipeline } from "lib/RectDiffPipeline"
|
|
12
|
+
import { makeCapacityMeshNodeWithLayerInfo } from "tests/fixtures/makeCapacityMeshNodeWithLayerInfo"
|
|
13
|
+
import { makeSimpleRouteOutlineGraphics } from "tests/fixtures/makeSimpleRouteOutlineGraphics"
|
|
14
|
+
|
|
15
|
+
const srj = srj_json.simple_route_json ?? srj_json.simpleRouteJson ?? srj_json
|
|
16
|
+
|
|
17
|
+
test("bugreport09-618e09", async () => {
|
|
18
|
+
const solver = new RectDiffPipeline({
|
|
19
|
+
simpleRouteJson: srj,
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
const outline = makeSimpleRouteOutlineGraphics(srj)
|
|
23
|
+
|
|
24
|
+
solver.solve()
|
|
25
|
+
|
|
26
|
+
const { meshNodes } = solver.getOutput()
|
|
27
|
+
const rectsByCombo = makeCapacityMeshNodeWithLayerInfo(meshNodes)
|
|
28
|
+
const allGraphicsObjects: GraphicsObject[] = []
|
|
29
|
+
|
|
30
|
+
for (const z of Array.from({ length: srj.layerCount }, (_, index) => index)) {
|
|
31
|
+
const layerRects: Rect[] = []
|
|
32
|
+
|
|
33
|
+
for (const [key, rects] of rectsByCombo) {
|
|
34
|
+
const layers = key
|
|
35
|
+
.split(",")
|
|
36
|
+
.map((value) => Number.parseInt(value, 10))
|
|
37
|
+
.filter((value) => !Number.isNaN(value))
|
|
38
|
+
|
|
39
|
+
if (layers.includes(z)) {
|
|
40
|
+
layerRects.push(...rects)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
let labelY = 0
|
|
45
|
+
|
|
46
|
+
if (layerRects.length > 0) {
|
|
47
|
+
let maxY = -Infinity
|
|
48
|
+
|
|
49
|
+
for (const rect of layerRects) {
|
|
50
|
+
const top = rect.center.y + rect.height * (2 / 3)
|
|
51
|
+
|
|
52
|
+
if (top > maxY) maxY = top
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
labelY = maxY
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const graphics: GraphicsObject = {
|
|
59
|
+
title: `RectDiffPipeline - z${z}`,
|
|
60
|
+
texts: [
|
|
61
|
+
{
|
|
62
|
+
anchorSide: "top_right",
|
|
63
|
+
text: `Layer z=${z}`,
|
|
64
|
+
x: 0,
|
|
65
|
+
y: labelY,
|
|
66
|
+
fontSize: 0.5,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
coordinateSystem: "cartesian",
|
|
70
|
+
rects: layerRects,
|
|
71
|
+
points: [],
|
|
72
|
+
lines: [],
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
allGraphicsObjects.push(mergeGraphics(graphics, outline))
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const stackedGraphics = stackGraphicsVertically(allGraphicsObjects)
|
|
79
|
+
const bounds = getBounds(stackedGraphics)
|
|
80
|
+
const boundsWidth = Math.max(1, bounds.maxX - bounds.minX)
|
|
81
|
+
const boundsHeight = Math.max(1, bounds.maxY - bounds.minY)
|
|
82
|
+
const svgWidth = 640
|
|
83
|
+
const svgHeight = Math.max(
|
|
84
|
+
svgWidth,
|
|
85
|
+
Math.ceil((boundsHeight / boundsWidth) * svgWidth),
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
const svg = getSvgFromGraphicsObject(stackedGraphics, {
|
|
89
|
+
svgWidth,
|
|
90
|
+
svgHeight,
|
|
91
|
+
})
|
|
92
|
+
await expect(svg).toMatchSvgSnapshot(import.meta.path)
|
|
93
|
+
})
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<svg width="640" height="1304" viewBox="0 0 640 1304" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="white"/><g><polyline data-points="-7.999999999999999,-7.199999999999999 7.999999999999999,-7.199999999999999 8.099095214566798,-7.195901391608003 8.197513508336879,-7.183633564083266 8.294582584568959,-7.163280319127195 8.38963936304562,-7.134980690040761 8.482034509583563,-7.098927991986068 8.571136871644487,-7.055368501447786 8.656337789746912,-7.004599773915033 8.7370552552276,-6.946968611275671 8.812737885950888,-6.882868692807757 8.882868692807758,-6.812737885950888 8.946968611275672,-6.737055255227601 9.004599773915034,-6.656337789746911 9.055368501447786,-6.571136871644487 9.098927991986068,-6.4820345095835625 9.134980690040761,-6.389639363045619 9.163280319127196,-6.294582584568958 9.183633564083266,-6.19751350833688 9.195901391608002,-6.099095214566798 9.2,-5.999999999999999 9.2,5.999999999999999 9.195901391608002,6.099095214566798 9.183633564083266,6.19751350833688 9.163280319127196,6.294582584568958 9.134980690040761,6.389639363045619 9.098927991986068,6.4820345095835625 9.055368501447786,6.571136871644487 9.004599773915034,6.656337789746911 8.946968611275672,6.737055255227601 8.882868692807758,6.812737885950888 8.812737885950888,6.882868692807757 8.7370552552276,6.946968611275671 8.656337789746912,7.004599773915033 8.571136871644487,7.055368501447786 8.482034509583563,7.098927991986068 8.38963936304562,7.134980690040761 8.294582584568959,7.163280319127195 8.197513508336879,7.183633564083266 8.099095214566798,7.195901391608003 7.999999999999999,7.199999999999999 -7.999999999999999,7.199999999999999 -8.099095214566798,7.195901391608003 -8.197513508336879,7.183633564083266 -8.294582584568959,7.163280319127195 -8.38963936304562,7.134980690040761 -8.482034509583562,7.098927991986068 -8.571136871644487,7.055368501447786 -8.65633778974691,7.004599773915033 -8.7370552552276,6.946968611275671 -8.812737885950888,6.882868692807757 -8.882868692807756,6.812737885950888 -8.946968611275672,6.737055255227601 -9.004599773915034,6.656337789746911 -9.055368501447786,6.571136871644487 -9.098927991986068,6.4820345095835625 -9.134980690040761,6.389639363045619 -9.163280319127196,6.294582584568958 -9.183633564083266,6.19751350833688 -9.195901391608002,6.099095214566798 -9.2,5.999999999999999 -9.2,-5.999999999999999 -9.195901391608002,-6.099095214566797 -9.183633564083266,-6.19751350833688 -9.163280319127196,-6.294582584568958 -9.134980690040761,-6.389639363045619 -9.098927991986068,-6.4820345095835625 -9.055368501447786,-6.571136871644487 -9.004599773915034,-6.656337789746911 -8.946968611275672,-6.737055255227601 -8.882868692807758,-6.812737885950888 -8.812737885950888,-6.882868692807757 -8.7370552552276,-6.946968611275671 -8.656337789746912,-7.004599773915033 -8.571136871644487,-7.055368501447786 -8.482034509583563,-7.098927991986068 -8.38963936304562,-7.134980690040761 -8.294582584568959,-7.163280319127195 -8.19751350833688,-7.183633564083266 -8.099095214566798,-7.195901391608003 -7.999999999999999,-7.199999999999999 -7.999999999999999,-7.199999999999999" data-type="line" data-label="outline" points="76.52173913043478,588.6571871739129 563.4782608695652,588.6571871739129 566.4942021824678,588.5324469185043 569.4895415580789,588.159078254708 572.4438177912292,587.5396316690885 575.3368501796493,586.6783386099361 578.1488763786302,585.5810825821845 580.8606873978757,584.2553589571064 583.4537588183844,582.710223771327 585.9103773330139,580.9562318649116 588.2137617463313,579.0053647811055 590.3481776071926,576.8709489202444 592.2990446909987,574.5675645069268 594.0530365974141,572.1109459922972 595.5981717831935,569.5178745717886 596.9238954082716,566.8060635525432 598.0211514360233,563.9940373535622 598.8824444951756,561.1010049651421 599.5018910807951,558.146728731992 599.8752597445914,555.1513893563807 600,552.1354480434782 600,186.91805673913032 599.8752597445914,183.90211542622774 599.5018910807951,180.90677605061654 598.8824444951756,177.95249981746636 598.0211514360233,175.05946742904624 596.9238954082716,172.24744123006533 595.5981717831935,169.53563021081982 594.0530365974141,166.94255879031127 592.2990446909987,164.48594027568157 590.3481776071926,162.18255586236413 588.2137617463313,160.0481400015029 585.9103773330139,158.0972729176968 583.4537588183844,156.34328101128145 580.8606873978757,154.79814582550202 578.1488763786302,153.47242220042386 575.3368501796493,152.37516617267235 572.4438177912292,151.51387311352 569.4895415580789,150.89442652790046 566.4942021824678,150.5210578641041 563.4782608695652,150.39631760869554 76.52173913043478,150.39631760869554 73.5057978175322,150.5210578641041 70.51045844192103,150.89442652790046 67.55618220877079,151.51387311352 64.6631498203507,152.37516617267235 61.85112362136982,153.47242220042386 59.13931260212428,154.79814582550202 56.546241181615756,156.34328101128145 54.08962266698603,158.0972729176968 51.786238253668614,160.0481400015029 49.65182239280739,162.18255586236413 47.700955309001245,164.48594027568157 45.94696340258588,166.94255879031127 44.40182821680645,169.53563021081982 43.076104591728324,172.24744123006533 41.97884856397678,175.05946742904624 41.11755550482445,177.95249981746636 40.498108919204924,180.90677605061654 40.1247402554086,183.90211542622774 40,186.91805673913032 40,552.1354480434782 40.1247402554086,555.1513893563807 40.498108919204924,558.146728731992 41.11755550482445,561.1010049651421 41.97884856397678,563.9940373535622 43.076104591728324,566.8060635525432 44.40182821680645,569.5178745717886 45.94696340258588,572.1109459922972 47.700955309001245,574.5675645069268 49.65182239280733,576.8709489202444 51.786238253668614,579.0053647811055 54.08962266698603,580.9562318649116 56.5462411816157,582.710223771327 59.13931260212428,584.2553589571064 61.851123621369766,585.5810825821845 64.6631498203507,586.6783386099361 67.55618220877079,587.5396316690885 70.51045844192097,588.159078254708 73.5057978175322,588.5324469185043 76.52173913043478,588.6571871739129 76.52173913043478,588.6571871739129" fill="none" stroke="#111827" stroke-width="3.043478260869566"/></g><g><polyline data-points="-7.999999999999999,-28.01263850000002 7.999999999999999,-28.01263850000002 8.099095214566798,-28.008539891608024 8.197513508336879,-27.996272064083286 8.294582584568959,-27.975918819127216 8.38963936304562,-27.947619190040783 8.482034509583563,-27.911566491986086 8.571136871644487,-27.868007001447808 8.656337789746912,-27.817238273915052 8.7370552552276,-27.75960711127569 8.812737885950888,-27.695507192807778 8.882868692807758,-27.625376385950908 8.946968611275672,-27.549693755227622 9.004599773915034,-27.46897628974693 9.055368501447786,-27.383775371644507 9.098927991986068,-27.294673009583583 9.134980690040761,-27.202277863045637 9.163280319127196,-27.107221084568977 9.183633564083266,-27.0101520083369 9.195901391608002,-26.911733714566818 9.2,-26.81263850000002 9.2,-14.81263850000002 9.195901391608002,-14.713543285433222 9.183633564083266,-14.61512499166314 9.163280319127196,-14.518055915431063 9.134980690040761,-14.4229991369544 9.098927991986068,-14.330603990416456 9.055368501447786,-14.241501628355532 9.004599773915034,-14.15630071025311 8.946968611275672,-14.07558324477242 8.882868692807758,-13.999900614049132 8.812737885950888,-13.929769807192262 8.7370552552276,-13.865669888724348 8.656337789746912,-13.808038726084988 8.571136871644487,-13.757269998552234 8.482034509583563,-13.713710508013952 8.38963936304562,-13.677657809959259 8.294582584568959,-13.649358180872824 8.197513508336879,-13.629004935916754 8.099095214566798,-13.616737108392016 7.999999999999999,-13.61263850000002 -7.999999999999999,-13.61263850000002 -8.099095214566798,-13.616737108392016 -8.197513508336879,-13.629004935916754 -8.294582584568959,-13.649358180872824 -8.38963936304562,-13.677657809959259 -8.482034509583562,-13.713710508013952 -8.571136871644487,-13.757269998552234 -8.65633778974691,-13.808038726084988 -8.7370552552276,-13.865669888724348 -8.812737885950888,-13.929769807192262 -8.882868692807756,-13.999900614049132 -8.946968611275672,-14.07558324477242 -9.004599773915034,-14.15630071025311 -9.055368501447786,-14.241501628355532 -9.098927991986068,-14.330603990416456 -9.134980690040761,-14.4229991369544 -9.163280319127196,-14.518055915431063 -9.183633564083266,-14.61512499166314 -9.195901391608002,-14.713543285433222 -9.2,-14.81263850000002 -9.2,-26.81263850000002 -9.195901391608002,-26.911733714566818 -9.183633564083266,-27.0101520083369 -9.163280319127196,-27.107221084568977 -9.134980690040761,-27.202277863045637 -9.098927991986068,-27.294673009583583 -9.055368501447786,-27.383775371644507 -9.004599773915034,-27.46897628974693 -8.946968611275672,-27.549693755227622 -8.882868692807758,-27.625376385950908 -8.812737885950888,-27.695507192807778 -8.7370552552276,-27.75960711127569 -8.656337789746912,-27.817238273915052 -8.571136871644487,-27.868007001447808 -8.482034509583563,-27.911566491986086 -8.38963936304562,-27.947619190040783 -8.294582584568959,-27.975918819127216 -8.19751350833688,-27.996272064083286 -8.099095214566798,-28.008539891608024 -7.999999999999999,-28.01263850000002 -7.999999999999999,-28.01263850000002" data-type="line" data-label="outline" points="76.52173913043478,1222.085315434783 563.4782608695652,1222.085315434783 566.4942021824678,1221.9605751793747 569.4895415580789,1221.5872065155781 572.4438177912292,1220.9677599299587 575.3368501796493,1220.1064668708063 578.1488763786302,1219.0092108430547 580.8606873978757,1217.6834872179768 583.4537588183844,1216.1383520321972 585.9103773330139,1214.384360125782 588.2137617463313,1212.433493041976 590.3481776071926,1210.2990771811146 592.2990446909987,1207.9956927677972 594.0530365974141,1205.5390742531674 595.5981717831935,1202.946002832659 596.9238954082716,1200.2341918134134 598.0211514360233,1197.4221656144325 598.8824444951756,1194.5291332260124 599.5018910807951,1191.5748569928621 599.8752597445914,1188.579517617251 600,1185.5635763043483 600,820.3461850000006 599.8752597445914,817.330243687098 599.5018910807951,814.3349043114868 598.8824444951756,811.3806280783367 598.0211514360233,808.4875956899165 596.9238954082716,805.6755694909356 595.5981717831935,802.96375847169 594.0530365974141,800.3706870511814 592.2990446909987,797.9140685365519 590.3481776071926,795.6106841232344 588.2137617463313,793.4762682623732 585.9103773330139,791.5254011785671 583.4537588183844,789.7714092721517 580.8606873978757,788.2262740863723 578.1488763786302,786.9005504612942 575.3368501796493,785.8032944335425 572.4438177912292,784.9420013743902 569.4895415580789,784.3225547887707 566.4942021824678,783.9491861249744 563.4782608695652,783.8244458695658 76.52173913043478,783.8244458695658 73.5057978175322,783.9491861249744 70.51045844192103,784.3225547887707 67.55618220877079,784.9420013743902 64.6631498203507,785.8032944335425 61.85112362136982,786.9005504612942 59.13931260212428,788.2262740863723 56.546241181615756,789.7714092721517 54.08962266698603,791.5254011785671 51.786238253668614,793.4762682623732 49.65182239280739,795.6106841232344 47.700955309001245,797.9140685365519 45.94696340258588,800.3706870511814 44.40182821680645,802.96375847169 43.076104591728324,805.6755694909356 41.97884856397678,808.4875956899165 41.11755550482445,811.3806280783367 40.498108919204924,814.3349043114868 40.1247402554086,817.330243687098 40,820.3461850000006 40,1185.5635763043483 40.1247402554086,1188.579517617251 40.498108919204924,1191.5748569928621 41.11755550482445,1194.5291332260124 41.97884856397678,1197.4221656144325 43.076104591728324,1200.2341918134134 44.40182821680645,1202.946002832659 45.94696340258588,1205.5390742531674 47.700955309001245,1207.9956927677972 49.65182239280733,1210.2990771811146 51.786238253668614,1212.433493041976 54.08962266698603,1214.384360125782 56.5462411816157,1216.1383520321972 59.13931260212428,1217.6834872179768 61.851123621369766,1219.0092108430547 64.6631498203507,1220.1064668708063 67.55618220877079,1220.9677599299587 70.51045844192097,1221.5872065155781 73.5057978175322,1221.9605751793747 76.52173913043478,1222.085315434783 76.52173913043478,1222.085315434783" fill="none" stroke="#111827" stroke-width="3.043478260869566"/></g><g><rect data-type="rect" data-label="node" data-x="5.728750807065808e-14" data-y="1.949667599999949" x="266.7357582608708" y="150.39631760869554" width="106.52848347826188" height="319.5854504347857" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-4.47505539999998" data-y="5.648497300000029" x="100.86956521739125" y="150.39631760869554" width="165.86619304347954" height="94.43929478260688" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.475055400000038" data-y="5.739999999999999" x="373.26424173913273" y="150.39631760869554" width="165.86619304347602" height="88.86956521739131" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-5.49405259999998" data-y="-1.0208476000000006" x="100.86956521739125" y="244.8356123913024" width="103.84027652174038" height="311.52082956522105" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="5.494052600000037" data-y="-2.24" x="435.29015826087186" y="286.7441436956521" width="103.84027652173688" height="301.9130434782608" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="5.684341886080802e-14" data-y="-5.648497299999972" x="204.7098417391316" y="494.2178923913026" width="230.58031652174026" height="94.43929478261032" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="6.06" data-y="3.499999999999999" x="469.7391304347826" y="239.26588282608685" width="69.39130434782612" height="47.47826086956525" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="1" x="40" y="328.4397958695651" width="60.86956521739128" height="21.30434782608694" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-5.5690525999999805" data-y="-6.669344900000031" x="96.30434782608691" y="556.3564419565236" width="108.4054939130447" height="32.30074521738936" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="1" x="539.1304347826087" y="328.4397958695651" width="60.869565217391255" height="21.30434782608694" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-0.5556161000001949" data-y="-3.698829700000023" x="266.73575826087074" y="469.9817680434812" width="72.70837304346406" height="24.236124347821374" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="1.1944946999998223" data-y="-3.698829700000023" x="339.4441313043348" y="469.9817680434812" width="33.82011043479787" height="24.236124347821374" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="0.6350000000000472" x="373.2642417391327" y="339.6091967391274" width="62.02591652173919" height="21.18293739130729" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-0.6349999999999913" x="373.2642417391327" y="378.2613706521738" width="62.02591652173919" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="1.905000000000086" x="373.2642417391327" y="300.9570228260845" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-1.904999999999973" x="373.2642417391327" y="416.91354456521674" width="62.02591652173919" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-4" x="52.173913043478194" y="466.91805673913035" width="48.69565217391309" height="48.69565217391306" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="4" x="52.173913043478194" y="223.43979586956505" width="48.69565217391309" height="48.69565217391312" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="4" x="539.1304347826087" y="223.43979586956505" width="48.695652173913004" height="48.69565217391312" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-4" x="539.1304347826087" y="466.91805673913035" width="48.695652173913004" height="48.69565217391306" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-2" x="56.73913043478257" y="410.61370891304335" width="39.56521739130437" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="0" x="56.73913043478257" y="349.74414369565204" width="39.56521739130437" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="2" x="56.73913043478257" y="288.87457847826073" width="39.56521739130437" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="2" x="543.695652173913" y="288.87457847826073" width="39.565217391304486" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="0" x="543.695652173913" y="349.74414369565204" width="39.565217391304486" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-2" x="543.695652173913" y="410.61370891304335" width="39.565217391304486" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="6" x="56.73913043478257" y="167.1354480434781" width="39.56521739130437" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="6" x="543.695652173913" y="167.1354480434781" width="39.565217391304486" height="39.56521739130437" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-6" x="56.73913043478257" y="532.3528393478259" width="39.56521739130437" height="39.565217391304486" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-6" x="543.695652173913" y="532.3528393478259" width="39.565217391304486" height="39.565217391304486" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-3.1749999999999554" x="373.2642417391327" y="455.56571847825967" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.769107999999961" data-y="-3.1749999999999545" x="204.7098417391316" y="455.56571847825967" width="62.025916521739134" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="3.175000000000069" x="204.7098417391316" y="262.3048489130415" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="2.9250000000000003" x="40" y="272.1354480434781" width="60.86956521739128" height="16.739130434782624" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="2.9250000000000003" x="539.1304347826087" y="272.1354480434781" width="60.869565217391255" height="16.739130434782624" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="3.5052842179111217" x="587.8260869565217" y="253.5529304314968" width="12.173913043478251" height="18.582517611981302" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.79481968152281" data-y="6.906640159563597" x="539.1304347826087" y="151.51387311352" width="36.20641539704059" height="15.621574929958143" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.79481968152281" data-y="-6.906640159563597" x="539.1304347826087" y="571.9180567391303" width="36.20641539704059" height="15.621574929958228" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="-1.904999999999972" x="204.7098417391316" y="416.9135445652167" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="-0.6349999999999903" x="204.7098417391316" y="378.26137065217375" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="0.6350000000000482" x="204.7098417391316" y="339.6091967391274" width="62.02591652173919" height="21.182937391307235" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="1.9050000000000868" x="204.7098417391316" y="300.9570228260844" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.698756754168441" data-y="6.916816782041632" x="70.51045844192097" y="150.89442652790046" width="30.35910677547028" height="16.2410215155777" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="5.075" x="539.1304347826087" y="206.70066543478248" width="60.869565217391255" height="16.739130434782567" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="5.075" x="40" y="206.70066543478248" width="60.86956521739128" height="16.739130434782567" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.42375675416844" data-y="6.852684250723893" x="56.73913043478257" y="154.79814582550202" width="13.771328007138408" height="12.337302217976088" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.77375675416844" data-y="-6.916816782041633" x="70.51045844192097" y="571.9180567391304" width="25.793889384165965" height="16.241021515577586" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="-3.3783200797817985" x="40" y="466.9180567391303" width="12.173913043478194" height="10.854265725848677" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.925" data-y="2.100000000000002" x="40" y="288.87457847826073" width="16.73913043478251" height="33.47826086956513" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.925" data-y="2.078184471487722" x="583.2608695652175" y="288.87457847826073" width="16.73913043478251" height="34.80616260509521" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.034052600000037" data-y="3.499999999999999" x="435.29015826087186" y="239.26588282608685" width="14.970711304345514" height="47.47826086956525" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.89249034502038" data-y="5.869819681522809" x="583.2608695652175" y="175.05946742904624" width="14.760281870805784" height="31.641198005736243" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.852684250723893" data-y="6.003168894873456" x="44.40182821680645" y="166.94255879031124" width="12.337302217976116" height="39.75810664447124" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.925000000000001" data-y="-1" x="56.73913043478257" y="389.3093610869564" width="44.13043478260869" height="21.30434782608694" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-2.925" x="40" y="450.1789263043477" width="60.86956521739128" height="16.739130434782567" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.925000000000001" data-y="-1" x="539.1304347826087" y="389.3093610869564" width="44.130434782608745" height="21.30434782608694" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000747" data-y="3.175000000000068" x="373.2642417391327" y="262.30484891304155" width="62.02591652173919" height="21.182937391303824" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-5.075" x="40" y="515.6137089130434" width="60.86956521739128" height="16.739130434782624" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-5.075" x="539.1304347826087" y="515.6137089130434" width="48.695652173913004" height="16.739130434782624" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.925" data-y="-1" x="40" y="349.74414369565204" width="16.73913043478251" height="100.43478260869568" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.852684250723893" data-y="-6.003168894873456" x="44.40182821680645" y="532.352839347826" width="12.337302217976116" height="39.75810664447113" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="-2.925" x="539.1304347826087" y="450.1789263043477" width="60.869565217391255" height="16.739130434782567" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="-4.649547607283399" x="587.8260869565217" y="466.91805673913035" width="12.173913043478251" height="88.23333261725037" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="-1.0000000000000002" x="587.8260869565217" y="349.74414369565204" width="12.173913043478251" height="100.43478260869568" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.7691079999999593" data-y="3.81000000000006" x="204.70984173913166" y="244.8356123913024" width="62.025916521739134" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.7691079999999593" data-y="2.540000000000078" x="204.70984173913166" y="283.4877863043453" width="62.025916521739134" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.7691079999999593" data-y="1.270000000000096" x="204.70984173913166" y="322.13996021738825" width="62.025916521739134" height="17.469236521739163" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="4.996003610813204e-16" x="204.7098417391316" y="360.79213413043465" width="62.02591652173919" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="-1.2699999999999814" x="204.7098417391316" y="399.4443080434776" width="62.02591652173919" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.76910799999996" data-y="-2.5399999999999627" x="204.7098417391316" y="438.0964819565205" width="62.02591652173919" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.769107999999961" data-y="-3.8099999999999454" x="204.7098417391316" y="476.74865586956344" width="62.025916521739134" height="17.469236521739163" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000747" data-y="3.810000000000059" x="373.26424173913273" y="244.83561239130242" width="62.025916521739134" height="17.469236521739134" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000743" data-y="2.5400000000000773" x="373.26424173913273" y="283.4877863043454" width="62.025916521739134" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000743" data-y="1.270000000000095" x="373.26424173913273" y="322.1399602173883" width="62.025916521739134" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-4.996003610813204e-16" x="373.2642417391327" y="360.7921341304347" width="62.02591652173919" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000734" data-y="-1.2699999999999823" x="373.2642417391327" y="399.4443080434776" width="62.025916521739134" height="17.469236521739163" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000734" data-y="-2.5399999999999636" x="373.2642417391327" y="438.0964819565205" width="62.025916521739134" height="17.469236521739163" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000073" data-y="-3.8099999999999463" x="373.2642417391327" y="476.7486558695635" width="62.025916521739134" height="17.469236521739106" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.6" data-y="4.01" x="450.2608695652174" y="239.26588282608685" width="19.478260869565247" height="16.434782608695627" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.6" data-y="2.9899999999999993" x="450.2608695652174" y="270.3093610869564" width="19.478260869565247" height="16.434782608695627" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.7691080000000747" data-y="4.188497300000029" x="373.2642417391327" y="239.26588282608685" width="62.02591652173919" height="5.569729565215567" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="5.999999999999999" x="96.30434782608694" y="167.13544804347816" width="4.565217391304316" height="39.565217391304316" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.6000000000000005" data-y="7.1918167820416325" x="76.52173913043475" y="150.39631760869554" width="24.347826086956502" height="0.49810891920492395" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="6" x="539.1304347826087" y="167.1354480434781" width="4.565217391304259" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.6000000000000005" data-y="7.181640159563598" x="539.1304347826087" y="150.39631760869554" width="24.347826086956502" height="1.1175555048244235" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-5.744344900000031" x="96.30434782608694" y="532.352839347826" width="4.565217391304316" height="24.003602608697406" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-2" x="96.30434782608694" y="410.61370891304335" width="4.565217391304316" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-1.1102230246251565e-16" x="96.30434782608694" y="349.74414369565204" width="4.565217391304316" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="2" x="96.30434782608694" y="288.87457847826073" width="4.565217391304316" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.6" data-y="-7.181640159563598" x="539.1304347826087" y="587.5396316690885" width="24.347826086956502" height="1.117555504824395" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-6" x="539.1304347826087" y="532.352839347826" width="4.565217391304259" height="39.56521739130426" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-2" x="539.1304347826087" y="410.61370891304335" width="4.565217391304259" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-1.1102230246251565e-16" x="539.1304347826087" y="349.74414369565204" width="4.565217391304259" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="2" x="539.1304347826087" y="288.87457847826073" width="4.565217391304259" height="39.56521739130437" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.6" data-y="3.5" x="450.2608695652174" y="255.70066543478248" width="19.478260869565247" height="14.608695652173935" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.925" data-y="1.4500000000000017" x="40" y="322.35283934782586" width="16.73913043478251" height="6.086956521739239" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.675000000000001" data-y="-7.1918167820416325" x="76.52173913043475" y="588.159078254708" width="19.78260869565213" height="0.49810891920492395" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.725000000000001" data-y="-1" x="583.2608695652175" y="349.74414369565204" width="4.565217391304259" height="100.43478260869568" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.925" data-y="1.428184471487722" x="583.2608695652175" y="323.68074108335594" width="16.73913043478251" height="4.759054786209163" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="4" x="40" y="223.43979586956505" width="12.173913043478194" height="48.69565217391312" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="4.305284217911122" x="587.8260869565217" y="223.43979586956505" width="12.173913043478251" height="30.11313456193176" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9.16749034502038" data-y="5.675" x="598.0211514360232" y="186.9180567391303" width="1.9788485639768396" height="19.782608695652186" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9.127684250723892" data-y="5.724547607283399" x="40" y="183.90211542622774" width="4.401828216806507" height="22.79855000855474" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.653168894873456" data-y="6.855853145597349" x="56.546241181615756" y="154.79814582550202" width="0.19288925316675432" height="12.14441296480922" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="-4.178320079781798" x="40" y="477.7723224649789" width="12.173913043478194" height="37.8413864480645" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9.127684250723892" data-y="-5.7245476072834" x="40" y="532.352839347826" width="4.401828216806507" height="22.798550008554685" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.725000000000001" data-y="-6.116434346403879" x="583.2608695652175" y="532.352839347826" width="4.565217391304259" height="46.65252543327949" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.42375675416844" data-y="-6.653168894873456" x="56.73913043478257" y="571.9180567391304" width="13.771328007138408" height="0.192889253166868" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.827299886957519" data-y="6.51981968152281" x="583.2608695652175" y="167.1354480434781" width="10.79216703219663" height="7.92401938556813" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.51981968152281" data-y="6.827299886957517" x="575.3368501796493" y="156.34328101128142" width="7.924019385568158" height="10.792167032196687" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.519819681522812" data-y="-6.827299886957517" x="575.3368501796493" y="571.9180567391304" width="7.924019385568158" height="10.79216703219663" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="5.728750807065808e-14" data-y="-18.86297090000007" x="266.7357582608708" y="783.8244458695658" width="106.52848347826188" height="319.5854504347858" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-4.47505539999998" data-y="-15.16414119999999" x="100.86956521739125" y="783.8244458695658" width="165.86619304347954" height="94.4392947826068" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.475055400000038" data-y="-15.072638500000021" x="373.26424173913273" y="783.8244458695658" width="165.86619304347602" height="88.86956521739125" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-5.49405259999998" data-y="-21.83348610000002" x="100.86956521739125" y="878.2637406521726" width="103.84027652174038" height="311.520829565221" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="5.494052600000037" data-y="-23.052638500000022" x="435.29015826087186" y="920.1722719565223" width="103.84027652173688" height="301.913043478261" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="5.684341886080802e-14" data-y="-26.461135799999994" x="204.7098417391316" y="1127.6460206521729" width="230.58031652174026" height="94.43929478261043" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="6.06" data-y="-17.31263850000002" x="469.7391304347826" y="872.6940110869571" width="69.39130434782612" height="47.47826086956525" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-19.81263850000002" x="40" y="961.8679241304353" width="60.86956521739128" height="21.304347826086996" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-5.5690525999999805" data-y="-27.48198340000005" x="96.30434782608691" y="1189.7845702173938" width="108.4054939130447" height="32.30074521738925" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="-19.81263850000002" x="539.1304347826087" y="961.8679241304353" width="60.869565217391255" height="21.304347826086996" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-0.5556161000001949" data-y="-24.511468200000042" x="266.73575826087074" y="1103.4098963043514" width="72.70837304346406" height="24.236124347821487" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="1.1944946999998223" data-y="-24.511468200000042" x="339.4441313043348" y="1103.4098963043514" width="33.82011043479787" height="24.236124347821487" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-20.177638499999972" x="373.2642417391327" y="973.0373249999977" width="62.02591652173919" height="21.182937391307178" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-21.44763850000001" x="373.2642417391327" y="1011.689498913044" width="62.02591652173919" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-18.907638499999933" x="373.2642417391327" y="934.3851510869547" width="62.02591652173919" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-22.717638499999993" x="373.2642417391327" y="1050.341672826087" width="62.02591652173919" height="21.182937391303767" fill="#dbeafe" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-24.81263850000002" x="52.173913043478194" y="1100.3461850000006" width="48.69565217391309" height="48.695652173913004" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-16.81263850000002" x="52.173913043478194" y="856.8679241304353" width="48.69565217391309" height="48.695652173913004" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-16.81263850000002" x="539.1304347826087" y="856.8679241304353" width="48.695652173913004" height="48.695652173913004" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-24.81263850000002" x="539.1304347826087" y="1100.3461850000006" width="48.695652173913004" height="48.695652173913004" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-22.81263850000002" x="56.73913043478257" y="1044.0418371739136" width="39.56521739130437" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-20.81263850000002" x="56.73913043478257" y="983.1722719565223" width="39.56521739130437" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-18.81263850000002" x="56.73913043478257" y="922.302706739131" width="39.56521739130437" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-18.81263850000002" x="543.695652173913" y="922.302706739131" width="39.565217391304486" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-20.81263850000002" x="543.695652173913" y="983.1722719565223" width="39.565217391304486" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-22.81263850000002" x="543.695652173913" y="1044.0418371739136" width="39.565217391304486" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-14.81263850000002" x="56.73913043478257" y="800.5635763043483" width="39.56521739130437" height="39.565217391304486" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-14.81263850000002" x="543.695652173913" y="800.5635763043483" width="39.565217391304486" height="39.565217391304486" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-26.81263850000002" x="56.73913043478257" y="1165.7809676086963" width="39.56521739130437" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-26.81263850000002" x="543.695652173913" y="1165.7809676086963" width="39.565217391304486" height="39.56521739130426" fill="red" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.2" data-y="-15.73763850000002" x="539.1304347826087" y="840.1287936956528" width="60.869565217391255" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-2.769107999999961" data-y="-20.812638499999963" x="204.7098417391316" y="878.2637406521726" width="62.025916521739134" height="249.38228000000026" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-15.73763850000002" x="40" y="840.1287936956528" width="60.86956521739128" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-17.88763850000002" x="40" y="905.5635763043483" width="60.86956521739128" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.79481968152281" data-y="-27.719278659563617" x="539.1304347826087" y="1205.3461850000006" width="36.20641539704059" height="15.621574929958115" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.79481968152281" data-y="-13.905998340436422" x="539.1304347826087" y="784.9420013743902" width="36.20641539704059" height="15.621574929958228" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-21.81263850000002" x="52.173913043478194" y="1022.7374893478266" width="48.69565217391309" height="21.304347826086996" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.2" data-y="-23.73763850000002" x="40" y="1083.607054565218" width="60.86956521739128" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-20.81263850000002" x="373.2642417391327" y="994.2202623913049" width="62.02591652173919" height="17.46923652173905" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-19.542638499999924" x="373.2642417391327" y="955.5680884782585" width="62.02591652173919" height="17.469236521739276" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-23.987638499999974" x="373.2642417391327" y="1071.5246102173908" width="62.02591652173919" height="56.12141043478209" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-22.0826385" x="373.2642417391327" y="1032.8724363043477" width="62.02591652173919" height="17.469236521739276" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="2.769108000000074" data-y="-17.54613579999998" x="373.2642417391327" y="872.6940110869571" width="62.02591652173919" height="61.69113999999763" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.9281688948734566" data-y="-13.959954249276127" x="56.5462411816157" y="788.2262740863722" width="44.323324035775556" height="12.33730221797623" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.77375675416844" data-y="-27.729455282041652" x="70.51045844192097" y="1205.3461850000006" width="25.793889384165965" height="16.241021515577586" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.89249034502038" data-y="-14.94281881847721" x="583.2608695652175" y="808.4875956899165" width="14.760281870805784" height="31.641198005736328" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.925" data-y="-18.81263850000002" x="40" y="922.302706739131" width="16.73913043478251" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8" data-y="-25.88763850000002" x="52.173913043478194" y="1149.0418371739136" width="48.69565217391309" height="16.739130434782737" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="-25.46218610728342" x="40" y="1100.3461850000006" width="12.173913043478194" height="88.23333261725043" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="-21.81263850000002" x="40" y="983.1722719565223" width="12.173913043478194" height="100.43478260869551" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="4.354052600000037" data-y="-17.31263850000002" x="435.29015826087186" y="872.6940110869571" width="34.44897217391076" height="47.47826086956525" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.855853145597349" data-y="-14.809469605126564" x="44.40182821680645" y="800.3706870511814" width="12.144412964809248" height="39.758106644471354" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-23.73763850000002" x="539.1304347826087" y="1083.607054565218" width="48.695652173913004" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.925" data-y="-18.53763850000002" x="583.2608695652175" y="905.5635763043483" width="16.73913043478251" height="56.304347826086996" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.925000000000001" data-y="-17.88763850000002" x="539.1304347826087" y="905.5635763043483" width="44.130434782608745" height="16.73913043478251" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-21.81263850000002" x="539.1304347826087" y="1022.7374893478266" width="48.695652173913004" height="21.304347826086996" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="-23.537186107283418" x="587.8260869565217" y="983.1722719565223" width="12.173913043478251" height="205.40724566072845" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8" data-y="-25.88763850000002" x="539.1304347826087" y="1149.0418371739136" width="48.695652173913004" height="16.739130434782737" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-14.81263850000002" x="96.30434782608694" y="800.5635763043483" width="4.565217391304316" height="39.565217391304486" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.6000000000000005" data-y="-13.684954249276126" x="76.52173913043475" y="783.8244458695658" width="24.347826086956502" height="4.401828216806393" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-14.81263850000002" x="539.1304347826087" y="800.5635763043483" width="4.565217391304259" height="39.565217391304486" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.6000000000000005" data-y="-13.630998340436422" x="539.1304347826087" y="783.8244458695658" width="24.347826086956502" height="1.117555504824395" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-26.55698340000005" x="96.30434782608694" y="1165.7809676086963" width="4.565217391304316" height="24.003602608697292" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-22.81263850000002" x="96.30434782608694" y="1044.0418371739136" width="4.565217391304316" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-20.81263850000002" x="96.30434782608694" y="983.1722719565223" width="4.565217391304316" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.275" data-y="-18.81263850000002" x="96.30434782608694" y="922.302706739131" width="4.565217391304316" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.6" data-y="-27.99427865956362" x="539.1304347826087" y="1220.9677599299587" width="24.347826086956502" height="1.1175555048246224" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-26.81263850000002" x="539.1304347826087" y="1165.7809676086963" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-22.81263850000002" x="539.1304347826087" y="1044.0418371739136" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-20.81263850000002" x="539.1304347826087" y="983.1722719565223" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="7.275" data-y="-18.81263850000002" x="539.1304347826087" y="922.302706739131" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.725000000000001" data-y="-20.81263850000002" x="52.173913043478194" y="983.1722719565223" width="4.565217391304316" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-7.675000000000001" data-y="-28.004455282041654" x="76.52173913043475" y="1221.5872065155781" width="19.78260869565213" height="0.4981089192051513" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.725000000000001" data-y="-20.81263850000002" x="583.2608695652175" y="983.1722719565223" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9" data-y="-16.81263850000002" x="587.8260869565217" y="856.8679241304353" width="12.173913043478251" height="48.695652173913004" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="9.16749034502038" data-y="-15.137638500000019" x="598.0211514360232" y="820.3461850000006" width="1.9788485639768396" height="19.78260869565213" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9" data-y="-16.81263850000002" x="40" y="856.8679241304353" width="12.173913043478194" height="48.695652173913004" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-9.127684250723892" data-y="-15.088090892716622" x="40" y="817.330243687098" width="4.401828216806507" height="22.7985500085548" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.653168894873456" data-y="-14.81263850000002" x="56.5462411816157" y="800.5635763043483" width="0.192889253166868" height="39.565217391304486" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.725000000000001" data-y="-22.81263850000002" x="52.173913043478194" y="1044.0418371739136" width="4.565217391304316" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.725000000000001" data-y="-26.961122805637856" x="52.173913043478194" y="1165.7809676086963" width="4.565217391304316" height="48.603392517085695" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.725000000000001" data-y="-22.81263850000002" x="583.2608695652175" y="1044.0418371739136" width="4.565217391304259" height="39.56521739130426" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.725000000000001" data-y="-26.537186107283418" x="583.2608695652175" y="1165.7809676086963" width="4.565217391304259" height="22.798550008554457" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.827299886957519" data-y="-14.29281881847721" x="583.2608695652175" y="800.5635763043483" width="10.79216703219663" height="7.924019385568158" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.51981968152281" data-y="-13.985338613042503" x="575.3368501796493" y="789.7714092721517" width="7.924019385568158" height="10.79216703219663" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="-8.42375675416844" data-y="-27.665322750723913" x="56.73913043478257" y="1205.3461850000006" width="13.771328007138408" height="12.33730221797623" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><g><rect data-type="rect" data-label="node" data-x="8.519819681522812" data-y="-27.63993838695754" x="575.3368501796493" y="1205.3461850000006" width="7.924019385568158" height="10.792167032196858" fill="#fef3c7" stroke="black" stroke-width="0.032857142857142856"/></g><text data-type="text" data-label="Layer z=0" data-x="0" data-y="8.950110800000015" x="320" y="97.13207586956463" fill="black" font-size="15.217391304347828" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=0</text><text data-type="text" data-label="Layer z=1" data-x="0" data-y="-11.862527700000005" x="320" y="730.5602041304348" fill="black" font-size="15.217391304347828" font-family="sans-serif" text-anchor="end" dominant-baseline="text-before-edge">Layer z=1</text><g id="crosshair" style="display: none"><line id="crosshair-h" y1="0" y2="1304" stroke="#666" stroke-width="0.5"/><line id="crosshair-v" x1="0" x2="640" stroke="#666" stroke-width="0.5"/><text id="coordinates" font-family="monospace" font-size="12" fill="#666"></text></g><script><![CDATA[
|
|
2
|
+
document.currentScript.parentElement.addEventListener('mousemove', (e) => {
|
|
3
|
+
const svg = e.currentTarget;
|
|
4
|
+
const rect = svg.getBoundingClientRect();
|
|
5
|
+
const x = e.clientX - rect.left;
|
|
6
|
+
const y = e.clientY - rect.top;
|
|
7
|
+
const crosshair = svg.getElementById('crosshair');
|
|
8
|
+
const h = svg.getElementById('crosshair-h');
|
|
9
|
+
const v = svg.getElementById('crosshair-v');
|
|
10
|
+
const coords = svg.getElementById('coordinates');
|
|
11
|
+
|
|
12
|
+
crosshair.style.display = 'block';
|
|
13
|
+
h.setAttribute('x1', '0');
|
|
14
|
+
h.setAttribute('x2', '640');
|
|
15
|
+
h.setAttribute('y1', y);
|
|
16
|
+
h.setAttribute('y2', y);
|
|
17
|
+
v.setAttribute('x1', x);
|
|
18
|
+
v.setAttribute('x2', x);
|
|
19
|
+
v.setAttribute('y1', '0');
|
|
20
|
+
v.setAttribute('y2', '1304');
|
|
21
|
+
|
|
22
|
+
// Calculate real coordinates using inverse transformation
|
|
23
|
+
const matrix = {"a":30.434782608695656,"c":0,"e":320,"b":0,"d":-30.434782608695656,"f":369.5267523913042};
|
|
24
|
+
// Manually invert and apply the affine transform
|
|
25
|
+
// Since we only use translate and scale, we can directly compute:
|
|
26
|
+
// x' = (x - tx) / sx
|
|
27
|
+
// y' = (y - ty) / sy
|
|
28
|
+
const sx = matrix.a;
|
|
29
|
+
const sy = matrix.d;
|
|
30
|
+
const tx = matrix.e;
|
|
31
|
+
const ty = matrix.f;
|
|
32
|
+
const realPoint = {
|
|
33
|
+
x: (x - tx) / sx,
|
|
34
|
+
y: (y - ty) / sy // Flip y back since we used negative scale
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
coords.textContent = `(${realPoint.x.toFixed(2)}, ${realPoint.y.toFixed(2)})`;
|
|
38
|
+
coords.setAttribute('x', (x + 5).toString());
|
|
39
|
+
coords.setAttribute('y', (y - 5).toString());
|
|
40
|
+
});
|
|
41
|
+
document.currentScript.parentElement.addEventListener('mouseleave', () => {
|
|
42
|
+
document.currentScript.parentElement.getElementById('crosshair').style.display = 'none';
|
|
43
|
+
});
|
|
44
|
+
]]></script></svg>
|