@mark1russell7/highways 0.4.0 → 0.4.1
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/README.md +40 -0
- package/build/index.d.ts +313 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2256 -341
- package/build/index.js.map +1 -1
- package/package.json +2 -1
- package/src/bench/measures/bundles.ts +101 -2
- package/src/bench/measures/index.ts +1 -0
- package/src/bench/measures/order.ts +97 -0
- package/src/bench/room.ts +126 -9
- package/src/bench/screen/measures.ts +12 -0
- package/src/bench/screen/screen.ts +73 -9
- package/src/index.ts +2 -0
- package/src/order/index.ts +65 -0
- package/src/plugs/justify.ts +48 -0
- package/src/plugs/side.ts +138 -0
- package/src/repair/index.ts +377 -0
- package/src/repair/walk.ts +220 -0
- package/src/room/lanes.ts +109 -10
- package/src/routers/corners.ts +73 -6
- package/src/routers/fan.ts +145 -0
- package/src/routers/index.ts +2 -2
- package/src/routers/shared.ts +107 -8
- package/src/routers/snell.ts +140 -0
- package/src/routers/trunks.ts +43 -2
- package/src/strategies/schemas.ts +53 -2
package/README.md
CHANGED
|
@@ -142,6 +142,27 @@ The error of 47.6% is on a new run of two lanes. With `split`, these lanes go on
|
|
|
142
142
|
|
|
143
143
|
The benchmark compares each curve type to the polylines of each router, on the fixtures of 100 nodes or fewer. It counts the curves that go through a box, with and without the free space. It also gives the ratio of the lengths.
|
|
144
144
|
|
|
145
|
+
### Options of the cost, the order and the merges
|
|
146
|
+
|
|
147
|
+
These options of `shared` and `trunks` are off by default. With the defaults, the routes do not change.
|
|
148
|
+
|
|
149
|
+
- `cost: flow` of `shared` sets the cost of a link with `f` edges to `len * f^alpha`. A smaller `alpha` gives more sharing and a longer stretch (EDA-029).
|
|
150
|
+
- `passes` of `shared` sets the number of passes. After the first pass, each edge finds its way again with the ways of the other edges fixed (HWY-039).
|
|
151
|
+
- `order` of `shared` sets the order of the edges of a key: `span` (the default, the longest first), `shortest`, `load` or `input` (NAT-024).
|
|
152
|
+
- `merge: snell` of `shared` moves each merge point to the angle `acos(d)` on the run (NAT-035). It cuts the sharp merges.
|
|
153
|
+
- `splitAt: gilbert` of `trunks` puts the split point where the flow cost is least, with the exponent `alpha` (EDA-030).
|
|
154
|
+
- `fan: tree` of `trunks` grows a balancing-factor tree for each group, with the factor `bf` (NAT-017). 0 gives the least ink.
|
|
155
|
+
|
|
156
|
+
The screen `screen-v1` compares the options with the defaults on the boards `small-clustered`, `dense-groups`, `hub-chain` and `many-groups`.
|
|
157
|
+
|
|
158
|
+
| Option | Router | Result |
|
|
159
|
+
|---|---|---|
|
|
160
|
+
| `passes: 3` | `shared-all` | B1 rises 1% to 8%, and the B3 q95 falls or stays, on 4 boards. Crossings fall up to 28%. |
|
|
161
|
+
| `merge: snell` | `shared`, `shared-all` | The B6 max falls 8% to 27% on 6 board pairs. The ink rises 0.5% at most. Crossings rise 6% to 13%, and from 18 to 24 on `hub-chain`. |
|
|
162
|
+
| `cost: flow`, `alpha` 0.5 | `shared-all` | B1 rises 1% to 32%, but the B3 q95 rises up to 67%. |
|
|
163
|
+
| `fan: tree`, `bf` 0.2 | `trunks` | On `dense-groups`, B1 rises from 0.081 to 0.095 and the B3 q95 falls. |
|
|
164
|
+
| `splitAt: gilbert` | `trunks` | The B6 max rises. The ink changes 0.6% at most. |
|
|
165
|
+
|
|
145
166
|
## Room for the links
|
|
146
167
|
|
|
147
168
|
A host layout can pack the boxes of a far view in a grid, with no gap between them. Then the links have no channel, and they go through the boxes. The router knows the room that the links need. The room functions give that room, and they can open the gaps.
|
|
@@ -383,6 +404,25 @@ const rows = runBenchmark(routersOf(registry), FIXTURES.slice(0, 1)); // The row
|
|
|
383
404
|
|
|
384
405
|
The built-in strategies give the same output as their functions. `curveStrategies.rounded.run({ points, space }, { radius: 8 })` gives the segments of `curveOf(points, { type: "rounded", space, radius: 8 })`. `benchCurveStrategies` and the fourth argument of `benchRoom` take a list of strategies.
|
|
385
406
|
|
|
407
|
+
### Wrappers of a router
|
|
408
|
+
|
|
409
|
+
Two functions wrap a router strategy. The wrapped strategy has a new name, and the router does not change.
|
|
410
|
+
|
|
411
|
+
- `stableOrderStrategy(strategy)` gives `<name>+stable`. It routes the edges in a stable order: by a hash of their ids, then by the ids. Thus each order of the input edges gives the same output.
|
|
412
|
+
- `repairStrategy(strategy, repair?)` gives `<name>+repair`. After the router, `repairResult` repairs the breaks of the hard rules.
|
|
413
|
+
- It moves each free end back to its plug, and pushes each inner leg out of a box.
|
|
414
|
+
- It replaces each other leg through a box with a detour through the corner graph.
|
|
415
|
+
- When a leg does not repair, it routes the whole route again. Else it walks along the boundaries of the boxes, so boxes that touch do not block it.
|
|
416
|
+
- A route that it cannot repair keeps its base route.
|
|
417
|
+
- `withStableOrder(router)` and `withRepair(router, repair?)` wrap a `Router` in the same way.
|
|
418
|
+
|
|
419
|
+
```ts
|
|
420
|
+
import { repairStrategy, routerStrategies, stableOrderStrategy } from "@mark1russell7/highways";
|
|
421
|
+
|
|
422
|
+
const shared = stableOrderStrategy(routerStrategies.shared);
|
|
423
|
+
const result = repairStrategy(shared).run(graph); // The router `shared+stable+repair`.
|
|
424
|
+
```
|
|
425
|
+
|
|
386
426
|
### Declarations of the options
|
|
387
427
|
|
|
388
428
|
Each strategy declares its options in `schema`. A declaration tells the type, the range, the step and the meaning of one option. Tools make controls and sweeps from these declarations, with no other data.
|
package/build/index.d.ts
CHANGED
|
@@ -983,12 +983,24 @@ export declare const straightRouter: Router;
|
|
|
983
983
|
* It goes to the target plug on the curve of the rule. This router measures the rule alone.
|
|
984
984
|
*/
|
|
985
985
|
export declare const plugsRouter: Router;
|
|
986
|
+
/** The ways to place a free plug of the corner router. */
|
|
987
|
+
type PlugPlace = "facing" | "side";
|
|
986
988
|
/** The options of the corner router. */
|
|
987
989
|
interface CornersOptions extends WayOptions {
|
|
988
990
|
/** The name in the benchmark. */
|
|
989
991
|
readonly name: string;
|
|
990
992
|
/** The benchmark skips a fixture with more nodes. */
|
|
991
993
|
readonly maxNodes?: number;
|
|
994
|
+
/**
|
|
995
|
+
* The place of a free plug. The default is `facing`: the plug faces the other end (`placePlug`).
|
|
996
|
+
* With `side`, the search starts from the whole free side, and the plug goes where the way leaves the side (`sidePlugs`, WILD-001).
|
|
997
|
+
*/
|
|
998
|
+
readonly plugs?: PlugPlace;
|
|
999
|
+
/**
|
|
1000
|
+
* The least gap between two free plugs of one side. The default is 0: each plug stays where it is.
|
|
1001
|
+
* Above 0, the free plugs of each side keep their order and move the least distance (`justifyPlugs`, WILD-002).
|
|
1002
|
+
*/
|
|
1003
|
+
readonly plugGap?: number;
|
|
992
1004
|
}
|
|
993
1005
|
/**
|
|
994
1006
|
* This function makes a router that goes around the nodes.
|
|
@@ -996,6 +1008,12 @@ interface CornersOptions extends WayOptions {
|
|
|
996
1008
|
* of the box corners, without the needless corners. It enters the target plug along its normal.
|
|
997
1009
|
*/
|
|
998
1010
|
export declare function cornersRouter(options: CornersOptions): Router;
|
|
1011
|
+
/** The cost of a link that edges of one key share: a fixed discount, or the flow cost `len * f^alpha` (EDA-029). */
|
|
1012
|
+
type ShareCost = "fixed" | "flow";
|
|
1013
|
+
/** The order of the edges of one key: the longest first, the shortest first, the most load first, or the order of the input (NAT-024). */
|
|
1014
|
+
type ShareOrder = "span" | "shortest" | "load" | "input";
|
|
1015
|
+
/** The place where a route joins or leaves a run: at a corner of the graph, or at the Snell angle (NAT-035). */
|
|
1016
|
+
type ShareMerge = "corner" | "snell";
|
|
999
1017
|
/** The options of the router with shared ways. */
|
|
1000
1018
|
interface SharedOptions extends WayOptions {
|
|
1001
1019
|
/** The name in the benchmark. */
|
|
@@ -1006,6 +1024,25 @@ interface SharedOptions extends WayOptions {
|
|
|
1006
1024
|
readonly discount?: number;
|
|
1007
1025
|
/** The lane order of the runs. With `bundle`, the default, two edges keep one order on each run of their common stretch. With `run`, each run gets its order alone. */
|
|
1008
1026
|
readonly laneOrder?: RunOrder;
|
|
1027
|
+
/**
|
|
1028
|
+
* The cost of a shared link. With `fixed`, the default, a link that the key uses already costs `discount` times its length.
|
|
1029
|
+
* With `flow`, one more edge on a link with `f` edges costs `len * ((f + 1)^alpha - f^alpha)` (EDA-029).
|
|
1030
|
+
*/
|
|
1031
|
+
readonly cost?: ShareCost;
|
|
1032
|
+
/** The exponent of the flow cost, from 0.1 to 1. A smaller value gives more sharing. The default is 0.6. Only the cost `flow` uses it. */
|
|
1033
|
+
readonly alpha?: number;
|
|
1034
|
+
/** The number of passes. In each pass after the first, each edge leaves its links and finds its way again with the others fixed (HWY-039). The default is 1. */
|
|
1035
|
+
readonly passes?: number;
|
|
1036
|
+
/**
|
|
1037
|
+
* The order of the edges of one key. With `span`, the default, the longest edge goes first. With `shortest`, the shortest edge goes first.
|
|
1038
|
+
* With `load`, the edge with the most edges between its two sections goes first. With `input`, the edges keep the order of the graph (NAT-024).
|
|
1039
|
+
*/
|
|
1040
|
+
readonly order?: ShareOrder;
|
|
1041
|
+
/**
|
|
1042
|
+
* The place where a route joins or leaves a run. With `corner`, the default, it is a corner of the graph.
|
|
1043
|
+
* With `snell`, the route meets the run at the angle `acos(d)`, with `d` the cost share of the run for the route (NAT-035).
|
|
1044
|
+
*/
|
|
1045
|
+
readonly merge?: ShareMerge;
|
|
1009
1046
|
/** The benchmark skips a fixture with more nodes. */
|
|
1010
1047
|
readonly maxNodes?: number;
|
|
1011
1048
|
}
|
|
@@ -1557,11 +1594,29 @@ interface TrunksOptions extends WayOptions {
|
|
|
1557
1594
|
* A lane that turns back over the trunk leaves at an earlier point of the trunk. With `split`, each lane leaves at the split point, as in version 0.2.0.
|
|
1558
1595
|
*/
|
|
1559
1596
|
readonly leave?: TrunkLeave;
|
|
1597
|
+
/**
|
|
1598
|
+
* The place of the split point. With `share`, the default, it is at `split` of the way to the center of the targets.
|
|
1599
|
+
* With `gilbert`, it is where the flow cost of the trunk and its branches is least, with the exponent `alpha` (EDA-030).
|
|
1600
|
+
*/
|
|
1601
|
+
readonly splitAt?: TrunkSplit;
|
|
1602
|
+
/** The exponent of the flow cost of the split `gilbert`, from 0 to 1. The default is 0.5. */
|
|
1603
|
+
readonly alpha?: number;
|
|
1604
|
+
/**
|
|
1605
|
+
* The shape of each group. With `split`, the default, the edges share a trunk to a split point.
|
|
1606
|
+
* With `tree`, the edges grow a balancing-factor tree from the plug, with the factor `bf` (NAT-017).
|
|
1607
|
+
*/
|
|
1608
|
+
readonly fan?: TrunkFan;
|
|
1609
|
+
/** The balancing factor of the fan `tree`, from 0 to 1. 0 gives the least ink, and a larger factor gives more direct routes. The default is 0.4. */
|
|
1610
|
+
readonly bf?: number;
|
|
1560
1611
|
/** The benchmark skips a fixture with more nodes. */
|
|
1561
1612
|
readonly maxNodes?: number;
|
|
1562
1613
|
}
|
|
1563
1614
|
/** The place where the lanes of a trunk leave it: where their ways part, or at the split point. */
|
|
1564
1615
|
type TrunkLeave = "part" | "split";
|
|
1616
|
+
/** The place of the split point of a trunk: at a share of the way, or at the Gilbert point of the flow cost (EDA-030). */
|
|
1617
|
+
type TrunkSplit = "share" | "gilbert";
|
|
1618
|
+
/** The shape of a group of the router `trunks`: a trunk and a split point, or a balancing-factor tree (NAT-017). */
|
|
1619
|
+
type TrunkFan = "split" | "tree";
|
|
1565
1620
|
/** The rule that groups the edges by the collection of their target, in `data.collection`. */
|
|
1566
1621
|
export declare const byCollection: GroupRule;
|
|
1567
1622
|
/**
|
|
@@ -1600,6 +1655,17 @@ export declare const ROUTERS: readonly Router[];
|
|
|
1600
1655
|
export type LaneOrder = "links" | "ends" | "crossings";
|
|
1601
1656
|
/** The lane orders of `gapLanes`, in the order of the benchmark. */
|
|
1602
1657
|
export declare const LANE_ORDERS: readonly LaneOrder[];
|
|
1658
|
+
/**
|
|
1659
|
+
* The rule that gives each piece of a gap its lane (its track), after the lane order.
|
|
1660
|
+
*
|
|
1661
|
+
* - `stack`: a piece goes one lane past each piece before it in the order that it overlaps. Thus two pieces that overlap keep their order.
|
|
1662
|
+
* - `left-edge`: the constrained left-edge rule of chip routing (EDA-004). Two pieces that overlap keep their order only where a swap adds crossings.
|
|
1663
|
+
* The rule fills the lowest lane first, with the pieces sorted by their start. Two pieces that do not overlap can share a lane.
|
|
1664
|
+
* - `free`: the left-edge rule without the order. It gives the fewest lanes, but it can add crossings.
|
|
1665
|
+
*/
|
|
1666
|
+
export type LaneTracks = "stack" | "left-edge" | "free";
|
|
1667
|
+
/** The lane rules of `gapLanes`, in the order of the benchmark. */
|
|
1668
|
+
export declare const LANE_TRACKS: readonly LaneTracks[];
|
|
1603
1669
|
/** The options of `gapLanes`. */
|
|
1604
1670
|
export interface GapLaneOptions {
|
|
1605
1671
|
/** The largest distance between two lanes. A narrow gap puts its lanes nearer. The default is 4. */
|
|
@@ -1608,6 +1674,21 @@ export interface GapLaneOptions {
|
|
|
1608
1674
|
readonly order?: LaneOrder;
|
|
1609
1675
|
/** Two box edges nearer than this distance make one boundary of the sweep, as in `boardGaps`. The default is 0.5. */
|
|
1610
1676
|
readonly snap?: number;
|
|
1677
|
+
/** The rule that gives each piece its lane. The default is `stack`. */
|
|
1678
|
+
readonly tracks?: LaneTracks;
|
|
1679
|
+
}
|
|
1680
|
+
/** The lanes of one gap: the axis and the place of the gap, and the number of lanes that its pieces use. */
|
|
1681
|
+
export interface GapLaneCount {
|
|
1682
|
+
readonly axis: "x" | "y";
|
|
1683
|
+
readonly at: number;
|
|
1684
|
+
/** The width of the gap. */
|
|
1685
|
+
readonly width: number;
|
|
1686
|
+
/** The number of lanes of the gap. */
|
|
1687
|
+
readonly lanes: number;
|
|
1688
|
+
/** The number of pieces in the gap: the legs of the links that run along it. */
|
|
1689
|
+
readonly pieces: number;
|
|
1690
|
+
/** The largest number of pieces that overlap at one place of the gap. No rule gives fewer lanes. */
|
|
1691
|
+
readonly density: number;
|
|
1611
1692
|
}
|
|
1612
1693
|
/**
|
|
1613
1694
|
* This function gives each link that runs along a gap its own lane in the gap. The lanes of a gap are `spacing` apart, around its middle line.
|
|
@@ -1615,6 +1696,8 @@ export interface GapLaneOptions {
|
|
|
1615
1696
|
* When a move puts a link through more boxes than before, the link keeps its points.
|
|
1616
1697
|
*/
|
|
1617
1698
|
export declare function gapLanes(items: readonly Boxed[], links: readonly LevelLink[], options?: GapLaneOptions): LevelLink[];
|
|
1699
|
+
/** This function gives the lanes of each gap that holds a piece of a link, with the options of `gapLanes`. A gap without a piece is not in the list. */
|
|
1700
|
+
export declare function gapLaneCounts(items: readonly Boxed[], links: readonly LevelLink[], options?: GapLaneOptions): GapLaneCount[];
|
|
1618
1701
|
/**
|
|
1619
1702
|
* The boards of the zoom levels of `levelRoom`.
|
|
1620
1703
|
*
|
|
@@ -2191,6 +2274,42 @@ export interface BendRoomRow extends HighwayMeasures {
|
|
|
2191
2274
|
export declare function benchBendRoom(router: Router, fixture: string, graph: Graph, options?: RoomOptions): BendRoomRow[];
|
|
2192
2275
|
/** This function writes the rows of `benchBendRoom` as a Markdown table. The spacing error is a percent of the spacing. */
|
|
2193
2276
|
export declare function formatBendRoom(rows: readonly BendRoomRow[]): string;
|
|
2277
|
+
/** One row of `benchTracks` (EDA-004): the lanes of the far view of one board with one lane rule of `gapLanes`. */
|
|
2278
|
+
export interface TrackBenchRow {
|
|
2279
|
+
readonly fixture: string;
|
|
2280
|
+
/** The board: `given` (the board as it is) or `open` (the board that `makeRoom` opens at gutter 8 and spacing 4). */
|
|
2281
|
+
readonly board: string;
|
|
2282
|
+
readonly tracks: LaneTracks;
|
|
2283
|
+
/** The number of gaps with at least one piece. */
|
|
2284
|
+
readonly gaps: number;
|
|
2285
|
+
/** The sum of the lanes of the gaps. */
|
|
2286
|
+
readonly lanes: number;
|
|
2287
|
+
/** The sum of the densities of the gaps: the most pieces that overlap at one place. No rule gives fewer lanes. */
|
|
2288
|
+
readonly density: number;
|
|
2289
|
+
/** The number of gaps whose lanes are nearer than `spacing`, because the gap is too narrow for its lanes. */
|
|
2290
|
+
readonly squeezed: number;
|
|
2291
|
+
/** The crossings of the links of the far view (`measureQuality`). */
|
|
2292
|
+
readonly crossings: number;
|
|
2293
|
+
/** The ink of the links of the far view. */
|
|
2294
|
+
readonly ink: number;
|
|
2295
|
+
/** R12: the length of parallel legs of two links nearer than `spacing`, as a share of the ink. */
|
|
2296
|
+
readonly separation: number;
|
|
2297
|
+
/** The number of links of the far view that go through a box. */
|
|
2298
|
+
readonly through: number;
|
|
2299
|
+
}
|
|
2300
|
+
/**
|
|
2301
|
+
* This function gives R12 (lane separation) of the links. Two legs of two links are near when they are parallel and nearer than `near`.
|
|
2302
|
+
* R12 is the length of the near legs, as a share of the ink.
|
|
2303
|
+
* It reads only the legs on an axis. The links of the far view have no other legs.
|
|
2304
|
+
*/
|
|
2305
|
+
export declare function laneSeparation(links: readonly LevelLink[], near: number): number;
|
|
2306
|
+
/**
|
|
2307
|
+
* This function measures each lane rule of `gapLanes` (EDA-004) on the board as it is, and on the board that `makeRoom` opens.
|
|
2308
|
+
* The lane order is `crossings` for each rule. The lanes are `spacing` apart where the gap has room.
|
|
2309
|
+
*/
|
|
2310
|
+
export declare function benchTracks(fixture: string, graph: Graph, spacing?: number, rules?: readonly LaneTracks[]): TrackBenchRow[];
|
|
2311
|
+
/** This function writes the rows of `benchTracks` as a Markdown table. */
|
|
2312
|
+
export declare function formatTracks(rows: readonly TrackBenchRow[]): string;
|
|
2194
2313
|
/** The options of one setting of the router `sections`, without the name. */
|
|
2195
2314
|
export type SectionsSettingOptions = Omit<SectionsOptions, "name" | "maxNodes">;
|
|
2196
2315
|
/** One setting of a sweep of the router `sections`. */
|
|
@@ -2377,6 +2496,34 @@ export interface AmbiguityOptions {
|
|
|
2377
2496
|
* `amb = Σ_v count(w in N(v) : no edge v-w) / Σ_v count(N(v))`. The cost is quadratic, so a seeded sample serves above `exact` nodes.
|
|
2378
2497
|
*/
|
|
2379
2498
|
export declare function ambiguity(graph: Graph, routes: readonly Route[], options?: AmbiguityOptions): Ambiguity;
|
|
2499
|
+
/**
|
|
2500
|
+
* This function gives the bundled share of a result (B2 of MEAS0): `count(e : e is in a run or a bundle) / m`.
|
|
2501
|
+
* An edge is also in a bundle when its route shares a drawn segment with the route of another edge. Thus a router without `runs` and `bundles` gets a value too.
|
|
2502
|
+
* The scale is 0 to 1. A higher value is better only in context. The cost is linear.
|
|
2503
|
+
*/
|
|
2504
|
+
export declare function bundledShare(result: Result): number;
|
|
2505
|
+
/** The bundle stretch of the routes against base routes (B3 of MEAS0). */
|
|
2506
|
+
export interface BundleStretch {
|
|
2507
|
+
/** The median of `st(e) = L(r_e) / L(r*_e)`. A value of 1 is the length of the base route. Lower is better. */
|
|
2508
|
+
readonly median: number;
|
|
2509
|
+
/** The `0.95` quantile of `st(e)`: the tail of long detours that the bundles add. */
|
|
2510
|
+
readonly q95: number;
|
|
2511
|
+
/** The number of edges with a route in both lists and a base route longer than 1 unit. */
|
|
2512
|
+
readonly edges: number;
|
|
2513
|
+
}
|
|
2514
|
+
/**
|
|
2515
|
+
* This function gives the bundle stretch (B3 of MEAS0): `st(e) = L(r_e) / L(r*_e)` for each edge, with `r*_e` the base route of the edge.
|
|
2516
|
+
* The base routes are the routes of `corners` on the same input. An edge without a base route, or with a base route of 1 unit or less, does not count.
|
|
2517
|
+
* The cost is an extra run of the base router, and then linear.
|
|
2518
|
+
*/
|
|
2519
|
+
export declare function bundleStretch(routes: readonly Route[], base: readonly Route[]): BundleStretch;
|
|
2520
|
+
/**
|
|
2521
|
+
* This function gives the merge angle of the routes (B6 of MEAS0): the largest turn of a lane where it joins or leaves a run, in degrees.
|
|
2522
|
+
* A run is a drawn segment that the routes of two edges or more share. A route joins or leaves a run at a vertex where the edges on its segment change.
|
|
2523
|
+
* One of the two segments at that vertex has two edges or more. The turn is the angle between the two segments.
|
|
2524
|
+
* Routes without a shared segment give 0. The scale is 0 to 180 degrees, and lower is better. The cost is linear.
|
|
2525
|
+
*/
|
|
2526
|
+
export declare function mergeAngle(routes: readonly Route[]): number;
|
|
2380
2527
|
/** A joint of a curve: the end of one drawn segment and the start of the next drawn segment. */
|
|
2381
2528
|
export interface CurveJoint {
|
|
2382
2529
|
readonly at: Point;
|
|
@@ -2558,6 +2705,43 @@ export declare function dominates(a: Readonly<Record<string, number>>, b: Readon
|
|
|
2558
2705
|
* The function `values` gives the measures of an item. The front keeps the order of the list. The cost is quadratic in the items.
|
|
2559
2706
|
*/
|
|
2560
2707
|
export declare function paretoFront<T>(items: readonly T[], values: (item: T) => Readonly<Record<string, number>>, objectives: readonly Objective[]): T[];
|
|
2708
|
+
/** The order fragility of a router on one graph (W3 of MEAS3, from WILD-056). */
|
|
2709
|
+
export interface OrderFragility {
|
|
2710
|
+
/** The number of random orders. */
|
|
2711
|
+
readonly orders: number;
|
|
2712
|
+
/** `IQR / median` of the crossings (R1) over the orders. A value of 0 is a router that the order does not move. */
|
|
2713
|
+
readonly crossings: number;
|
|
2714
|
+
/** `IQR / median` of the median detour (R5) over the orders. */
|
|
2715
|
+
readonly detour: number;
|
|
2716
|
+
/** `IQR / median` of the ink saved (B1) over the orders. */
|
|
2717
|
+
readonly inkSaved: number;
|
|
2718
|
+
/** `IQR / median` of the ink over the orders. */
|
|
2719
|
+
readonly ink: number;
|
|
2720
|
+
/** The share of the orders whose routes differ from the routes of the input order. A value of 0 is a router that is free of the order. */
|
|
2721
|
+
readonly changed: number;
|
|
2722
|
+
/**
|
|
2723
|
+
* The crossings of the input order divided by the fewest crossings over the orders (the price of anarchy of WILD-056).
|
|
2724
|
+
* A value of 1 is a default order as good as the best random order. It is `NaN` when the best order has 0 crossings and the input order has more.
|
|
2725
|
+
*/
|
|
2726
|
+
readonly poa: number;
|
|
2727
|
+
}
|
|
2728
|
+
/** The options of `orderFragility`. */
|
|
2729
|
+
export interface OrderFragilityOptions {
|
|
2730
|
+
/** The number of random orders of the edges. The default is 20. */
|
|
2731
|
+
readonly orders?: number;
|
|
2732
|
+
/** The seed of the first order. The order `k` has the seed `seed + k`. The default is 1. */
|
|
2733
|
+
readonly seed?: number;
|
|
2734
|
+
/** The result of the input order, when the caller has it. Without it, the function routes the input order one time more. */
|
|
2735
|
+
readonly base?: Result;
|
|
2736
|
+
}
|
|
2737
|
+
/**
|
|
2738
|
+
* This function measures the order fragility of a router on one graph (W3, from WILD-056).
|
|
2739
|
+
* It routes the graph with `orders` random orders of the edges.
|
|
2740
|
+
* It gives the spread `IQR / median` of the crossings, the detour, the ink saved and the ink.
|
|
2741
|
+
* It also gives the share of orders that change a route, and the price of anarchy of the crossings.
|
|
2742
|
+
* The cost is `orders` extra runs of the router.
|
|
2743
|
+
*/
|
|
2744
|
+
export declare function orderFragility(graph: Graph, route: (graph: Graph) => Result, options?: OrderFragilityOptions): OrderFragility;
|
|
2561
2745
|
/** The names of the proposed hard rules of MEAS0. The suite counts them. It does not apply them as rules yet. */
|
|
2562
2746
|
export declare const PROPOSED_RULES: readonly string[];
|
|
2563
2747
|
/** The options of `runSuite`. */
|
|
@@ -3373,6 +3557,13 @@ export type ScreenStep = CompareStep | "highway";
|
|
|
3373
3557
|
export declare const SCREEN_STEPS: readonly ScreenStep[];
|
|
3374
3558
|
/** The routers that the screen of the step `highway` also runs by default. They are the baselines of the note on highways. */
|
|
3375
3559
|
export declare const HIGHWAY_BASE_ROUTERS: readonly string[];
|
|
3560
|
+
/**
|
|
3561
|
+
* A wrapper of each router of a screen. `stable` routes the edges in the stable order of WILD-053 (`stableOrderStrategy`).
|
|
3562
|
+
* `repair` runs the repair step of RULE-046 after the router (`repairStrategy`).
|
|
3563
|
+
*/
|
|
3564
|
+
export type ScreenWrap = "stable" | "repair";
|
|
3565
|
+
/** The wrappers of `ScreenWrap`. */
|
|
3566
|
+
export declare const SCREEN_WRAPS: readonly ScreenWrap[];
|
|
3376
3567
|
/** The hard rules of each step of the screen, in the order of the records. A good run has 0 for each rule. */
|
|
3377
3568
|
export declare const SCREEN_RULES: Readonly<Record<ScreenStep, readonly string[]>>;
|
|
3378
3569
|
/** The options of `screen`. */
|
|
@@ -3397,8 +3588,18 @@ export interface ScreenOptions {
|
|
|
3397
3588
|
* The default is `HIGHWAY_BASE_ROUTERS`. The other steps do not read it.
|
|
3398
3589
|
*/
|
|
3399
3590
|
readonly baseRouters?: readonly string[];
|
|
3400
|
-
/** The seed of the small change of the stability measures
|
|
3591
|
+
/** The seed of the small change of the stability measures, and of the first random order of `shuffles`. The default is 1. */
|
|
3401
3592
|
readonly seed?: number;
|
|
3593
|
+
/**
|
|
3594
|
+
* The wrappers of each router of the steps `router` and `highway`. Each wrapper `w` adds the router `<name>+<w>` as a new strategy, beside the router `<name>`.
|
|
3595
|
+
* The default is none. The steps `group` and `curve` do not read it.
|
|
3596
|
+
*/
|
|
3597
|
+
readonly wrap?: readonly ScreenWrap[];
|
|
3598
|
+
/**
|
|
3599
|
+
* The number of random orders of the edges for the order fragility (W3, from WILD-056). Each router routes each input this number of times more.
|
|
3600
|
+
* The default is 0: no measure of the order fragility. The steps `group` and `curve` do not read it.
|
|
3601
|
+
*/
|
|
3602
|
+
readonly shuffles?: number;
|
|
3402
3603
|
/** The commit of the code, for the records. */
|
|
3403
3604
|
readonly commit?: string;
|
|
3404
3605
|
/** The predictions of the run. Each record names the first prediction with its strategy, its set and its input. */
|
|
@@ -3462,6 +3663,8 @@ export interface ScreenReport {
|
|
|
3462
3663
|
readonly records: readonly LayoutRecord[];
|
|
3463
3664
|
readonly summary: ScreenSummary;
|
|
3464
3665
|
}
|
|
3666
|
+
/** This function gives the name of a router without the suffix of a wrapper, for example `shared` for `shared+repair`. */
|
|
3667
|
+
export declare function unwrappedName(name: string): string;
|
|
3465
3668
|
/**
|
|
3466
3669
|
* This function screens strategies of one step on the inputs of a screen set. It is the cheap test of a new idea before a full build.
|
|
3467
3670
|
* Each strategy runs on each input with `compareStep`, and each run gives one record of the form `layout-record/1`.
|
|
@@ -3534,5 +3737,113 @@ export declare function highwayRouter<O extends object>(strategy: Strategy<"high
|
|
|
3534
3737
|
* The benchmark and the screen race such a router with the other routers.
|
|
3535
3738
|
*/
|
|
3536
3739
|
export declare function highwayRouterStrategy<O extends object>(strategy: Strategy<"highway", O>): Strategy<"router", O>;
|
|
3537
|
-
|
|
3740
|
+
/**
|
|
3741
|
+
* This function gives the graph with its edges in the stable order of WILD-053: by the FNV-1a hash of the id, then by the id.
|
|
3742
|
+
* The nodes and the edges do not change. Two orders of the same edges give the same graph.
|
|
3743
|
+
* The hash spreads the edges, so the stable order does not favor the edges of one node or one collection.
|
|
3744
|
+
*/
|
|
3745
|
+
export declare function stableOrder(graph: Graph): Graph;
|
|
3746
|
+
/** This function gives the graph with its edges in a random order of the seed. The same graph and seed always give the same order. */
|
|
3747
|
+
export declare function shuffleEdges(graph: Graph, seed: number): Graph;
|
|
3748
|
+
/**
|
|
3749
|
+
* This function routes the graph in the stable order of `stableOrder`, with the function `route`.
|
|
3750
|
+
* The routes come back in the order of the input edges, so the caller sees no change of order.
|
|
3751
|
+
* The bundles, the runs and the levels come from the stable order. Thus each order of the input gives the same data.
|
|
3752
|
+
*/
|
|
3753
|
+
export declare function routeInStableOrder(graph: Graph, route: (graph: Graph) => Result): Result;
|
|
3754
|
+
/** This function gives a router that routes each graph in the stable order of WILD-053. It keeps the name and the `maxNodes` of the router. */
|
|
3755
|
+
export declare function withStableOrder(router: Router): Router;
|
|
3756
|
+
/**
|
|
3757
|
+
* This function gives a router strategy that runs `strategy` in the stable order of WILD-053. The output does not depend on the order of the input edges.
|
|
3758
|
+
* The new strategy has the name `<name>+stable`, and the options and the schema of `strategy`. The strategy `strategy` does not change.
|
|
3759
|
+
*/
|
|
3760
|
+
export declare function stableOrderStrategy<O extends object>(strategy: Strategy<"router", O>): Strategy<"router", O>;
|
|
3761
|
+
/**
|
|
3762
|
+
* The boundary walk of the repair step (RULE-046): a graph of the sides of the boxes.
|
|
3763
|
+
* The vertices are the corners of the boxes. The edges are the parts of each side between two corners on it.
|
|
3764
|
+
* A walk on this graph goes along the boundaries of the boxes, and not through a box. Thus it joins two boxes also when the boxes touch.
|
|
3765
|
+
* The graph drops each part of a side that goes through another box, so overlapping boxes do not open a way.
|
|
3766
|
+
*/
|
|
3767
|
+
export declare class BoundaryWalk {
|
|
3768
|
+
#private;
|
|
3769
|
+
/** This constructor makes the graph of the sides of the nodes. `grid` holds the nodes by their boxes. */
|
|
3770
|
+
constructor(nodes: readonly Node[], grid: Grid<Node>);
|
|
3771
|
+
/**
|
|
3772
|
+
* This method gives a way along the boundaries of the boxes. The way goes from the point `a` on the box of `s` to the point `b` on the box of `t`.
|
|
3773
|
+
* A point that is not on its box goes first to the nearest point of the boundary.
|
|
3774
|
+
* The method gives `undefined` when no way joins the two boxes.
|
|
3775
|
+
*/
|
|
3776
|
+
path(a: Point, s: Node, b: Point, t: Node): Point[] | undefined;
|
|
3777
|
+
}
|
|
3778
|
+
/** This function gives the point of the boundary of the box that is nearest to `p`. A point on the boundary gives itself. */
|
|
3779
|
+
export declare function nearestOnBoundary(box: Box, p: Point): Point;
|
|
3780
|
+
/** The options of the repair step (RULE-046). */
|
|
3781
|
+
export interface RepairOptions {
|
|
3782
|
+
/** The distance from a box to the corners of a detour, and twice the clearance of a pushed leg. The default is 5. */
|
|
3783
|
+
readonly margin?: number;
|
|
3784
|
+
/** The number of visible neighbours of each corner of the detour graph. The default is 8. */
|
|
3785
|
+
readonly k?: number;
|
|
3786
|
+
/** With `false`, the step does not push a leg out of a box. The default is `true`. */
|
|
3787
|
+
readonly push?: boolean;
|
|
3788
|
+
/** With `false`, the step takes no detour through the corner graph. The default is `true`. */
|
|
3789
|
+
readonly detour?: boolean;
|
|
3790
|
+
/** With `false`, the step does not route a whole faulty route again through the corner graph. The default is `true`. */
|
|
3791
|
+
readonly reroute?: boolean;
|
|
3792
|
+
/** With `false`, the step does not walk along the boundaries of the boxes. The default is `true`. */
|
|
3793
|
+
readonly walk?: boolean;
|
|
3794
|
+
}
|
|
3795
|
+
/** The counts of one repair: what the step found and what it did. */
|
|
3796
|
+
export interface RepairCounts {
|
|
3797
|
+
/** The number of edges whose two nodes are in the graph. */
|
|
3798
|
+
readonly routes: number;
|
|
3799
|
+
/** The routes with a break of a hard rule before the repair, and the missing routes. */
|
|
3800
|
+
readonly faulty: number;
|
|
3801
|
+
/** The ends that the step moved back to their plugs or to the boxes of their nodes. */
|
|
3802
|
+
readonly snapped: number;
|
|
3803
|
+
/** The legs that the step pushed out of a box. */
|
|
3804
|
+
readonly pushed: number;
|
|
3805
|
+
/** The legs that the step replaced with a detour through the corner graph. */
|
|
3806
|
+
readonly detoured: number;
|
|
3807
|
+
/** The faulty routes that the step routed again from end to end through the corner graph. */
|
|
3808
|
+
readonly rerouted: number;
|
|
3809
|
+
/** The faulty routes that the step replaced with a walk along the boundaries of the boxes. */
|
|
3810
|
+
readonly walked: number;
|
|
3811
|
+
/** The missing routes that the step added. */
|
|
3812
|
+
readonly added: number;
|
|
3813
|
+
/** The faulty routes that the step could not repair. They keep their base routes. */
|
|
3814
|
+
readonly kept: number;
|
|
3815
|
+
/** The edges that the step took out of a run or a bundle. The repaired route of such an edge does not hold the run or the trunk. */
|
|
3816
|
+
readonly unbundled: number;
|
|
3817
|
+
/** The ends of level links that the step moved to the boundaries of their items. */
|
|
3818
|
+
readonly linkEnds: number;
|
|
3819
|
+
}
|
|
3820
|
+
/** The result of `repairResult`: the repaired result and the counts. */
|
|
3821
|
+
export interface RepairReport {
|
|
3822
|
+
readonly result: Result;
|
|
3823
|
+
readonly counts: RepairCounts;
|
|
3824
|
+
}
|
|
3825
|
+
/**
|
|
3826
|
+
* This function repairs the breaks of the hard rules in the routes of any router (RULE-046). The input result does not change.
|
|
3827
|
+
*
|
|
3828
|
+
* - It adds a route through the corner graph for each edge without a route (`complete`).
|
|
3829
|
+
* - It moves each end back to its fixed plug, or to the nearest point of the box of its node (`ends-at-plugs` and `fixed-plugs`).
|
|
3830
|
+
* - It pushes each inner leg out of a box that it goes through, to the near side of the box (`no-pass-through`).
|
|
3831
|
+
* - It replaces each other leg through a box with a detour through the corner graph.
|
|
3832
|
+
* - When a leg does not repair, it routes the whole route again through the corner graph.
|
|
3833
|
+
* Else it walks along the boundaries of the boxes (`BoundaryWalk`).
|
|
3834
|
+
* - A route that still breaks a rule keeps its base route.
|
|
3835
|
+
* - It takes an edge out of a run or a bundle when its new route does not hold the run or the trunk (`run-shared` and `bundle-trunk`).
|
|
3836
|
+
* - It moves the ends of each level link to the boundaries of its items (`link-ends`).
|
|
3837
|
+
*
|
|
3838
|
+
* A route without a break does not change. The same input gives the same output.
|
|
3839
|
+
*/
|
|
3840
|
+
export declare function repairResult(graph: Graph, result: Result, options?: RepairOptions): RepairReport;
|
|
3841
|
+
/** This function gives a router that repairs the routes of `router` with `repairResult`. It keeps the name and the `maxNodes` of the router. */
|
|
3842
|
+
export declare function withRepair(router: Router, options?: RepairOptions): Router;
|
|
3843
|
+
/**
|
|
3844
|
+
* This function gives a router strategy that runs `strategy` and then the repair step (RULE-046) with `repair`.
|
|
3845
|
+
* The new strategy has the name `<name>+repair`, and the options and the schema of `strategy`. The strategy `strategy` does not change.
|
|
3846
|
+
*/
|
|
3847
|
+
export declare function repairStrategy<O extends object>(strategy: Strategy<"router", O>, repair?: RepairOptions): Strategy<"router", O>;
|
|
3848
|
+
export type { ArcOptions, ClothoidOptions, CornersOptions, CorridorOptions, CurveSpace, CutObjective, CutOptions, FollowOptions, Highway, HighwayInput, HighwayMember, HighwayOptions, HighwayPlan, JogStyle, KdAxis, KdLine, KdOptions, KeyOptions, KeysOptions, LaneCurve, NodeKey, RoomBends, RoundedOptions, SectionsOptions, ShareCost, ShareMerge, ShareOrder, SharedOptions, SharedWaysOptions, SmoothOptions, SplineOptions, TrunkFan, TrunkSplit, TrunksOptions };
|
|
3538
3849
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/geom.ts","../src/grid.ts","../src/model.ts","../src/fixtures.ts","../src/cases.ts","../src/plugs.ts","../src/curves.ts","../src/curves/model.ts","../src/curves/space.ts","../src/curves/sample.ts","../src/curves/straight/index.ts","../src/curves/rounded/index.ts","../src/curves/spline/index.ts","../src/curves/arc/index.ts","../src/curves/smooth/index.ts","../src/curves/clothoid/index.ts","../src/segments.ts","../src/curves/highway/index.ts","../src/curves/index.ts","../src/visibility.ts","../src/ways.ts","../src/sections.ts","../src/groups/quadtree/index.ts","../src/groups/keys/index.ts","../src/groups/cut/index.ts","../src/groups/kd/index.ts","../src/pick.ts","../src/routers/straight.ts","../src/routers/plugs.ts","../src/routers/corners.ts","../src/routers/shared.ts","../src/levels.ts","../src/highways/model.ts","../src/room/bends.ts","../src/room/index.ts","../src/strategies/options.ts","../src/strategies/model.ts","../src/routers/sections.ts","../src/routers/trunks.ts","../src/routers/index.ts","../src/room/lanes.ts","../src/room/levels/index.ts","../src/bench/properties.ts","../src/bench/quality.ts","../src/bench/links.ts","../src/bench/run.ts","../src/bench/curves.ts","../src/bench/room.ts","../src/bench/sections.ts","../src/bench/measures/stats.ts","../src/bench/measures/routes.ts","../src/bench/measures/bundles.ts","../src/bench/measures/curves.ts","../src/bench/measures/levels.ts","../src/bench/measures/groups.ts","../src/bench/measures/stability.ts","../src/bench/measures/room.ts","../src/bench/measures/pareto.ts","../src/bench/suite.ts","../src/highways/corridors/index.ts","../src/highways/keys/index.ts","../src/highways/shared-ways/index.ts","../src/strategies/builtins.ts","../src/bench/compare.ts","../src/bench/screen/hash.ts","../src/bench/screen/forms.ts","../src/bench/screen/measures.ts","../src/bench/screen/set.ts","../src/bench/screen/screen.ts","../src/bench/screen/generators.ts","../src/highways/follow.ts","../src/highways/result.ts","../src/highways/router.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/geom.ts","../src/grid.ts","../src/model.ts","../src/fixtures.ts","../src/cases.ts","../src/plugs.ts","../src/curves.ts","../src/curves/model.ts","../src/curves/space.ts","../src/curves/sample.ts","../src/curves/straight/index.ts","../src/curves/rounded/index.ts","../src/curves/spline/index.ts","../src/curves/arc/index.ts","../src/curves/smooth/index.ts","../src/curves/clothoid/index.ts","../src/segments.ts","../src/curves/highway/index.ts","../src/curves/index.ts","../src/visibility.ts","../src/ways.ts","../src/sections.ts","../src/groups/quadtree/index.ts","../src/groups/keys/index.ts","../src/groups/cut/index.ts","../src/groups/kd/index.ts","../src/pick.ts","../src/routers/straight.ts","../src/routers/plugs.ts","../src/routers/corners.ts","../src/routers/shared.ts","../src/levels.ts","../src/highways/model.ts","../src/room/bends.ts","../src/room/index.ts","../src/strategies/options.ts","../src/strategies/model.ts","../src/routers/sections.ts","../src/routers/trunks.ts","../src/routers/index.ts","../src/room/lanes.ts","../src/room/levels/index.ts","../src/bench/properties.ts","../src/bench/quality.ts","../src/bench/links.ts","../src/bench/run.ts","../src/bench/curves.ts","../src/bench/room.ts","../src/bench/sections.ts","../src/bench/measures/stats.ts","../src/bench/measures/routes.ts","../src/bench/measures/bundles.ts","../src/bench/measures/curves.ts","../src/bench/measures/levels.ts","../src/bench/measures/groups.ts","../src/bench/measures/stability.ts","../src/bench/measures/room.ts","../src/bench/measures/pareto.ts","../src/bench/measures/order.ts","../src/bench/suite.ts","../src/highways/corridors/index.ts","../src/highways/keys/index.ts","../src/highways/shared-ways/index.ts","../src/strategies/builtins.ts","../src/bench/compare.ts","../src/bench/screen/hash.ts","../src/bench/screen/forms.ts","../src/bench/screen/measures.ts","../src/bench/screen/set.ts","../src/bench/screen/screen.ts","../src/bench/screen/generators.ts","../src/highways/follow.ts","../src/highways/result.ts","../src/highways/router.ts","../src/order/index.ts","../src/repair/walk.ts","../src/repair/index.ts"],"mappings":";iBACiB;WACN;WACA;;;iBAIM;WACN;WACA;WACA;WACA;;;wBAIK,KAAK,GAAG,OAAO,GAAG;;wBAOlB,OAAO,GAAG,MAAM;;wBAKhB,QAAQ,GAAG,KAAK,YAAY;;wBAK5B,eAAe,YAAY;;;;;wBAY3B,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG;;;;;wBAY/C,eAAe,GAAG,OAAO,GAAG,OAAO,KAAK,KAAK;;wBAK7C,gBAAgB,GAAG,OAAO,GAAG,OAAO,YAAY,YAAY,YAAY,YAAY;;wBA2BpF,iBAAiB,GAAG,OAAO,GAAG;;wBAO9B,qBAAqB,GAAG,OAAO,GAAG,OAAO,GAAG;;wBAS5C,mBAAmB,GAAG,OAAO,GAAG,OAAO,KAAK;;;;;wBAiB5C,MAAM,YAAY,SAAS;;wBAgB3B,UAAU,YAAY,SAAS;;;;;wBAQ/B,gBAAgB,YAAY,SAAS;;;;;wBAgBrC,QAAQ,YAAY,SAAS,YAAY;;;;;;qBC1J5C,KAAK;;;EAUhB,YAAY;;EAyHZ,IAAI,MAAM,GAAG,GAAG;;EAKhB,WAAW,MAAM,GAAG,GAAG,OAAO,GAAG;;EAMjC,MAAM,GAAG,KAAK,QAAQ,MAAM;;EAK5B,aAAa,GAAG,OAAO,GAAG,OAAO,gBAAgB,QAAQ,MAAM;;;;;EAU/D,YAAY,GAAG,OAAO,GAAG,OAAO,gBAAgB,OAAO,MAAM;;;wBAM/C,cAAc,GAAG,OAAO,GAAG,QAAQ;;YCvKvC;;;;;iBAMK;WACN;;WAEA,KAAK;;WAEL,OAAO;;;iBAID;WACN;WACA,KAAK;WACL,iBAAiB;;WAEjB,OAAO,SAAS;;;iBAIV;WACN;WACA;;;iBAIM;WACN;WACA,QAAQ;WACR,QAAQ;WACR,OAAO,SAAS;;;iBAIV;WACN,gBAAgB;WAChB,gBAAgB;;;iBAIV;WACN;WACA,iBAAiB;;;;;;iBAOX;WACN;WACA,gBAAgB;WAChB,gBAAgB;;;iBAIV;WACN;WACA,KAAK;WACL;;;iBAIM;WACN;WACA;WACA;WACA,iBAAiB;;;iBAIX;WACN,iBAAiB;WACjB,kBAAkB;WAClB,mBAAmB;;WAEnB,gBAAgB;;;;;;iBAOV;WACN;;WAEA;;WAEA;;WAEA;;WAEA,gBAAgB;;;;;;iBAOV;WACN;;WAEA;WACA,iBAAiB;;WAEjB;;;YAIC,aAAa,MAAM;;iBAGd;WACN;;WAEA;EACT,MAAM,OAAO,QAAQ;;;wBAIP,UAAU,GAAG,QAAQ,YAAY;;wBAOjC,eAAe,MAAM,MAAM,KAAK,MAAM;;wBCjItC,IAAI;;;;;YAeR;;iBAGK;WACN;WACA,MAAM;WACN;;WAEA;WACA;;WAEA;;WAEA;;;qBAIE,mBAAmB;;;;;wBAqBhB,YAAY,MAAM,cAAc;;;;;iBCnD/B;WACN;;WAEA;;WAEA,YAAY;;;;;;wBA+BP,oBAAoB;;;;;;wBASpB,iBAAiB;;;;;;wBAuBjB,mBAAmB;;iBA+BlB;;WAEN;;WAEA;;WAEA;;WAEA;;;;;;;;;;;wBAYK,gBAAgB,UAAS,oBAAyB;;;;;;;;wBA4BlD,mBAAmB;;qBAgBtB,gBAAgB;;iBCtKZ;WACN,OAAO;WACP,QAAQ;;;qBAIN,aAAa,SAAS,OAAO,MAAM;;wBAQhC,YAAY,KAAK,KAAK,GAAG,QAAQ;;;;;wBAgBjC,WAAW,KAAK,KAAK,QAAQ,QAAQ;;;;;wBAYrC,YAAY,KAAK,KAAK,MAAM,MAAM,QAAQ,OAAO,iBAAY;;;;;wBAsB7D,UAAU,MAAM,MAAM,KAAK,KAAK,QAAQ,QAAQ;;iBCjE/C;;WAEN;;WAEA;;WAEA;;;;;;wBAOK,iBAAiB,eAAe;;;;;;;wBAchC,gBAAgB,IAAI,OAAO,QAAQ,OAAO,QAAQ,OAAO,UAAS,oBAAyB;;;;;wBAkC3F,aAAa,YAAY,SAAS,gBAAgB,iBAAY;;;;;;;;;;;YCpDlE;;qBAGC,sBAAsB;;iBAGlB;WACN;WACA,IAAI;;;iBAIE;WACN;WACA,IAAI;;;iBAIE;WACN;WACA,IAAI;WACJ,IAAI;WACJ,IAAI;;;;;;;iBAQE;WACN;WACA,QAAQ;WACR;WACA;WACA;WACA,IAAI;;;;;;YAOH,eAAe,cAAc,cAAc,eAAe;;wBAGtD,eAAe,iBAAiB,SAAS,eAAa;;;;;UChDrD;;WAEN,gBAAgB;;WAEhB;;;;;EAKT,QAAQ,YAAY,SAAS,YAAY;;;;;;EAMzC,iBAAiB,GAAG,OAAO,GAAG,OAAO,GAAG;;;;;;wBAO1B,WAAW,gBAAgB,OAAO,qBAAmB;;;;;;wBCrBrD,YAAY,mBAAmB,gBAAgB,qBAAkB;;wBAkCjE,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,YAAY;;;;;wBAahE,UAAU,mBAAmB,gBAAgB;;wBCtD7C,cAAc,iBAAiB,UAAU;;UCCxC;;WAEN;;WAEA,QAAQ;;;;;;;;wBASH,aAAa,iBAAiB,SAAS,UAAS,iBAAsB;;UCbrE;;;;;WAKN;;WAEA,cAAc;;WAEd,YAAY;;WAEZ,QAAQ;;;;;;;;;;wBAWH,YAAY,iBAAiB,SAAS,UAAS,gBAAqB;;UCtBnE;;WAEN;;WAEA,QAAQ;;;;;;;;wBAYH,SAAS,iBAAiB,SAAS,UAAS,aAAkB;;UCf7D;;WAEN;;WAEA;;WAEA,QAAQ;;;;;;;;;wBAkCH,YAAY,iBAAiB,SAAS,UAAS,gBAAqB;;UCtCnE;;WAEN;;WAEA;;WAEA;;WAEA,QAAQ;;;;;;;;;;wBAiIH,cAAc,iBAAiB,SAAS,UAAS,kBAAuB;;iBC7IvE;WACN;WACA,iBAAiB;;WAEjB;;WAEA;;;iBAIM;WACN;;WAEA;WACA;;;iBAIM;WACN;WACA,mBAAmB;;;iBAIb;WACN,mBAAmB;WACnB,gBAAgB;;;;;;wBAmBX,WAAW,QAAQ,SAAS;;wBAkD5B,WAAW,OAAO,cAAc,MAAM,OAAO;;;;;wBAgB7C,eAAe,YAAY,SAAS,YAAY;;iBAuB/C;;WAEN;;WAEA;;;;;;wBAOK,UAAU,OAAO,cAAc,SAAS,mBAAmB;;wBAK3D,OAAO;;;;;;;;;wBAYP,WAAW,QAAQ,SAAS,cAAc,MAAM,qBAAqB,mBAAmB,oBAA8B;;;;;;YA2C1H;;;;;;;;;;;;wBAiEI,WAAW,cAAc,SAAS,iBAAiB,SAAS,QAAO;;UCxQlE;;WAEN;;WAEA;;WAEA;;WAEA,QAAQ;;WAER,MAAM;;WAEN;;;;;;;;;;;KAYC;;;;;KAMA,sCAAsC;;UAGjC;WACN;WACA,UAAU;;;;;;wBAmRL,aAAa,iBAAiB,SAAS,UAAS,KAAK,sCAA2C;;;;;;;;;;;;;;;;wBAmBhG,cAAc,QAAQ,SAAS,cAAc,MAAM,qBAAqB,mBAAmB,UAAS,iBAAsB;;iBC7TzH;WACN,MAAM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,cAAc;;WAEd,YAAY;;WAEZ,QAAQ;;;;;;;wBAQH,QAAQ,iBAAiB,SAAS,SAAS,eAAe;;qBCzC7D;;;EAIX,YAAY,gBAAgB,QAAQ;;EAMpC,MAAM,GAAG,OAAO,GAAG,OAAO,aAAa,OAAO,YAAY;;;;;EAQ1D,IAAI,GAAG,OAAO,GAAG,OAAO,aAAa,OAAO,YAAY,QAAQ;;EAWhE,UAAU,YAAY,SAAS,aAAa,OAAO,YAAY;;;;;;EAU/D,QAAQ,GAAG,OAAO,GAAG,OAAO,QAAQ,GAAG;;EAOvC,MAAM,KAAK,KAAK,QAAQ,GAAG;;EAK3B,OAAO,GAAG,OAAO,aAAa,OAAO;;;iBAmBtB;WACN,OAAO;WACP;;;iBAIM;WACN,QAAQ;WACR;WACA;WACA;;;iBAIM;;WAEN;;WAEA;;;;;WAKA;;;;;WAKA;;;;;;;;qBASE;;WACF,QAAQ;;EA6BjB,YAAY,gBAAgB,QAAQ,WAAW,WAAW,SAAS;;MAgE/D;;EAOJ,QAAQ,GAAG;;EAkBX,eAAe,GAAG,OAAO,WAAW;;;;;;;EAmGpC,KAAK,MAAM,OAAO,IAAI,OAAO,QAAQ,WAAW,WAAW,sBAAsB,iBAAoB;;;;;EASrG,UAAU,eAAe,YAAY,aAAa,aAAa;;EAyJ/D,KAAK,YAAY,SAAS,qBAAiB;;;iBAe5B;;WAEN;;WAEA;;;;;WAKA;;;;;;;;qBASE;;WACF,QAAQ;;EAYjB,YAAY,gBAAgB,QAAQ,WAAW,WAAW,SAAS;;;;;;EAsFnE,KAAK,MAAM,OAAO,IAAI,OAAO,OAAO,GAAG,kBAAkB;;;iBC1mB1C;;WAEN;;WAEA;;WAEA;;;;;;qBAOE;;WACF,WAAW;WACX,SAAS;WACT;;EAIT,YAAY,gBAAgB,QAAQ,UAAS;;EAQ7C,IAAI,GAAG,OAAO;;EAKd,QAAQ,IAAI,MAAM,IAAI,MAAM,MAAM,YAAY,QAAQ;;EAgBtD,SAAS,IAAI,MAAM,IAAI,QAAQ;;EAM/B,OAAO,MAAM,OAAO,IAAI,OAAO;;;iBC1DhB;;WAEN;WACA;WACA,MAAM;;WAEN;WACA,mBAAmB;;;iBAIb;;WAEN;;WAEA;;WAEA;;;qBAIE,kBAAkB,SAAS,SAAS;;;;;wBAMjC,cAAc,gBAAgB,QAAQ,UAAS,iBAAsB;;wBA2CrE,YAAY,MAAM,UAAU;;wBAW5B,UAAU,MAAM;;;;;wBAQhB,cAAc,MAAM,SAAS;;iBAkC5B;;WAEN,OAAO;;WAEP;;;;;;;wBAQK,SAAS,gBAAgB,KAAK,uBAAuB,MAAM,SAAS,gBAAgB;;;;;wBCpIpF,eAAe,OAAO,OAAO,UAAS,iBAAsB;;KCFhE,WAAW,MAAM,MAAM;;UAGlB;;WAEN,MAAM;;;;;WAKN,QAAQ;;;qBAIN,aAAa;;;;;;wBA0BV,cAAc,gBAAgB,QAAQ,UAAS,aAAkB;;wBAiCjE,UAAU,OAAO,OAAO,UAAS,aAAkB;;KCxEvD;;UAGK;;WAEN;;WAEA;;WAEA;;WAEA;;;;;WAKA,YAAY;;;;;WAKZ;;;;;WAKA;;;qBAIE,cAAc,SAAS,SAAS;;;;;;;;wBAkB7B,UAAU,OAAO,OAAO,UAAS,aAAkB;;KCjDvD;;KAGA;;UAGK;;WAEN;;WAEA;;;;;;WAMA,OAAO;;WAEP;;WAEA,OAAO;;;qBAIL,aAAa,SAAS,SAAS;;;;;;wBA2K5B,SAAS,OAAO,OAAO,UAAS,YAAiB;;wBCrMjD,UAAU,iBAAiB;;iBAQ1B;;WAEN;;WAEA;;;qBAIE,MAAM;;;;;;wBAOH,UAAU,0BAA0B,eAAe,UAAS,QAAQ;;wBCtBpE,QAAQ,KAAK,KAAK,QAAQ,QAAQ;;;;;qBAerC,gBAAgB;;;;;qBCVhB,aAAa;;KCDd;;UAGK,uBAAuB;;WAE7B;;WAEA;;;;;WAKA,QAAQ;;;;;WAKR;;;;;;;wBAQK,cAAc,SAAS,iBAAiB;;KCxB5C;;KAGA;;KAGA;;UAGK,sBAAsB;;WAE5B;;WAEA,OAAO;;WAEP;;WAEA,YAAY;;;;;WAKZ,OAAO;;WAEP;;WAEA;;;;;WAKA,QAAQ;;;;;WAKR,QAAQ;;WAER;;;;;;;;wBA0CK,aAAa,SAAS,gBAAgB;;UCjFrC;WACN;WACA;WACA;;;UAyBM,yBAAyB;;;;;WAK/B;;WAEA;;;;;;WAMA;;;UC7CM;WACN,OAAO;;;;;WAKP,SAAS;;;;;;;UAQH;WACN;;WAEA;;WAEA;;WAEA,OAAO;;WAEP,OAAO;;;;;WAKP;;;UAIM;WACN;;WAEA;;WAEA,gBAAgB;;WAEhB;;WAEA,kBAAkB;;;UAIZ;WACN,mBAAmB;;;wBAId,QAAQ,eAAe,SAAS,aAAa;;wBAa7C,cAAc,eAAe,SAAS,cAAc;;wBAapD,SAAS,gBAAgB,SAAS,cAAc,YAAY,aAAa,eAAU;;;;;;wBASnF,UAAU,OAAO,OAAO,MAAM;;;;;UC/E7B;;WAEN,QAAQ;;WAER,iBAAiB;;WAEjB;;WAEA;;WAEA;;WAEA;;;iBCdM;WACN;WACA,KAAK;;;iBAIC;WACN;WACA;WACA;;;;;;iBAOM;WACN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;YAIC;;iBAGK;;WAEN;;WAEA;;;;;WAKA;;;;;;;WAOA,SAAS;;WAET,SAAS;;WAET;;WAEA;;;;;;WAMA;;;;;;WAMA,QAAQ;;;iBAIF,KAAK,UAAU;WACrB,eAAe;WACf,OAAO;;;;;;wBAiBF,UAAU,gBAAgB,SAAS,gBAA8B;;;;;;wBA0CjE,SAAS,UAAU,OAAO,gBAAgB,KAAK,eAAe,OAAO,gBAA8B;;;;;wBAkBnG,WAAW,gBAAgB,SAAS,gBAAgB,YAAY,UAAS,cAAmB;;;;;wBAmB5F,UAAU,gBAAgB,SAAS,gBAAgB,YAAY,eAAe,OAAO,OAAO,WAAW,gBAA8B;;wBA0BrI,SAAS,UAAU,OAAO,gBAAgB,KAAK,gBAAgB,YAAY,UAAS,cAAmB,KAAK;;wBAM5G,UAAU,OAAO,QAAQ;;YCnN7B;;UAGF;;WAEC;;;;;;iBAOM,qBAAqB;;WAE3B;WACA;WACA;;WAEA;;WAEA,QAAQ;;WAER;;WAEA;;WAEA;;;iBAIM,sBAAsB;WAC5B;;WAEA;;;iBAIM,WAAW,mCAAmC;WACpD;;WAEA,iBAAiB;;WAEjB,UAAU;;;;;;iBAOJ,YAAY,qBAAqB;WACvC;;WAEA,OAAO;;WAEP,UAAU;;;YAIT,YAAY,eAAe,gBAAgB,aAAa;;YAGxD,kBAAkB,MAAM,sBAAsB,gBAAgB,uBAAuB,iBAAiB,sBAAsB,WAAW,KAAK,YAAY;;YAGxJ,aAAa,iBAAiB,WAAW,MAAM,kBAAkB,YAAY,EAAE;;iBAG1E;;WAEN;WACA;;WAEA;;WAEA;;;iBAIM,cAAc;;WAEpB;WACA,SAAS,QAAQ;;;iBAIX;;;;;WAKN;;WAEA;;;wBAYK,YAAY,UAAU,MAAM,kBAC1C,UAAU,SAAS,GAAG;WACV,WAAW;WAAqB,aAAa;WAAoB;;;;;;wBAS/D,eAAe,UAAU,MAAM,kBAAkB,UAAU,SAAS,GAAG,KAAK,QAAQ;;;;;;;wBA8CpF,aAAa,UAAU,MAAM,kBAAkB,UAAU,SAAS,GAAG,IAAI,SAAS,QAAQ,KAAK;;;;;wBAgB/F,aAAa,UAAU,MAAM,kBAAkB,UAAU,SAAS,GAAG,IAAI,SAAS,QAAQ,KAAK,QAAQ;;;;;;wBAoCvG,YAAY,aAAa,WAAW,UAAS;;;;;wBA4B7C,QAAQ,UAAU,MAAM,kBAAkB,UAAU,SAAS,GAAG,IAAI,WAAW,YAAY,UAAS,eAAoB,cAAc;;;;;wBAQtI,UAAU,UAAU,MAAM,kBAAkB,UAAU,SAAS,GAAG,IAAI,sBAAsB,eAAe,UAAS,eAAoB,cAAc;;;;;;wBAoCtJ,YAAY,UAAU,SAAS;;iBCrR9B;;WAEN,iBAAiB;;WAEjB,cAAc;;WAEd,YAAY;;WAEZ,QAAQ;;;;;WAKR;aAAkB,OAAO;aAAoB;;;;iBAIvC;;WAEN,OAAO;;WAEP,MAAM;;WAEN;;WAEA;;;iBAIM;WACN,gBAAgB;WAChB,gBAAgB;;;;;WAKhB,WAAW;;;;;;;;;;;iBAYL;WACN;aAAkB,OAAO;aAAgB,QAAQ;;WACjD;aAAmB,OAAO;aAAgB,QAAQ;;WAClD;aAAoB,OAAO;aAAuB,QAAQ;;WAC1D;aAAkB,OAAO;aAAqB,QAAQ;;WACtD;aAAiB,OAAO;aAAoB,QAAQ;;;;YAInD,aAAa;;YAGb,UAAU,UAAU,QAAQ,UAAU;;YAGtC,WAAW,UAAU,QAAQ,UAAU;;qBAGtC,gBAAgB;;;;;iBAMZ,SAAS,UAAU,OAAO,MAAM;;WAEtC,MAAM;;WAEN;;WAEA;;WAEA,UAAU,SAAS;;WAEnB,SAAS,aAAa;;WAEtB;;EAET,IAAI,OAAO,UAAU,IAAI,UAAU,QAAQ,KAAK,WAAW;;;YAIjD,iBAAiB,KAAK,OAAO,SAAS,MAAK;;iBAGtC,mBAAmB,UAAU,MAAM;WACzC,MAAM;WACN;WACA;;WAEA,UAAU;;WAEV,SAAS,QAAQ,aAAa;WAC9B;;EAET,IAAI,OAAO,UAAU,IAAI,SAAS,SAAS,KAAK,WAAW;;;;;;wBAc7C,eAAe,UAAU,MAAM,kBAAkB,YAAY,mBAAmB,GAAG,KAAK,SAAS,GAAG;;;;;;YAuBxG,uBAAuB,KAAK,QAAQ,sCAAsC,SAAS;WACpF,iBAAiB;WACjB,mBAAmB;;;wBAId,eAAe,qBAAqB,gBAAgB;;wBAkBpD,SAAS,UAAU,aAAa,qBAAqB,gBAAgB;;wBAKrE,eAAe,UAAU,MAAM,UAAU,UAAU,MAAM,aAAa,SAAS;;wBAK/E,aAAa,UAAU,MAAM,UAAU,UAAU,MAAM,GAAG,eAAe,SAAS;;wBAKlF,YAAY,UAAU,MAAM,UAAU,UAAU,MAAM,GAAG,eAAe,SAAS;;wBAOjF,SAAS,kBAAkB,UAAU,mBAAmB,IAAI,UAAU,QAAQ,KAAK;;wBASnF,UAAU,UAAU,WAAW;;;;;;UC/L9B,wBAAwB,kBAAkB;;WAEhD;;;;;WAKA;;;;;WAKA;;WAEA;;;;;WAKA;;;;;WAKA,QAAQ;;WAER;;;;;WAKA;;WAEA,YAAY;;WAEZ;;;;;;;;;;;;;wBA+BK,eAAe,SAAS,kBAAkB;;UCzEzC,sBAAsB;;WAE5B;;WAEA,MAAM;;WAEN;;WAEA;;WAEA,YAAY;;;;;WAKZ,QAAQ;;;;;WAKR,UAAU;;WAEV;;;;;WAKA,MAAM;;WAEN;;WAEA;;;KAIC;;KAGA;;KAGA;;qBAGC,cAAc;;;;;wBASX,WAAW,gBAAgB,QAAQ,MAAM,WAAW,mBAAc,YAAY;;;;;wBAkB9E,UAAU,KAAK,OAAO,MAAM,OAAO;WAA8B;WAAuB,MAAM;;;;;;wBAgB9F,WAAW,OAAO,OAAO,kBAAkB,SAAS,eAAe,OAAO,GAAG,mBAAmB,eAAe;;;;;;wBA+F/G,aAAa,SAAS,gBAAgB;;qBC9KzC,kBAAkB;;;;;;;;YCJnB;;qBAGC,sBAAsB;;;;;;;;;YAUvB;;qBAGC,sBAAsB;;iBAGlB;;WAEN;;WAEA,QAAQ;;WAER;;WAEA,SAAS;;;iBAIH;WACN;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;;wBAwBK,SAAS,gBAAgB,SAAS,gBAAgB,aAAa,UAAS,iBAAsB;;wBAK9F,cAAc,gBAAgB,SAAS,gBAAgB,aAAa,UAAS,iBAAsB;;;;;;;;YCtEvG;;iBAGK,yBAAyB;;WAE/B;;WAEA;;WAEA,QAAQ;;;iBAIF,UAAU,UAAU;WAC1B;;WAEA,OAAO;;WAEP,OAAO;;WAEP,MAAM;;WAEN,OAAO;;;iBAID,UAAU,UAAU;;WAE1B,QAAQ,UAAU;;WAElB,MAAM;;WAEN,OAAO;;;;;;wBASF,WAAW,gBAAgB,aAAa,0BAA0B,SAAS,6BAA6B,gBAAgB,aAAa;;;;;;;;;wBAyBrI,UAAU,UAAU,OAAO,gBAAgB,KAAK,gBAAgB,YAAY,MAAM,SAAS,UAAS,mBAAwB,UAAU;;iBCzErI;WACN;WASA;WACA;;;qBAIE;;;;;;;;;;wBAWG,gBAAgB,OAAO,OAAO,QAAQ,QAAQ,iBAAc;;;;;;wBAqE5D,YAAY,OAAO,OAAO,iBAAiB,SAAS,iBAAc;;iBCpFjE;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;qBAIE;;wBAQG,eAAe,OAAO,OAAO,QAAQ,SAAS;;;;;wBAqG9C,UAAU,KAAK,KAAK,IAAI,OAAO,MAAM;;;;;wBAoBrC,eAAe,0BAA0B,OAAO;;iBAsB/C;WACN;WACA;;WAEA;;;wBAIK,iBAAiB,QAAQ,QAAQ,OAAO,SAAS;;;;;iBC5LhD;;WAEN;;;;;WAKA;;;;;WAKA;;WAEA;;;;;WAKA;;WAEA;;;;;WAKA;;;iBAIM,oBAAoB;WAC1B;;WAEA;;WAEA;;WAEA;;;iBAIM;;WAEN;;;qBAIE;;qBAEA;;qBAEA;;iBAGI;WACN;WACA;WACA,iBAAiB;;;;;;wBAOZ,YAAY,YAAY;;wBAaxB,eAAe,YAAY;;;;;wBAU3B,aAAa,OAAO,oBAAoB,MAAM,gBAAgB,gBAAgB,UAAS,mBAAwB;;wBAmD/G,aAAa,GAAG,KAAK,GAAG;;wBAKxB,mBAAmB,OAAO,OAAO,QAAQ,QAAQ,UAAS,mBAAwB;;wBAYlF,cAAc,gBAAgB;;wBAe9B,aAAa,OAAO,OAAO,UAAS,mBAAwB;;;;;wBAe5D,mBAAmB,QAAQ,QAAQ,UAAS,mBAAwB;;wBAKpE,UAAU,eAAe,eAAe;;iBC7LvC;WACN;WACA;WACA;WACA;;WAEA;;WAEA;WACA;;WAEA,iBAAiB;WACjB,SAAS;;WAET,QAAQ;;WAER,sBAAsB;;WAEtB,YAAY;;;iBAIN;;WAEN;;WAEA;;;iBAIM;;WAEN;;;;;;WAMA;;;wBAIK,aAAa,kBAAkB,UAAU,mBAAmB,eAAe,UAAS,eAAoB;;;;;wBAaxG,SAAS,YAAY;;;;;wBAwBrB,SAAS,QAAQ,QAAQ,iBAAiB,OAAO,OAAO,iBAAY,qBAA+B;;iBAKlG;WACN,KAAK;WACL,QAAQ;;;wBAIH,SAAS,QAAQ,QAAQ,iBAAiB,OAAO,OAAO,iBAAY,qBAA+B;;;;;;wBAyCnG,UAAU,eAAe,YAAY,4BAA4B,8BAA8B;;wBAY/F,YAAY,eAAe;;;;;wBAkB3B,aAAa,eAAe;;iBAkB3B;WACN;WACA;WACA,sBAAsB;;;wBAIjB,aAAa,eAAe;;;;;iBClL3B,cAAc,mBAAmB;WACvC;WACA;WACA,MAAM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;iBAIM;;WAEN;;WAEA;;;;;;;wBAQK,YAAY,QAAQ,QAAQ,iBAAiB,OAAO,OAAO,UAAS,oBAAyB;;;;;wBAe7F,qBACd,QAAQ,QACR,iBACA,OAAO,OACP,iBAAiB,qBACjB,UAAS,oBACR;;wBAoDa,aAAa,eAAe;;iBAQ3B;;WAEN;;WAEA;;WAEA;;WAEA,QAAQ;;;;;;iBAOF;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;qBAIE;;qBAGA;;;;;;;;;;;;wBA8JG,gBACd,OAAO,cACP,MAAM,qBACN,mBACA,iBAAiB,aACjB,UAAS,wBACR;;iBA+Gc,wBAAwB;WAC9B;WACA;;WAEA;;WAEA,MAAM;;WAEN,OAAO;;WAEP;;;iBAIM;;WAEN;;WAEA;;WAEA;WACA;;WAEA;;WAEA;;WAEA;;;wBAmCK,SAAS,iBAAiB,aAAa,MAAM;;;;;wBAc7C,cAAc,mBAAmB;;;;;wBAWjC,YAAY,iBAAiB,aAAa,MAAM,UAAU,QAAO,UAAoB,8CAA8C;;iBAiClI;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA,gBAAgB;;WAEhB;;;;;;;wBAQK,cAAc,QAAQ,QAAQ,iBAAiB,OAAO,OAAO,UAAS,sBAA2B;;wBAkCjG,eAAe,eAAe;;iBC9lB7B;WACN;;WAEA;;WAEA;;WAEA,QAAQ;;WAER;;WAEA;;WAEA;;;;;WAKA;;WAEA;;;;;;;;wBAwBK,aAAa,OAAO,OAAO,iBAAiB,QAAQ,YAAY,KAAK;;;;;wBA+CrE,UACd,iBACA,OAAO,OACP,UAAS,aACT,mBAAkB,qBACjB;;iBA0Bc;;WAEN;WACA,SAAS;;WAET,QAAQ;;;;;;wBAOH,UAAU,iBAAiB,OAAO,OAAO,mBAAmB,eAAe,WAAU,cAA0C;;qBAqBlI;;wBAGG,eAAe,6BAA2C;;;;;wBAQ1D,aAAa,8BAA4C,kBAAiB,cAA4B;;wBAQtG,aAAa,6BAA6C,6BAAqC;;wBAK/F,WAAW,eAAe;;iBAWzB;WACN;;WAEA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;WAKA;;WAEA;;WAEA;;;;;;wBAiBK,aAAa,YAAY,OAAO,YAAY,OAAO;;;;;;;;;wBAkBnD,eAAe,iBAAiB,OAAO,OAAO,UAAS,kBAAuB,WAAU,iBAAsB;;wBAoF9G,gBAAgB,eAAe;;iBAW9B,oBAAoB;WAC1B;WACA;;WAEA;;WAEA;;;;;;wBAOK,cAAc,QAAQ,QAAQ,iBAAiB,OAAO,OAAO,UAAS,cAA0C;;wBAgBhH,eAAe,eAAe;;iBAW7B;WACN;;WAEA;WACA,QAAQ;;WAER;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;;wBAQK,eAAe,gBAAgB,aAAa;;;;;wBA+B5C,YAAY,iBAAiB,OAAO,OAAO,kBAAqB,iBAAgB,eAA6B;;wBAkC7G,aAAa,eAAe;;YC9ehC,yBAAyB,KAAK;;iBAGzB;;WAEN;WACA,SAAS;;;iBAIH;WACN;WACA;;WAEA,QAAQ;;WAER,aAAa;;WAEb;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;;wBAYK,cAAc,iBAAiB,OAAO,OAAO,mBAAmB,oBAAoB;;qBAwBvF;;wBAGG,gBAAgB,6BAA4C;;qBAK/D;;wBAGG,cAAc,6BAA0C;;qBAK3D;;wBAGG,YAAY,6BAAwC;;;;;wBAQpD,cACd,sBAAqB,qBACrB,UAAS,SAAS,0BACjB;;wBAKa,eAAe,eAAe;;;;;wBCxG9B,SAAS,2BAA2B;;iBAUnC;;WAEN;WACA;;WAEA;;WAEA;;WAEA;WACA;WACA;;;wBAIK,UAAU,4BAA4B;;qBAgBzC;;;;;;wBAQG,WAAW,sBAAsB,sBAAsB;;;;;;wBAqCvD,kBAAkB,iCAAiC;;YCnFvD,yBAAyB,OAAO;;;;;wBAQ5B,cAAc,iBAAiB,UAAU;;wBAmBzC,WAAW,GAAG,OAAO,GAAG;;;;;wBAWxB,UAAU,OAAO;;iBAUhB;;WAEN;;WAEA;;WAEA;;WAEA;;;wBAOK,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG;;;;;;wBAe/C,eAAe,eAAe,iBAAiB;;iBAoC9C;;WAEN;;WAEA;;;wBAIK,UAAU,iBAAiB,UAAU;;iBAepC;;WAEN;;WAEA;WACA;;;;;;wBAOK,aAAa,iBAAiB,UAAU;;iBAavC;;WAEN;;WAEA;;WAEA;;;;;;;;wBASK,YAAY,OAAO,OAAO,iBAAiB,UAAU;;;;;wBChLrD,SAAS,iBAAiB;;iBAUzB;;WAEN;;WAEA;;;iBAIM;;WAEN;;WAEA;;WAEA;;;;;;;wBAQK,UAAU,OAAO,OAAO,iBAAiB,SAAS,UAAS,mBAAwB;;;;;;wBAuGnF,aAAa,QAAQ;;iBAcpB;;WAEN;;WAEA;;WAEA;;;;;;;wBAQK,cAAc,iBAAiB,SAAS,eAAe,UAAU;;;;;;;wBAmBjE,WAAW,iBAAiB;;iBCtL3B;WACN,IAAI;;WAEJ;;WAEA;;WAEA,QAAQ;;WAER,OAAO;;;;;;wBAiCF,YAAY,mBAAmB,iBAAiB;;;;;wBAyBhD,SAAS,mBAAmB;;;;;wBAQ5B,SAAS,mBAAmB,gBAAgB;;;;;;;;wBAW5C,cAAc,iBAAiB,SAAS;;wBAgBxC,cAAc,YAAY;;wBAe1B,QAAQ,YAAY;;iBAKnB;;WAEN,mBAAmB;;WAEnB,mBAAmB;;WAEnB,kBAAkB;;WAElB,QAAQ;;WAER,cAAc;WACd,YAAY;;WAEZ;;;iBAIM;;WAEN;;WAEA;;WAEA;;WAEA;;;wBAmBK,YAAY,GAAG,aAAa;;;;;;wBCzJ5B,cAAc,iBAAiB;;;;;;wBAkB/B,kBAAkB,iBAAiB;;;;;;;wBA6BnC,eAAe,OAAO,OAAO,iBAAiB;;YCjElD,WAAW;;wBAGP,cAAc,OAAO,QAAQ;;wBAO7B,SAAS,iBAAiB,UAAU;;;;;;wBASpC,WAAW,OAAO,OAAO,QAAQ;;;;;wBAsBjC,SAAS,OAAO,OAAO,QAAQ;;;;;wBAY/B,QAAQ,OAAO;;;;;;wBAiBf,SAAS,OAAO,OAAO,iBAAiB;;wBA8BxC,WAAW,MAAM,SAAS;;;;;wBAc1B,eAAe,QAAQ,SAAS,OAAO,SAAS;;iBChH/C;;WAEN,OAAO;;WAEP;;WAEA;;WAEA;;;;;;wBAOK,YAAY,OAAO,OAAO,eAAe;;iBAiDxC;;WAEN;;WAEA;;WAEA;;;iBAIM;;WAEN;WACA;;;;;;;wBAQK,eAAe,OAAO,OAAO,QAAQ,QAAQ,OAAO,QAAQ,UAAS,wBAA6B;;;;;;wBC/ElG,gBAAgB,iBAAiB,SAAS,gBAAgB,SAAS;;iBCZlE;WACN;;WAEA;;;;;;wBAcK,UAAU,GAAG,SAAS,yBAAyB,GAAG,SAAS,yBAAyB,qBAAqB;;;;;wBAezG,YAAY,GAAG,gBAAgB,KAAK,SAAS,MAAM,MAAM,SAAS,yBAAyB,qBAAqB,cAAc;;iBCzB7H;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;;;WAKA;;;iBAIM;;WAEN;;WAEA;;WAEA,OAAO;;;;;;;;;wBA4BF,eAAe,OAAO,OAAO,QAAQ,OAAO,UAAU,QAAQ,UAAS,wBAA6B;;qBC/BvG;;iBAGI;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,WAAW;;WAEX,oBAAoB;;WAEpB,wBAAwB;;WAExB;;WAEA,iBAAiB;;WAEjB;;WAEA,OAAO;;;iBAID;WACN;WACA;WACA;;WAEA;;;qBAIE,wBAAwB;;iBAMpB;WACN,MAAM;;WAEN;;WAEA;WACA;WACA;WACA;;;;;WAKA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,QAAQ,SAAS;;;iBAIX;WACN,MAAM;WACN;WACA;WACA;WACA;;WAEA;WACA,UAAU,SAAS,eAAe;;;iBAI5B;WACN,MAAM;WACN;WACA;WACA,qBAAqB;;WAErB;;WAEA;;WAEA;;;iBAIM;WACN,MAAM;WACN;WACA;WACA;;;iBAIM;WACN;aACE;aACA;aACA;aACA;aACA;aACA;aACA;;WAEF,eAAe;WACf,oBAAoB;WACpB,iBAAiB;WACjB,gBAAgB;;;qBAId,kBAAkB,SAAS,OAAO,eAAe;;wBAiC9C,WAAW,MAAM,aAAa;;wBAK9B,cAAc,OAAO,OAAO,QAAQ,SAAS;;wBAkB7C,cAAc,OAAO,OAAO,QAAQ,QAAQ,KAAK,WAAW;;iBAuC3D;;WAEN;;WAEA;;WAEA,QAAQ;;WAER,SAAS;;WAET,eAAe,SAAS;;;;;WAKxB,QAAQ;;;iBAIF;WACN,KAAK;;WAEL,gBAAgB;;WAEhB;;;wBAIK,UAAU,OAAO,OAAO,QAAQ,QAAQ,iBAAiB,qBAAqB,SAAS,kBAAkB;;iBAsFxG;WACN,KAAK;WACL,MAAM;;WAEN,SAAS;;;;;;wBAOJ,SACd,OAAO,OACP,UAAU,mBACV,iBACA;WAAmB,OAAO;WAAgB;GAC1C;WAAe;WAA0B;IACxC;;;;;wBA4Ba,oBAAoB,kBAAkB,OAAO;;;;;wBAc7C,SAAS,UAAS;EAAsB,QAAQ;EAAa,OAAO;;;;;;;;wBAoLpE,eACd,eAAe,YACf;EAAW,WAAW;EAAU,oBAAoB;EAAe,wBAAwB;EAAc;IACxG;;;;;wBA6Ba,YAAY,kBAAkB,eAAe;EAAW,WAAW;EAAU,oBAAoB;EAAe,wBAAwB;IAAsB;;wBAwC9J,cAAc,eAAe,aAAa;;;;;wBAgC1C,YAAY,oBAAoB,gBAAgB,aAAY,SAAS,OAAO,eAAe,gBAAmC;;wBA0B9H,WAAW,eAAe,aAAa;;qBAgB1C,eAAe,SAAS,OAAO;;;;;wBAY5B,gBAAgB,oBAAoB,gBAAgB,MAAM,MAAM;;wBAqBhE,aAAa,iBAAiB;;wBAY9B,YAAY,gBAAgB;;;;;wBAmB5B,kBAAkB,eAAe,YAAY,OAAM;;;;;UC3yBlD,wBAAwB,KAAK;;WAEnC;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;qBAIE,mBAAmB,SAAS,SAAS,KAAK;;;;;qBAM1C;;wBA4CG,QAAQ,MAAM,kBAAkB;;;;;;;;;wBAuMhC,aAAa,OAAO,cAAc,GAAG,SAAS,mBAAmB;;KC/QrE,cAAc,KAAK;;;;;;wBAOf,SAAS,OAAO,cAAc,SAAS,cAAc;;KCPzD,oBAAoB,KAAK;;;;;;wBAOrB,eAAe,OAAO,cAAc,SAAS,oBAAoB;;YCoBrE,aAAa,KAAK,KAAK;;qBAoBtB;WACF,UAAU;WACV,OAAO;WACP,SAAS,mBAAmB,aAAa;WACzC,kBAAkB,mBAAmB,aAAa;WAClD,QAAQ,mBAAmB,aAAa;WACxC,QAAQ,mBAAmB,aAAa;WACxC,cAAc,mBAAmB,aAAa;WAC9C,UAAU,mBAAmB,aAAa;WAC1C,iBAAiB,mBAAmB,aAAa;;;iBAkE3C;;WAEN;;;iBAIM;;WAEN;;;;;;iBAOM;;WAEN;;WAEA;;WAEA,KAAK;;WAEL;;;iBA+BM;;WAEN;;WAEA;;;iBAIM;;WAEN;;WAEA;;WAEA;;;;;;qBAOE;WACF,UAAU;WACV,SAAS,kBAAkB;WAC3B,QAAQ,kBAAkB;WAC1B,KAAK,kBAAkB;WACvB,QAAQ,kBAAkB;WAC1B,UAAU,kBAAkB;WAC5B,SAAS,kBAAkB;;;YA8D1B,aAAa,KAAK;;YAMlB,kBAAkB,KAAK,8BAA8B;;qBAGpD;WACF,QAAQ,iBAAiB;WACzB,OAAO,iBAAiB;WACxB,QAAQ,iBAAiB;;;qBAmBvB;WACF,UAAU,kBAAkB,SAAS;WACrC,MAAM,kBAAkB;WACxB,IAAI,kBAAkB,SAAS;WAC/B,KAAK,kBAAkB,SAAS;;;;;;qBAwC9B;WACF,MAAM,oBAAoB;WAC1B,eAAe,oBAAoB;WACnC,WAAW,oBAAoB;;;qBAgC7B,8BAA8B;;qBAS9B,YAAY;;;;;YCtVb,cAAc,QAAQ;;qBAGrB,wBAAwB;;iBAGpB;;WAEN,WAAW;;WAEX,UAAU,SAAS;;WAEnB;;;;;WAKA;aAAmB;aAAwB;;;WAE3C;;WAEA;;WAEA;;;iBAIM;WACN,MAAM;WACN;;WAEA;;WAEA;;;;;WAKA,QAAQ,SAAS;;WAEjB;;WAEA,SAAS;;WAET,OAAO;;WAEP,kBAAkB;;WAElB;;;iBAIM;WACN,MAAM;;WAEN,eAAe;;WAEf,qBAAqB;;WAErB;;WAEA;;;;;;;;;wBAUK,YAAY,MAAM,aAAa,OAAO,OAAO,UAAS,iBAAsB;;wBC5G5E,KAAK,eAAe;;wBAapB,UAAU;;;;;wBAuDV,cAAc;;;;;wBAcd,aAAa;;wBAMb,QAAQ;;wBAUR,SAAS,cAAc;;wBAKvB,WAAW;;wBAWX,OAAO;;YCzHX;;iBAGK;WACN;;WAEA,OAAO;;WAEP;WACA;;;YAIC;;;;;YAMA;WACG;WAAuB;WAAoB;WAAoB;WAAoB;;WACnF;WAA0B,iBAAiB;WAAwB,2BAA2B;;WAC9F;WAAyB;WAAqB;WAAqB;;WACnE;WAA0B;WAAqB;WAAqB;WAAqB;;;iBAGvF;WACN;WACA,QAAQ;;WAER;aAAkB;;;;iBAIZ;WACN;WACA;WACA;;WAEA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;WACA,iBAAiB;;WAEjB,QAAQ;;WAER,OAAO,SAAS;;;iBAIV;WACN;WACA;WACA;WACA;WACA;WACA,OAAO,SAAS;;;YAIf;;YAGA;;iBAGK;WACN;WACA;WACA,QAAQ,SAAS;WACjB;;;;;;iBAOM;WACN;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;iBAIM;WACN;WACA;;WAEA;;WAEA;;WAEA,QAAQ;;;iBAIF;;WAEN;WACA;WACA;WACA;;WAEA;WACA,SAAS;;WAET;;WAEA,YAAY;;WAEZ,SAAS;WACT,OAAO;;;;;;iBAOD,oBAAoB;WAC1B;;WAEA,QAAQ;;WAER,WAAW;;WAEX;WACA,YAAY;;WAEZ;;WAEA,qBAAqB;WACrB,gBAAgB;WAChB,gBAAgB;;;iBAIV;WACN;;WAEA;WACA;WACA;;WAEA,SAAS,SAAS;;WAElB;;WAEA;;WAEA;WACA;WACA;WACA;WACA;;WAEA,UAAU,SAAS;;WAEnB,MAAM,SAAS;;WAEf,YAAY,SAAS;;WAErB;;WAEA;;WAEA;;WAEA;;WAEA;;;YAIC;;iBAGK;WACN;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA,KAAK;WACL;;;;;;wBAkCK,WAAW,OAAO,OAAO,MAAM,kBAAkB;;;;wBA2CjD,aAAa,QAAQ;EAAW;EAAW;EAAW;EAAW;;;;;;;;wBAiBjE,WAAW,OAAO,cAAc;;;;;wBAqBhC,YAAY,OAAO;;wBAyBnB,YAAY,kBAAkB;;wBAK9B,WAAW,GAAG,eAAe;;;;;wBAW7B,SAAS;;;;;iBCnWR;;WAEN;;WAEA;;WAEA;WACA;WACA;;;;;WAKA;;;;;;;qBAmFE,mBAAmB;;wBAMhB,aAAa,cAAc;;wBAK3B,cAAc,eAAe;;wBAK7B,YAAY;;wBAKZ,gBAAgB,qBAAqB,cAAc;;iBCpHlD;WACN;;WAEA;;WAEA;;WAEA,OAAO,cAAc;;WAErB,YAAY,cAAc;;WAE1B,MAAM;;;iBAIA;;WAEN;WACA,mBAAmB;;;;;;;;qBA6BjB,WAAW;;qBAkCX,aAAa,SAAS,eAAe;;wBAGlC,QAAQ,aAAa,gBAAgB;;wBAKrC,aAAa,MAAK,YAAwB;;iBAOzC;WACN;WACA;WACA,QAAQ,SAAS;WACjB;;;iBAIM;WACN;WACA;WACA,gBAAgB;WAChB;aAA4B;aAAqB;aAAuB,MAAM;;;;wBAIzE,eAAe,gBAAgB,iBAAiB,gBAAgB;;;;;YC/FpE,aAAa;;qBAGZ,uBAAuB;;qBAGvB;;;;;YAMD;;qBAGC,uBAAuB;;qBAMvB,cAAc,SAAS,OAAO;;iBAQ1B;;WAEN,MAAM;;WAEN,kBAAkB;;WAElB;;;;;WAKA;;WAEA,UAAU,SAAS;;WAEnB;;;;;WAKA;;WAEA;;;;;WAKA,gBAAgB;;;;;WAKhB;;WAEA;;WAEA,uBAAuB;;WAEvB,OAAO;;;iBAID;WACN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA,MAAM,SAAS;;WAEf;;;;;WAKA;;WAEA,SAAS,SAAS;;WAElB;;WAEA;;;iBAIM,wBAAwB;WAC9B,IAAI;;WAEJ;;WAEA;;;iBAIM;WACN;WACA,MAAM;;WAEN;;WAEA,qBAAqB;;WAErB,qBAAqB;;WAErB;;WAEA;WACA,sBAAsB;;;iBAIhB;WACN,kBAAkB;WAClB,SAAS;;;wBAmGJ,cAAc;;;;;;;;;;;;wBAuBd,OAAO,MAAM,YAAY,uBAAsB,SAAS,yBAA8B,UAAS,gBAAqB;;wBA4JpH,aAAa,SAAS;;wBCzatB,UAAU,iBAAiB,YAAY;;iBAKtC;;WAEN;;;;;;;wBAQK,cAAc,cAAc,QAAQ,qBAAqB,eAAoB;;UCX5E,sBAAsB;;;;;WAK5B,SAAS;;WAET,YAAY;;;;;;;;;;;;;;;;wBAuDP,OAAO,OAAO,OAAO,MAAM,aAAa,UAAS,gBAAqB;;;;;;;;wBC3DtE,aAAa,QAAQ,SAAS;;;;;;wBCK9B,cAAc,kBAAkB,UAAU,oBAAoB,IAAI,UAAU,QAAQ,IAAI,gBAAe,gBAAqB;;;;;;wBAa5H,sBAAsB,kBAAkB,UAAU,oBAAoB,KAAK,mBAAmB;;;;;;wBCb9F,YAAY,OAAO,QAAQ;;wBAM3B,aAAa,OAAO,OAAO,eAAe;;;;;;wBAe1C,mBAAmB,OAAO,OAAO,QAAQ,OAAO,UAAU,SAAS;;wBASnE,gBAAgB,QAAQ,SAAS;;;;;wBAQjC,oBAAoB,kBAAkB,UAAU,mBAAmB,KAAK,mBAAmB;;;;;;;qBCI9F;;;EAQX,YAAY,gBAAgB,QAAQ,MAAM,KAAK;;;;;;EAqE/C,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO;;;wBAwE9B,kBAAkB,KAAK,KAAK,GAAG,QAAQ;;iBCnMtC;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;iBAIM;;WAEN;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;;iBAIM;WACN,QAAQ;WACR,QAAQ;;;;;;;;;;;;;;;;;wBA0CH,aAAa,OAAO,OAAO,QAAQ,QAAQ,UAAS,gBAAqB;;wBAoQzE,WAAW,QAAQ,QAAQ,UAAS,gBAAqB;;;;;wBAQzD,eAAe,kBAAkB,UAAU,mBAAmB,IAAI,SAAQ,gBAAqB,mBAAmB"}
|