From 8eb0dbf64ae7ffe00177c089691df20c439355bf Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Mon, 9 Mar 2026 03:19:01 -0700 Subject: [PATCH 1/5] style --- examples/06_bend_collision_models.png | Bin 43641 -> 43053 bytes inire/geometry/collision.py | 176 ++++++++---- inire/geometry/components.py | 398 ++++++++++++++++++-------- inire/geometry/primitives.py | 107 +++++-- inire/router/astar.py | 262 ++++++++++------- inire/router/cost.py | 91 ++++-- inire/router/danger_map.py | 105 +++++-- inire/router/pathfinder.py | 87 ++++-- inire/utils/validation.py | 32 ++- inire/utils/visualization.py | 45 +-- 10 files changed, 911 insertions(+), 392 deletions(-) diff --git a/examples/06_bend_collision_models.png b/examples/06_bend_collision_models.png index 9088508ea9dba641fcf96ed27caa6e78f2dee49e..09eeeead138218a3147424e5748d38c95715f90a 100644 GIT binary patch literal 43053 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

UoI%*wb}fO9K@S! zm32uq$VwB|YytlSF$e|x{Z*$)tDeGesNFo1i6ME!kOlTFCV3fu+4Yqv|FmVBG)wjC z0oTGK6kvzNFxceSxQ`~5ak8`HC6>$=>nrhoK9L~9yZ!Q7d0HAXhzB=9G{u7({Z4Ie zW7Fb39Ulo;QJ&4+1)p>lKk2{=DQR_jcJVJ?`1`L{;3_#KJ}r~M>A_v;U8}E^Em$QE zMlnRk#3>XIbNXmK2C+*KwvH5%8SsRJ*6t@8Ld*KDrX|4nd;S=wtLGtB^K^BNU=}H@ zm7SAgq}eW-{OEqlAaA8;HK6O`PGMt0v=cxasm`FFOdSrwFkzq!466 z^rMaV)8H~Pw0pL&v$I<q+YRktCH8C>|DrNC@F;ba{5O`{#K1IUsf#?Y7UmdKgC zJ2Q>CaSo=dV3r1JbX-((DxHl&iiwX(h&5e9`v)nV5|`Pqfk-&;G#m&CnuoODN|=EK zkS>?Q-0exjFn}pY*r>Q8eB!wv*~52`j9gCwPbU0zIFhW$E-w`WXFwJ!5vo*p7EW;o zImO4KV#H{e@4IG07=d#(1xI#{xq*-QrrwFx!{@t zgUGSTsav#q>7;b-CpF3x-u!xcr&>cNRxt$McY5}1ydaq`>2bJ1@5rz?r=e`Jx)yRA zoH`~-F3lP)gQTd;9j?U}z71va{s)F0_elvq}R5Lv2@6cqwD7W@Gc=?~VwSgkcW z8b;%7KPe{{CcWirl_j*v<(4dDmhJZB+0MA3e!K!B@r0>U=Ov6n)E#+gFs05sp+L#X z!pk@t+IstHE6I-;Wb_Q37N#)nVAyM-%&x_oGQc0c!yk^aI46&;MDOJhH!ESYP`XK+ z^&`r|H0FXQNv_r_XQ$JFfvzqBXqLE#-m5E|4xOKwVFn8xJw%iAwDHm`n4u5;RmU^c zEEd{=1<8KgfdO33hOLenS|>{Km?NnT{>0txv^Bu9BdHJbgw-Ik2~NUK&b9X!%hNlm z4<#hmT@#~Iuq_!&72Ut5+*Uxe(y6Y6OcKTrGNq0MdFb*42GISH0$V$6oOnVNt9wsY zwk~ebE_d3*+WH22*z29rNGwsqdm8{-^ov{`n=iv+sn^>__tFu^SjigN0U;E6+?oKQnNetvDXW7iy%{DAd z!A`y$-=7BJ-VOaC-ucY=&i)Sfs@=K!d=T~oj|2;Ov6jIdM!vrHoyC_h;;>et+N(B)cfZeF6wUN!1S%9pekCZP?^uBm%ML-?X= zYE~tizL!23d0mm=ex{Dk*zR4^wNJt2IyV0?KzrP4vjss=C=EU0{Uc$=rfW)h)_xLx zXuoQSp@^HQk+AUtyWMZ8cYB#Z2`P@RU2jlty?!_Z zS?ge5Amk8%K+eKKY`1U;41y_ryRu4;B_CqZp|^M@RTBuH?+wBJLw@=E&5M_5W~Eh= z4f4`H6w||P7ups+-VZnlK04;^N#$f=wR_X=TQ_bD(;3hVS9-I$Sark%F?nU-)$*v_ zQX{IbjPS=j&Xn^|#{WKT3~r4vvGA%T-qK>(QW=L?+TfVIH~q7f>LQAIm^%j27av{Q zD%xPE-L;m{kX?qX?o4jS!j+-OrKd~#>!LS#a`guExHaP&!SW6S^wSw^oZK*W!kND) zrZjWI+k;zKvRm3&n9Pifv)6rsQV~{Mi(FD-5|9R>VR`~Hq2+!BDA7XF#JRUEIx4Cj zVBs5eko}j(K=DL3$7S#6;5XXR;UVwIjvJ0@85(O(B?ywb61_2cwq=Yqc~(uGU6HL# zeM{!^^%~Bsr382FT9+Uir_zWzL$i-^nNmF({+a#wrg9i#VsI`v`10Q8=cvQCBDOwi z=@#OqJ;Fl$?E2RJu&V5>o2R0pYp9P1{rC}^Z1#{CheVbo#WDC7OHE5(hBL_N_T1d} z!~=Ch^J$Ez2Du^>6dCmcadpniog+>kos1vj?zoJU@>J_r%ktM=i~i0N`bz9K~iiG~>(1#YW9!6`6~MG4b#!DT0n*j8Ucs+lPZIFU5_9|5j~|mEjDo~6v27(5Ezu.A?+|GmzkiTIgO*=txm1RuSz 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 literal 43641 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 +-u4XsL8NQn z+TpJO_m!Lcd#ZZ?abV!{?~e6~2_WsYeG+{Oh>q;XWdub~Zq=FCp#3XIn=V5^^9PXc zK_xs{i`O3m%0~Mq531$NTtl${2&wu7gP*Zx0ELa7ohvUd|1kqk3%?nfnkq4$ZUI5F zNYD`7Wu)W48T@;Y@Eq z$6Qn$0py)SAqgBGs9`S=a??a!Aff|IWezSbuE#~PkOl+)h-s_yt3|XdZ8#+q4dofy z>4UNYgE=l+6)vq%k6PVnceB3(6*vRE?d{Hp?I0LFju$K@900K+URwpJX*vlYKifT` zT=h-lEC7i6CiE0jSODrMi|sm3IEiTo06XYq_?Cv(9o7<=Ge}-z1QH zab)1*c2&fd$FuE~4(|sxP}AN45wK-xgL?se$0yMT8Fb|bIUq1J2cj^GW^$ReATv4W z1ZhEL`;e)84Q=h{wKbRBH8&k$VPS|6`LCt#Zlt$x+_4QGb6QE(TtOwR8?4nEmVU{` zh0x7G4wS`_&&Me`J-y+$+nv6b!~zc<#Aj!>Wtwz5K-tzflj+#WN^XYHwUXVUt5w~Z zda{o?D+E@r%_VDYPqq@7o@TnqChmY76hr0nx}Y24QUT0O)*b5cUS33kuWuPmg9HXlJ=H9IA1K5v2?#?eT$aO{ zDWFfif9cWqyb)Oa;{ByTIvOx25m10@qdBk`;?D#%ow8due4Ml)!CF1?l(yZ#)U+Lf z*}q)kBmfKmksoVohz$X-`#B_3v#loNQRUK55)Q)hy;h@jNGon)auTxokaC`VGXf9{ zEW{#Zql1h7-=PEqyuNav>dhNfvd*7Sp>z;kgm+!A?Bney0>ops=`&@kLHrJ@>(_cz zCIG;g2ky5Ol;tK1_!6;hM6)Rdw*>{Ynk`ZRn>44o4&7IiO zEUGbR;DW?dt4VHeT!)53>il(5>EdX9jW6kuiYLdvS@3Kf_2anUDb8BjS^)B_EB(9M z{V-H(-i#CfnRf*g)tDsU@SavJJUp)`vgc zoys)@H=4Y&U>?Fca0VLuanN>^a5W+^ux7++#9z7ETD=!2E3~Espkzegq6zjA;LTDp z>v^Qo3l}}>`Ic%Ys3ud)3%!-6nLZjo-kD1bmJV3$qn*!pBhP^TXk7cfTfH&JnYRbn zCZ}0np+$#@p`pB#)LW>k&3!LAq!*y&h~7Wblb31E`E2#v?sR9Sc*#av`tk^yi(StO z4C@Y9o1lMmGF1To=#@uwMUyqKMRTi669GFwz_jH}^jKM_-DnUfM@;j!j8|4Lt&;l@ z?1u&onm=GtN;zvy(T#w;@Y;UH->+j0ADe(`AFZ_Be4l^`-vL9k>AqlmL4g{89TgN5 zS~%XF43ZWzD_nRT92`s#?@CqN@FY`(A57ip8!f*<=BFc++j4nA*2Vts?E}mqNM5{u z5TBZQ&t+?vy3-}DGK#A|&obT_W@%zt+H68ZrqiYkfI3&h46J_Rmxn{~Uk_9~fP2inu}1+Y2$Z{dg8*MD z0-^wK3xLGm@2|aw7O6YTWN&nJ6vyS~^T5I|8K7p`1iQsbJRn}3oz!l0*;+RD^rSR6 z&05;S_`-`}S%m&5xdvAOoPa&lC|>z?fOuRXV#5!fVP#_~eac94Ggtrs*%J`7TAJz( zUMLR<1mieb08NZ1>$ZpNw8S<8UH+U&kBu!m?q1pl$YAavmSXm7I`VBxXum`Fm|db` zHB=b%?`Uis05Xl)_ZNryKv%h_$YE`Rcb?P+3VGTB$U=jjY%w?_q)3XbsI?o|JA*bI z)Rm-+8y59w{{VKYV|(GpJML|odyZ9S{LnbC^_A*#AgPzlKKE#GY8#eKWP4o zcf?PjFx_#4Ndv$uCH=on-0CZoUS9BYIu!eDk*^^nTocI(fK~Eko&qK4{#POA{>yIv uXJ9vU{J(40p*QpIAa4JwJO2aSx#NQUfN8dg*Ox=RDIqE&l6FVy#eV~p^FV3< diff --git a/inire/geometry/collision.py b/inire/geometry/collision.py index 908a9f6..e2d79cc 100644 --- a/inire/geometry/collision.py +++ b/inire/geometry/collision.py @@ -1,24 +1,52 @@ from __future__ import annotations from typing import TYPE_CHECKING, Literal - import rtree -from shapely.geometry import Point, Polygon from shapely.prepared import prep if TYPE_CHECKING: + from shapely.geometry import Polygon from shapely.prepared import PreparedGeometry from inire.geometry.primitives import Port class CollisionEngine: - """Manages spatial queries for collision detection with unified dilation logic.""" + """ + Manages spatial queries for collision detection with unified dilation logic. + """ + __slots__ = ( + 'clearance', 'max_net_width', 'safety_zone_radius', + 'static_index', 'static_geometries', 'static_prepared', '_static_id_counter', + 'dynamic_index', 'dynamic_geometries', '_dynamic_id_counter' + ) - def __init__(self, clearance: float, max_net_width: float = 2.0, safety_zone_radius: float = 0.0021) -> None: + clearance: float + """ Minimum required distance between any two waveguides or obstacles """ + + max_net_width: float + """ Maximum width of any net in the session (used for pre-dilation) """ + + safety_zone_radius: float + """ Radius around ports where collisions are ignored """ + + def __init__( + self, + clearance: float, + max_net_width: float = 2.0, + safety_zone_radius: float = 0.0021, + ) -> None: + """ + Initialize the Collision Engine. + + Args: + clearance: Minimum required distance (um). + max_net_width: Maximum net width (um). + safety_zone_radius: Safety radius around ports (um). + """ self.clearance = clearance self.max_net_width = max_net_width self.safety_zone_radius = safety_zone_radius - + # Static obstacles: store raw geometries to avoid double-dilation self.static_index = rtree.index.Index() self.static_geometries: dict[int, Polygon] = {} # ID -> Polygon @@ -32,7 +60,12 @@ class CollisionEngine: self._dynamic_id_counter = 0 def add_static_obstacle(self, polygon: Polygon) -> None: - """Add a static obstacle (raw geometry) to the engine.""" + """ + Add a static obstacle (raw geometry) to the engine. + + Args: + polygon: Raw obstacle geometry. + """ obj_id = self._static_id_counter self._static_id_counter += 1 @@ -41,7 +74,13 @@ class CollisionEngine: self.static_index.insert(obj_id, polygon.bounds) def add_path(self, net_id: str, geometry: list[Polygon]) -> None: - """Add a net's routed path (raw geometry) to the dynamic index.""" + """ + Add a net's routed path (raw geometry) to the dynamic index. + + Args: + net_id: Identifier for the net. + geometry: List of raw polygons in the path. + """ for poly in geometry: obj_id = self._dynamic_id_counter self._dynamic_id_counter += 1 @@ -49,14 +88,24 @@ class CollisionEngine: self.dynamic_index.insert(obj_id, poly.bounds) def remove_path(self, net_id: str) -> None: - """Remove a net's path from the dynamic index.""" + """ + Remove a net's path from the dynamic index. + + Args: + net_id: Identifier for the net to remove. + """ to_remove = [obj_id for obj_id, (nid, _) in self.dynamic_geometries.items() if nid == net_id] for obj_id in to_remove: nid, poly = self.dynamic_geometries.pop(obj_id) self.dynamic_index.delete(obj_id, poly.bounds) def lock_net(self, net_id: str) -> None: - """Move a net's dynamic path to static obstacles permanently.""" + """ + Move a net's dynamic path to static obstacles permanently. + + Args: + net_id: Identifier for the net to lock. + """ to_move = [obj_id for obj_id, (nid, _) in self.dynamic_geometries.items() if nid == net_id] for obj_id in to_move: nid, poly = self.dynamic_geometries.pop(obj_id) @@ -64,59 +113,81 @@ class CollisionEngine: self.add_static_obstacle(poly) def is_collision( - self, - geometry: Polygon, - net_width: float = 2.0, - start_port: Port | None = None, - end_port: Port | None = None - ) -> bool: - """Alias for check_collision(buffer_mode='static') for backward compatibility.""" + self, + geometry: Polygon, + net_width: float = 2.0, + start_port: Port | None = None, + end_port: Port | None = None, + ) -> bool: + """ + Alias for check_collision(buffer_mode='static') for backward compatibility. + + Args: + geometry: Move geometry to check. + net_width: Width of the net (unused). + start_port: Starting port for safety check. + end_port: Ending port for safety check. + + Returns: + True if collision detected. + """ _ = net_width - res = self.check_collision(geometry, "default", buffer_mode="static", start_port=start_port, end_port=end_port) + res = self.check_collision(geometry, 'default', buffer_mode='static', start_port=start_port, end_port=end_port) return bool(res) def count_congestion(self, geometry: Polygon, net_id: str) -> int: - """Alias for check_collision(buffer_mode='congestion') for backward compatibility.""" - res = self.check_collision(geometry, net_id, buffer_mode="congestion") + """ + Alias for check_collision(buffer_mode='congestion') for backward compatibility. + + Args: + geometry: Move geometry to check. + net_id: Identifier for the net. + + Returns: + Number of overlapping nets. + """ + res = self.check_collision(geometry, net_id, buffer_mode='congestion') return int(res) def check_collision( - self, - geometry: Polygon, - net_id: str, - buffer_mode: Literal["static", "congestion"] = "static", - start_port: Port | None = None, - end_port: Port | None = None - ) -> bool | int: + self, + geometry: Polygon, + net_id: str, + buffer_mode: Literal['static', 'congestion'] = 'static', + start_port: Port | None = None, + end_port: Port | None = None, + ) -> bool | int: """ Check for collisions using unified dilation logic. - - If buffer_mode == "static": - Returns True if geometry collides with static obstacles (buffered by full clearance). - If buffer_mode == "congestion": - Returns count of other nets colliding with geometry (both buffered by clearance/2). + + Args: + geometry: Raw geometry to check. + net_id: Identifier for the net. + buffer_mode: 'static' (full clearance) or 'congestion' (shared). + start_port: Optional start port for safety zone. + end_port: Optional end port for safety zone. + + Returns: + Boolean if static, integer count if congestion. """ - if buffer_mode == "static": - # Buffered move vs raw static obstacle - # Distance must be >= clearance + if buffer_mode == 'static': test_poly = geometry.buffer(self.clearance) candidates = self.static_index.intersection(test_poly.bounds) - + for obj_id in candidates: if self.static_prepared[obj_id].intersects(test_poly): - # Safety zone check (using exact intersection area/bounds) if start_port or end_port: intersection = test_poly.intersection(self.static_geometries[obj_id]) if intersection.is_empty: continue - + ix_minx, ix_miny, ix_maxx, ix_maxy = intersection.bounds - + is_safe = False for p in [start_port, end_port]: - if p and (abs(ix_minx - p.x) < self.safety_zone_radius and + if p and (abs(ix_minx - p.x) < self.safety_zone_radius and abs(ix_maxx - p.x) < self.safety_zone_radius and - abs(ix_miny - p.y) < self.safety_zone_radius and + abs(ix_miny - p.y) < self.safety_zone_radius and abs(ix_maxy - p.y) < self.safety_zone_radius): is_safe = True break @@ -125,17 +196,14 @@ class CollisionEngine: return True return False - else: # buffer_mode == "congestion" - # Both paths buffered by clearance/2 => Total separation = clearance - dilation = self.clearance / 2.0 - test_poly = geometry.buffer(dilation) - candidates = self.dynamic_index.intersection(test_poly.bounds) - - count = 0 - for obj_id in candidates: - other_net_id, other_poly = self.dynamic_geometries[obj_id] - if other_net_id != net_id: - # Buffer the other path segment too - if test_poly.intersects(other_poly.buffer(dilation)): - count += 1 - return count + # buffer_mode == 'congestion' + dilation = self.clearance / 2.0 + test_poly = geometry.buffer(dilation) + candidates = self.dynamic_index.intersection(test_poly.bounds) + + count = 0 + for obj_id in candidates: + other_net_id, other_poly = self.dynamic_geometries[obj_id] + if other_net_id != net_id and test_poly.intersects(other_poly.buffer(dilation)): + count += 1 + return count diff --git a/inire/geometry/components.py b/inire/geometry/components.py index 82df9b5..595b9dd 100644 --- a/inire/geometry/components.py +++ b/inire/geometry/components.py @@ -1,37 +1,85 @@ from __future__ import annotations -from typing import NamedTuple, Literal, Any - -import numpy as np +from typing import Literal, cast, TYPE_CHECKING, Union, Any +import numpy from shapely.geometry import Polygon, box from shapely.ops import unary_union from .primitives import Port +if TYPE_CHECKING: + from collections.abc import Sequence + + # Search Grid Snap (1.0 µm) SEARCH_GRID_SNAP_UM = 1.0 def snap_search_grid(value: float) -> float: - """Snap a coordinate to the nearest search grid unit.""" + """ + Snap a coordinate to the nearest search grid unit. + + Args: + value: Value to snap. + + Returns: + Snapped value. + """ return round(value / SEARCH_GRID_SNAP_UM) * SEARCH_GRID_SNAP_UM -class ComponentResult(NamedTuple): - """The result of a component generation: geometry, final port, and physical length.""" +class ComponentResult: + """ + The result of a component generation: geometry, final port, and physical length. + """ + __slots__ = ('geometry', 'end_port', 'length') geometry: list[Polygon] + """ List of polygons representing the component geometry """ + end_port: Port + """ The final port after the component """ + length: float + """ Physical length of the component path """ + + def __init__( + self, + geometry: list[Polygon], + end_port: Port, + length: float, + ) -> None: + self.geometry = geometry + self.end_port = end_port + self.length = length class Straight: + """ + Move generator for straight waveguide segments. + """ @staticmethod - def generate(start_port: Port, length: float, width: float, snap_to_grid: bool = True) -> ComponentResult: - """Generate a straight waveguide segment.""" - rad = np.radians(start_port.orientation) - dx = length * np.cos(rad) - dy = length * np.sin(rad) + def generate( + start_port: Port, + length: float, + width: float, + snap_to_grid: bool = True, + ) -> ComponentResult: + """ + Generate a straight waveguide segment. + + Args: + start_port: Port to start from. + length: Requested length. + width: Waveguide width. + snap_to_grid: Whether to snap the end port to the search grid. + + Returns: + A ComponentResult containing the straight segment. + """ + rad = numpy.radians(start_port.orientation) + dx = length * numpy.cos(rad) + dy = length * numpy.sin(rad) ex = start_port.x + dx ey = start_port.y + dy @@ -41,7 +89,7 @@ class Straight: ey = snap_search_grid(ey) end_port = Port(ex, ey, start_port.orientation) - actual_length = np.sqrt((end_port.x - start_port.x)**2 + (end_port.y - start_port.y)**2) + actual_length = numpy.sqrt((end_port.x - start_port.x)**2 + (end_port.y - start_port.y)**2) # Create polygon half_w = width / 2.0 @@ -49,8 +97,8 @@ class Straight: points = [(0, half_w), (actual_length, half_w), (actual_length, -half_w), (0, -half_w)] # Transform points - cos_val = np.cos(rad) - sin_val = np.sin(rad) + cos_val = numpy.cos(rad) + sin_val = numpy.sin(rad) poly_points = [] for px, py in points: tx = start_port.x + px * cos_val - py * sin_val @@ -61,38 +109,156 @@ class Straight: def _get_num_segments(radius: float, angle_deg: float, sagitta: float = 0.01) -> int: - """Calculate number of segments for an arc to maintain a maximum sagitta.""" + """ + Calculate number of segments for an arc to maintain a maximum sagitta. + + Args: + radius: Arc radius. + angle_deg: Total angle turned. + sagitta: Maximum allowed deviation. + + Returns: + Minimum number of segments needed. + """ if radius <= 0: return 1 ratio = max(0.0, min(1.0, 1.0 - sagitta / radius)) - theta_max = 2.0 * np.arccos(ratio) + theta_max = 2.0 * numpy.arccos(ratio) if theta_max < 1e-9: return 16 - num = int(np.ceil(np.radians(abs(angle_deg)) / theta_max)) + num = int(numpy.ceil(numpy.radians(abs(angle_deg)) / theta_max)) return max(8, num) -def _get_arc_polygons(cx: float, cy: float, radius: float, width: float, t_start: float, t_end: float, sagitta: float = 0.01) -> list[Polygon]: - """Helper to generate arc-shaped polygons.""" - num_segments = _get_num_segments(radius, float(np.degrees(abs(t_end - t_start))), sagitta) - angles = np.linspace(t_start, t_end, num_segments + 1) +def _get_arc_polygons( + cx: float, + cy: float, + radius: float, + width: float, + t_start: float, + t_end: float, + sagitta: float = 0.01, + ) -> list[Polygon]: + """ + Helper to generate arc-shaped polygons. + + Args: + cx, cy: Center coordinates. + radius: Arc radius. + width: Waveguide width. + t_start, t_end: Start and end angles (radians). + sagitta: Geometric fidelity. + + Returns: + List containing the arc polygon. + """ + num_segments = _get_num_segments(radius, float(numpy.degrees(abs(t_end - t_start))), sagitta) + angles = numpy.linspace(t_start, t_end, num_segments + 1) inner_radius = radius - width / 2.0 outer_radius = radius + width / 2.0 - inner_points = [(cx + inner_radius * np.cos(a), cy + inner_radius * np.sin(a)) for a in angles] - outer_points = [(cx + outer_radius * np.cos(a), cy + outer_radius * np.sin(a)) for a in reversed(angles)] + inner_points = [(cx + inner_radius * numpy.cos(a), cy + inner_radius * numpy.sin(a)) for a in angles] + outer_points = [(cx + outer_radius * numpy.cos(a), cy + outer_radius * numpy.sin(a)) for a in reversed(angles)] return [Polygon(inner_points + outer_points)] +def _clip_bbox( + bbox: Polygon, + cx: float, + cy: float, + radius: float, + width: float, + clip_margin: float, + arc_poly: Polygon, + ) -> Polygon: + """ + Clips corners of a bounding box for better collision modeling. + + Args: + bbox: Initial bounding box. + cx, cy: Arc center. + radius: Arc radius. + width: Waveguide width. + clip_margin: Minimum distance from waveguide. + arc_poly: The original arc polygon. + + Returns: + The clipped polygon. + """ + res_poly = bbox + # Determine quadrant signs from arc centroid relative to center + ac = arc_poly.centroid + qsx = 1.0 if ac.x >= cx else -1.0 + qsy = 1.0 if ac.y >= cy else -1.0 + + r_out_cut = radius + width / 2.0 + clip_margin + r_in_cut = radius - width / 2.0 - clip_margin + + minx, miny, maxx, maxy = bbox.bounds + corners = [(minx, miny), (minx, maxy), (maxx, miny), (maxx, maxy)] + for px, py in corners: + dx, dy = px - cx, py - cy + dist = numpy.sqrt(dx**2 + dy**2) + + # Check if corner is far enough to be clipped + if dist > r_out_cut: + # Outer corner: remove part furthest from center + # To be conservative, line is at distance r_out_cut from center. + # Equation: sx*x + sy*y = sx*cx + sy*cy + r_out_cut * sqrt(2) + d_line = r_out_cut * numpy.sqrt(2) + elif r_in_cut > 0 and dist < r_in_cut: + # Inner corner: remove part closest to center + # To be safe, line intercept must not exceed r_in_cut. + # Equation: sx*x + sy*y = sx*cx + sy*cy + r_in_cut + d_line = r_in_cut + else: + continue + + # Normal vector components from center to corner + # Using rounded signs for stability + sx = 1.0 if dx > 1e-6 else (-1.0 if dx < -1e-6 else qsx) + sy = 1.0 if dy > 1e-6 else (-1.0 if dy < -1e-6 else qsy) + + # val calculation based on d_line + val = sx * cx + sy * cy + d_line + + try: + # Create a triangle to remove. + # Vertices: corner, intersection with x=px edge, intersection with y=py edge + p1 = (px, py) + p2 = (px, (val - sx * px) / sy) + p3 = ((val - sy * py) / sx, py) + + triangle = Polygon([p1, p2, p3]) + if triangle.is_valid and triangle.area > 1e-9: + res_poly = cast('Polygon', res_poly.difference(triangle)) + except ZeroDivisionError: + continue + return res_poly + + def _apply_collision_model( - arc_poly: Polygon, - collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon, - radius: float, - width: float, - cx: float = 0.0, - cy: float = 0.0, - clip_margin: float = 10.0 -) -> list[Polygon]: - """Applies the specified collision model to an arc geometry.""" + arc_poly: Polygon, + collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon, + radius: float, + width: float, + cx: float = 0.0, + cy: float = 0.0, + clip_margin: float = 10.0, + ) -> list[Polygon]: + """ + Applies the specified collision model to an arc geometry. + + Args: + arc_poly: High-fidelity arc. + collision_type: Model type or custom polygon. + radius: Arc radius. + width: Waveguide width. + cx, cy: Arc center. + clip_margin: Safety margin for clipping. + + Returns: + List of polygons representing the collision model. + """ if isinstance(collision_type, Polygon): return [collision_type] @@ -107,75 +273,50 @@ def _apply_collision_model( return [bbox] if collision_type == "clipped_bbox": - res_poly = bbox - - # Determine quadrant signs from arc centroid relative to center - # This ensures we always cut 'into' the box correctly - ac = arc_poly.centroid - sx = 1.0 if ac.x >= cx else -1.0 - sy = 1.0 if ac.y >= cy else -1.0 - - r_out_cut = radius + width / 2.0 + clip_margin - r_in_cut = radius - width / 2.0 - clip_margin - - corners = [(minx, miny), (minx, maxy), (maxx, miny), (maxx, maxy)] - for px, py in corners: - dx, dy = px - cx, py - cy - dist = np.sqrt(dx**2 + dy**2) - - if dist > r_out_cut: - # Outer corner: remove part furthest from center - # We want minimum distance to line to be r_out_cut - d_cut = r_out_cut * np.sqrt(2) - elif r_in_cut > 0 and dist < r_in_cut: - # Inner corner: remove part closest to center - # We want maximum distance to line to be r_in_cut - d_cut = r_in_cut - else: - continue - - # The cut line is sx*(x-cx) + sy*(y-cy) = d_cut - # sx*x + sy*y = sx*cx + sy*cy + d_cut - val = cx * sx + cy * sy + d_cut - - try: - p1 = (px, py) - p2 = (px, (val - sx * px) / sy) - p3 = ((val - sy * py) / sx, py) - - triangle = Polygon([p1, p2, p3]) - if triangle.is_valid and triangle.area > 1e-9: - res_poly = res_poly.difference(triangle) - except ZeroDivisionError: - continue - - return [res_poly] + return [_clip_bbox(bbox, cx, cy, radius, width, clip_margin, arc_poly)] return [arc_poly] class Bend90: + """ + Move generator for 90-degree bends. + """ @staticmethod def generate( - start_port: Port, - radius: float, - width: float, - direction: str = "CW", - sagitta: float = 0.01, - collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", - clip_margin: float = 10.0 - ) -> ComponentResult: - """Generate a 90-degree bend.""" - turn_angle = -90 if direction == "CW" else 90 - rad_start = np.radians(start_port.orientation) - c_angle = rad_start + (np.pi / 2 if direction == "CCW" else -np.pi / 2) - cx = start_port.x + radius * np.cos(c_angle) - cy = start_port.y + radius * np.sin(c_angle) - t_start = c_angle + np.pi - t_end = t_start + (np.pi / 2 if direction == "CCW" else -np.pi / 2) + start_port: Port, + radius: float, + width: float, + direction: str = "CW", + sagitta: float = 0.01, + collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", + clip_margin: float = 10.0, + ) -> ComponentResult: + """ + Generate a 90-degree bend. - ex = snap_search_grid(cx + radius * np.cos(t_end)) - ey = snap_search_grid(cy + radius * np.sin(t_end)) + Args: + start_port: Port to start from. + radius: Bend radius. + width: Waveguide width. + direction: "CW" or "CCW". + sagitta: Geometric fidelity. + collision_type: Collision model. + clip_margin: Margin for clipped_bbox. + + Returns: + A ComponentResult containing the bend. + """ + turn_angle = -90 if direction == "CW" else 90 + rad_start = numpy.radians(start_port.orientation) + c_angle = rad_start + (numpy.pi / 2 if direction == "CCW" else -numpy.pi / 2) + cx = start_port.x + radius * numpy.cos(c_angle) + cy = start_port.y + radius * numpy.sin(c_angle) + t_start = c_angle + numpy.pi + t_end = t_start + (numpy.pi / 2 if direction == "CCW" else -numpy.pi / 2) + + ex = snap_search_grid(cx + radius * numpy.cos(t_end)) + ey = snap_search_grid(cy + radius * numpy.sin(t_end)) end_port = Port(ex, ey, float((start_port.orientation + turn_angle) % 360)) arc_polys = _get_arc_polygons(cx, cy, radius, width, t_start, t_end, sagitta) @@ -183,55 +324,72 @@ class Bend90: arc_polys[0], collision_type, radius, width, cx, cy, clip_margin ) - return ComponentResult(geometry=collision_polys, end_port=end_port, length=radius * np.pi / 2.0) + return ComponentResult(geometry=collision_polys, end_port=end_port, length=radius * numpy.pi / 2.0) class SBend: + """ + Move generator for parametric S-bends. + """ @staticmethod def generate( - start_port: Port, - offset: float, - radius: float, - width: float, - sagitta: float = 0.01, - collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", - clip_margin: float = 10.0 - ) -> ComponentResult: - """Generate a parametric S-bend (two tangent arcs).""" + start_port: Port, + offset: float, + radius: float, + width: float, + sagitta: float = 0.01, + collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", + clip_margin: float = 10.0, + ) -> ComponentResult: + """ + Generate a parametric S-bend (two tangent arcs). + + Args: + start_port: Port to start from. + offset: Lateral offset. + radius: Arc radii. + width: Waveguide width. + sagitta: Geometric fidelity. + collision_type: Collision model. + clip_margin: Margin for clipped_bbox. + + Returns: + A ComponentResult containing the S-bend. + """ if abs(offset) >= 2 * radius: raise ValueError(f"SBend offset {offset} must be less than 2*radius {2 * radius}") - theta = np.arccos(1 - abs(offset) / (2 * radius)) - dx = 2 * radius * np.sin(theta) + theta = numpy.arccos(1 - abs(offset) / (2 * radius)) + dx = 2 * radius * numpy.sin(theta) dy = offset - rad_start = np.radians(start_port.orientation) - ex = snap_search_grid(start_port.x + dx * np.cos(rad_start) - dy * np.sin(rad_start)) - ey = snap_search_grid(start_port.y + dx * np.sin(rad_start) + dy * np.cos(rad_start)) + rad_start = numpy.radians(start_port.orientation) + ex = snap_search_grid(start_port.x + dx * numpy.cos(rad_start) - dy * numpy.sin(rad_start)) + ey = snap_search_grid(start_port.y + dx * numpy.sin(rad_start) + dy * numpy.cos(rad_start)) end_port = Port(ex, ey, start_port.orientation) direction = 1 if offset > 0 else -1 - c1_angle = rad_start + direction * np.pi / 2 - cx1 = start_port.x + radius * np.cos(c1_angle) - cy1 = start_port.y + radius * np.sin(c1_angle) - ts1, te1 = c1_angle + np.pi, c1_angle + np.pi + direction * theta + c1_angle = rad_start + direction * numpy.pi / 2 + cx1 = start_port.x + radius * numpy.cos(c1_angle) + cy1 = start_port.y + radius * numpy.sin(c1_angle) + ts1, te1 = c1_angle + numpy.pi, c1_angle + numpy.pi + direction * theta - ex_raw = start_port.x + dx * np.cos(rad_start) - dy * np.sin(rad_start) - ey_raw = start_port.y + dx * np.sin(rad_start) + dy * np.cos(rad_start) - c2_angle = rad_start - direction * np.pi / 2 - cx2 = ex_raw + radius * np.cos(c2_angle) - cy2 = ey_raw + radius * np.sin(c2_angle) - te2 = c2_angle + np.pi + ex_raw = start_port.x + dx * numpy.cos(rad_start) - dy * numpy.sin(rad_start) + ey_raw = start_port.y + dx * numpy.sin(rad_start) + dy * numpy.cos(rad_start) + c2_angle = rad_start - direction * numpy.pi / 2 + cx2 = ex_raw + radius * numpy.cos(c2_angle) + cy2 = ey_raw + radius * numpy.sin(c2_angle) + te2 = c2_angle + numpy.pi ts2 = te2 + direction * theta arc1 = _get_arc_polygons(cx1, cy1, radius, width, ts1, te1, sagitta)[0] arc2 = _get_arc_polygons(cx2, cy2, radius, width, ts2, te2, sagitta)[0] - combined_arc = unary_union([arc1, arc2]) if collision_type == "clipped_bbox": col1 = _apply_collision_model(arc1, collision_type, radius, width, cx1, cy1, clip_margin) col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin) - collision_polys = [unary_union(col1 + col2)] + collision_polys = [cast('Polygon', unary_union(col1 + col2))] else: + combined_arc = cast('Polygon', unary_union([arc1, arc2])) collision_polys = _apply_collision_model( combined_arc, collision_type, radius, width, 0, 0, clip_margin ) diff --git a/inire/geometry/primitives.py b/inire/geometry/primitives.py index 74d2dc0..7128dfb 100644 --- a/inire/geometry/primitives.py +++ b/inire/geometry/primitives.py @@ -1,50 +1,111 @@ from __future__ import annotations -from dataclasses import dataclass -import numpy as np + +import numpy + # 1nm snap (0.001 µm) GRID_SNAP_UM = 0.001 + def snap_nm(value: float) -> float: - """Snap a coordinate to the nearest 1nm (0.001 um).""" + """ + Snap a coordinate to the nearest 1nm (0.001 um). + + Args: + value: Coordinate value to snap. + + Returns: + Snapped coordinate value. + """ return round(value / GRID_SNAP_UM) * GRID_SNAP_UM -@dataclass(frozen=True) -class Port: - """A port defined by (x, y, orientation) in micrometers.""" - x: float - y: float - orientation: float # Degrees: 0, 90, 180, 270 - def __post_init__(self) -> None: +class Port: + """ + A port defined by (x, y, orientation) in micrometers. + """ + __slots__ = ('x', 'y', 'orientation') + + x: float + """ x-coordinate in micrometers """ + + y: float + """ y-coordinate in micrometers """ + + orientation: float + """ Orientation in degrees: 0, 90, 180, 270 """ + + def __init__( + self, + x: float, + y: float, + orientation: float, + ) -> None: + """ + Initialize and snap a Port. + + Args: + x: Initial x-coordinate. + y: Initial y-coordinate. + orientation: Initial orientation in degrees. + """ # Snap x, y to 1nm - # We need to use object.__setattr__ because the dataclass is frozen. - snapped_x = snap_nm(self.x) - snapped_y = snap_nm(self.y) + self.x = snap_nm(x) + self.y = snap_nm(y) # Ensure orientation is one of {0, 90, 180, 270} - norm_orientation = int(round(self.orientation)) % 360 + norm_orientation = int(round(orientation)) % 360 if norm_orientation not in {0, 90, 180, 270}: norm_orientation = (round(norm_orientation / 90) * 90) % 360 - object.__setattr__(self, "x", snapped_x) - object.__setattr__(self, "y", snapped_y) - object.__setattr__(self, "orientation", float(norm_orientation)) + self.orientation = float(norm_orientation) + + def __repr__(self) -> str: + return f'Port(x={self.x}, y={self.y}, orientation={self.orientation})' + + def __eq__(self, other: object) -> bool: + if not isinstance(other, Port): + return False + return (self.x == other.x and + self.y == other.y and + self.orientation == other.orientation) + + def __hash__(self) -> int: + return hash((self.x, self.y, self.orientation)) def translate_port(port: Port, dx: float, dy: float) -> Port: - """Translate a port by (dx, dy).""" + """ + Translate a port by (dx, dy). + + Args: + port: Port to translate. + dx: x-offset. + dy: y-offset. + + Returns: + A new translated Port. + """ return Port(port.x + dx, port.y + dy, port.orientation) def rotate_port(port: Port, angle: float, origin: tuple[float, float] = (0, 0)) -> Port: - """Rotate a port by a multiple of 90 degrees around an origin.""" + """ + Rotate a port by a multiple of 90 degrees around an origin. + + Args: + port: Port to rotate. + angle: Angle to rotate by (degrees). + origin: (x, y) origin to rotate around. + + Returns: + A new rotated Port. + """ ox, oy = origin px, py = port.x, port.y - rad = np.radians(angle) - qx = ox + np.cos(rad) * (px - ox) - np.sin(rad) * (py - oy) - qy = oy + np.sin(rad) * (px - ox) + np.cos(rad) * (py - oy) + rad = numpy.radians(angle) + qx = ox + numpy.cos(rad) * (px - ox) - numpy.sin(rad) * (py - oy) + qy = oy + numpy.sin(rad) * (px - ox) + numpy.cos(rad) * (py - oy) return Port(qx, qy, port.orientation + angle) - diff --git a/inire/router/astar.py b/inire/router/astar.py index 93df12e..754049f 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -2,9 +2,10 @@ from __future__ import annotations import heapq import logging +import functools from typing import TYPE_CHECKING, Literal -import numpy as np +import numpy from inire.geometry.components import Bend90, SBend, Straight from inire.router.config import RouterConfig @@ -17,17 +18,44 @@ if TYPE_CHECKING: logger = logging.getLogger(__name__) +@functools.total_ordering class AStarNode: + """ + A node in the A* search graph. + """ + __slots__ = ('port', 'g_cost', 'h_cost', 'f_cost', 'parent', 'component_result', 'count') + + port: Port + """ Port representing the state at this node """ + + g_cost: float + """ Actual cost from start to this node """ + + h_cost: float + """ Heuristic cost from this node to target """ + + f_cost: float + """ Total estimated cost (g + h) """ + + parent: AStarNode | None + """ Parent node in the search tree """ + + component_result: ComponentResult | None + """ The component move that led to this node """ + + count: int + """ Unique insertion order for tie-breaking """ + _count = 0 def __init__( - self, - port: Port, - g_cost: float, - h_cost: float, - parent: AStarNode | None = None, - component_result: ComponentResult | None = None, - ) -> None: + self, + port: Port, + g_cost: float, + h_cost: float, + parent: AStarNode | None = None, + component_result: ComponentResult | None = None, + ) -> None: self.port = port self.g_cost = g_cost self.h_cost = h_cost @@ -45,39 +73,62 @@ class AStarNode: return self.h_cost < other.h_cost return self.count < other.count + def __eq__(self, other: object) -> bool: + if not isinstance(other, AStarNode): + return False + return self.count == other.count + class AStarRouter: - """Hybrid State-Lattice A* Router.""" + """ + Hybrid State-Lattice A* Router. + """ + __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache') + + cost_evaluator: CostEvaluator + """ The evaluator for path and proximity costs """ + + config: RouterConfig + """ Search configuration parameters """ + + node_limit: int + """ Maximum nodes to expand before failure """ + + total_nodes_expanded: int + """ Counter for debugging/profiling """ + + _collision_cache: dict[tuple[float, float, float, str, float, str], bool] + """ Internal cache for move collision checks """ def __init__( - self, - cost_evaluator: CostEvaluator, - node_limit: int = 1000000, - straight_lengths: list[float] | None = None, - bend_radii: list[float] | None = None, - sbend_offsets: list[float] | None = None, - sbend_radii: list[float] | None = None, - snap_to_target_dist: float = 20.0, - bend_penalty: float = 50.0, - sbend_penalty: float = 100.0, - bend_collision_type: Literal["arc", "bbox", "clipped_bbox"] = "arc", - bend_clip_margin: float = 10.0, - ) -> None: + self, + cost_evaluator: CostEvaluator, + node_limit: int = 1000000, + straight_lengths: list[float] | None = None, + bend_radii: list[float] | None = None, + sbend_offsets: list[float] | None = None, + sbend_radii: list[float] | None = None, + snap_to_target_dist: float = 20.0, + bend_penalty: float = 50.0, + sbend_penalty: float = 100.0, + bend_collision_type: Literal['arc', 'bbox', 'clipped_bbox'] = 'arc', + bend_clip_margin: float = 10.0, + ) -> None: """ Initialize the A* Router. Args: - cost_evaluator: The evaluator for path and proximity costs. - node_limit: Maximum number of nodes to expand before failing. - straight_lengths: List of lengths for straight move expansion. - bend_radii: List of radii for 90-degree bend moves. - sbend_offsets: List of lateral offsets for S-bend moves. - sbend_radii: List of radii for S-bend moves. - snap_to_target_dist: Distance threshold for lookahead snapping. - bend_penalty: Flat cost penalty for each 90-degree bend. - sbend_penalty: Flat cost penalty for each S-bend. - bend_collision_type: Type of collision model for bends ('arc', 'bbox', 'clipped_bbox'). - bend_clip_margin: Margin for 'clipped_bbox' collision model. + cost_evaluator: Path cost evaluator. + node_limit: Node expansion limit. + straight_lengths: Allowed straight lengths (um). + bend_radii: Allowed 90-deg radii (um). + sbend_offsets: Allowed S-bend lateral offsets (um). + sbend_radii: Allowed S-bend radii (um). + snap_to_target_dist: Radius for target lookahead (um). + bend_penalty: Penalty for 90-degree turns. + sbend_penalty: Penalty for S-bends. + bend_collision_type: Collision model for bends. + bend_clip_margin: Margin for clipped_bbox model. """ self.cost_evaluator = cost_evaluator self.config = RouterConfig( @@ -94,10 +145,27 @@ class AStarRouter: ) self.node_limit = self.config.node_limit self.total_nodes_expanded = 0 - self._collision_cache: dict[tuple[float, float, float, str, float, str], bool] = {} + self._collision_cache = {} - def route(self, start: Port, target: Port, net_width: float, net_id: str = "default") -> list[ComponentResult] | None: - """Route a single net using A*.""" + def route( + self, + start: Port, + target: Port, + net_width: float, + net_id: str = 'default', + ) -> list[ComponentResult] | None: + """ + Route a single net using A*. + + Args: + start: Starting port. + target: Target port. + net_width: Waveguide width (um). + net_id: Optional net identifier. + + Returns: + List of moves forming the path, or None if failed. + """ self._collision_cache.clear() open_set: list[AStarNode] = [] # Key: (x, y, orientation) rounded to 1nm @@ -110,7 +178,7 @@ class AStarRouter: while open_set: if nodes_expanded >= self.node_limit: - logger.warning(f" AStar failed: node limit {self.node_limit} reached.") + logger.warning(f' AStar failed: node limit {self.node_limit} reached.') return None current = heapq.heappop(open_set) @@ -120,19 +188,17 @@ class AStarRouter: if state in closed_set: continue closed_set.add(state) - + nodes_expanded += 1 self.total_nodes_expanded += 1 if nodes_expanded % 5000 == 0: - logger.info(f"Nodes expanded: {nodes_expanded}, current port: {current.port}, g: {current.g_cost:.1f}, h: {current.h_cost:.1f}") + logger.info(f'Nodes expanded: {nodes_expanded}, current: {current.port}, g: {current.g_cost:.1f}') # Check if we reached the target exactly - if ( - abs(current.port.x - target.x) < 1e-6 - and abs(current.port.y - target.y) < 1e-6 - and abs(current.port.orientation - target.orientation) < 0.1 - ): + if (abs(current.port.x - target.x) < 1e-6 and + abs(current.port.y - target.y) < 1e-6 and + abs(current.port.orientation - target.orientation) < 0.1): return self._reconstruct_path(current) # Expansion @@ -141,47 +207,47 @@ class AStarRouter: return None def _expand_moves( - self, - current: AStarNode, - target: Port, - net_width: float, - net_id: str, - open_set: list[AStarNode], - closed_set: set[tuple[float, float, float]], - ) -> None: + self, + current: AStarNode, + target: Port, + net_width: float, + net_id: str, + open_set: list[AStarNode], + closed_set: set[tuple[float, float, float]], + ) -> None: # 1. Snap-to-Target Look-ahead - dist = np.sqrt((current.port.x - target.x) ** 2 + (current.port.y - target.y) ** 2) + dist = numpy.sqrt((current.port.x - target.x)**2 + (current.port.y - target.y)**2) if dist < self.config.snap_to_target_dist: # A. Try straight exact reach if abs(current.port.orientation - target.orientation) < 0.1: - rad = np.radians(current.port.orientation) + rad = numpy.radians(current.port.orientation) dx = target.x - current.port.x dy = target.y - current.port.y - proj = dx * np.cos(rad) + dy * np.sin(rad) - perp = -dx * np.sin(rad) + dy * np.cos(rad) + proj = dx * numpy.cos(rad) + dy * numpy.sin(rad) + perp = -dx * numpy.sin(rad) + dy * numpy.cos(rad) if proj > 0 and abs(perp) < 1e-6: res = Straight.generate(current.port, proj, net_width, snap_to_grid=False) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, "SnapStraight") - + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, 'SnapStraight') + # B. Try SBend exact reach if abs(current.port.orientation - target.orientation) < 0.1: - rad = np.radians(current.port.orientation) + rad = numpy.radians(current.port.orientation) dx = target.x - current.port.x dy = target.y - current.port.y - proj = dx * np.cos(rad) + dy * np.sin(rad) - perp = -dx * np.sin(rad) + dy * np.cos(rad) + proj = dx * numpy.cos(rad) + dy * numpy.sin(rad) + perp = -dx * numpy.sin(rad) + dy * numpy.cos(rad) if proj > 0 and 0.5 <= abs(perp) < 20.0: for radius in self.config.sbend_radii: try: res = SBend.generate( - current.port, - perp, - radius, + current.port, + perp, + radius, net_width, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin ) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, "SnapSBend", move_radius=radius) + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, 'SnapSBend', move_radius=radius) except ValueError: pass @@ -190,52 +256,52 @@ class AStarRouter: if dist < 5.0: fine_steps = [0.1, 0.5] lengths = sorted(set(lengths + fine_steps)) - + for length in lengths: res = Straight.generate(current.port, length, net_width) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f"S{length}") + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'S{length}') # 3. Lattice Bends for radius in self.config.bend_radii: - for direction in ["CW", "CCW"]: + for direction in ['CW', 'CCW']: res = Bend90.generate( - current.port, - radius, - net_width, + current.port, + radius, + net_width, direction, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin ) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f"B{radius}{direction}", move_radius=radius) + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'B{radius}{direction}', move_radius=radius) # 4. Discrete SBends for offset in self.config.sbend_offsets: for radius in self.config.sbend_radii: try: res = SBend.generate( - current.port, - offset, - radius, + current.port, + offset, + radius, net_width, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin ) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f"SB{offset}R{radius}", move_radius=radius) + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) except ValueError: pass def _add_node( - self, - parent: AStarNode, - result: ComponentResult, - target: Port, - net_width: float, - net_id: str, - open_set: list[AStarNode], - closed_set: set[tuple[float, float, float]], - move_type: str, - move_radius: float | None = None, - ) -> None: + self, + parent: AStarNode, + result: ComponentResult, + target: Port, + net_width: float, + net_id: str, + open_set: list[AStarNode], + closed_set: set[tuple[float, float, float]], + move_type: str, + move_radius: float | None = None, + ) -> None: # Check closed set before adding to open set state = (round(result.end_port.x, 3), round(result.end_port.y, 3), round(result.end_port.orientation, 2)) if state in closed_set: @@ -256,7 +322,7 @@ class AStarRouter: hard_coll = False for poly in result.geometry: if self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode="static", start_port=parent.port, end_port=result.end_port + poly, net_id, buffer_mode='static', start_port=parent.port, end_port=result.end_port ): hard_coll = True break @@ -268,7 +334,7 @@ class AStarRouter: dilation = self.cost_evaluator.collision_engine.clearance / 2.0 for move_poly in result.geometry: dilated_move = move_poly.buffer(dilation) - curr_p = parent + curr_p: AStarNode | None = parent seg_idx = 0 while curr_p and curr_p.component_result and seg_idx < 100: if seg_idx > 0: @@ -278,7 +344,7 @@ class AStarRouter: dilated_move.bounds[1] > prev_poly.bounds[3] + dilation or \ dilated_move.bounds[3] < prev_poly.bounds[1] - dilation: continue - + dilated_prev = prev_poly.buffer(dilation) if dilated_move.intersects(dilated_prev): overlap = dilated_move.intersection(dilated_prev) @@ -288,10 +354,10 @@ class AStarRouter: seg_idx += 1 move_cost = self.cost_evaluator.evaluate_move( - result.geometry, - result.end_port, - net_width, - net_id, + result.geometry, + result.end_port, + net_width, + net_id, start_port=parent.port, length=result.length ) @@ -301,15 +367,15 @@ class AStarRouter: # Turn penalties scaled by radius to favor larger turns ref_radius = 10.0 - if "B" in move_type and move_radius is not None: + if 'B' in move_type and move_radius is not None: penalty_factor = ref_radius / move_radius move_cost += self.config.bend_penalty * penalty_factor - elif "SB" in move_type and move_radius is not None: + elif 'SB' in move_type and move_radius is not None: penalty_factor = ref_radius / move_radius move_cost += self.config.sbend_penalty * penalty_factor - elif "B" in move_type: + elif 'B' in move_type: move_cost += self.config.bend_penalty - elif "SB" in move_type: + elif 'SB' in move_type: move_cost += self.config.sbend_penalty g_cost = parent.g_cost + move_cost diff --git a/inire/router/cost.py b/inire/router/cost.py index 996e135..6b2ff54 100644 --- a/inire/router/cost.py +++ b/inire/router/cost.py @@ -13,16 +13,33 @@ if TYPE_CHECKING: class CostEvaluator: - """Calculates total path and proximity costs.""" + """ + Calculates total path and proximity costs. + """ + __slots__ = ('collision_engine', 'danger_map', 'config', 'unit_length_cost', 'greedy_h_weight', 'congestion_penalty') + + collision_engine: CollisionEngine + """ The engine for intersection checks """ + + danger_map: DangerMap + """ Pre-computed grid for heuristic proximity costs """ + + config: CostConfig + """ Parameter configuration """ + + unit_length_cost: float + greedy_h_weight: float + congestion_penalty: float + """ Cached weight values for performance """ def __init__( - self, - collision_engine: CollisionEngine, - danger_map: DangerMap, - unit_length_cost: float = 1.0, - greedy_h_weight: float = 1.1, - congestion_penalty: float = 10000.0, - ) -> None: + self, + collision_engine: CollisionEngine, + danger_map: DangerMap, + unit_length_cost: float = 1.0, + greedy_h_weight: float = 1.1, + congestion_penalty: float = 10000.0, + ) -> None: """ Initialize the Cost Evaluator. @@ -47,11 +64,28 @@ class CostEvaluator: self.congestion_penalty = self.config.congestion_penalty def g_proximity(self, x: float, y: float) -> float: - """Get proximity cost from the Danger Map.""" + """ + Get proximity cost from the Danger Map. + + Args: + x, y: Coordinate to check. + + Returns: + Proximity cost at location. + """ return self.danger_map.get_cost(x, y) def h_manhattan(self, current: Port, target: Port) -> float: - """Heuristic: weighted Manhattan distance + orientation penalty.""" + """ + Heuristic: weighted Manhattan distance + orientation penalty. + + Args: + current: Current port state. + target: Target port state. + + Returns: + Heuristic cost estimate. + """ dist = abs(current.x - target.x) + abs(current.y - target.y) # Orientation penalty if not aligned with target entry @@ -62,19 +96,32 @@ class CostEvaluator: return self.greedy_h_weight * (dist + penalty) def evaluate_move( - self, - geometry: list[Polygon], - end_port: Port, - net_width: float, - net_id: str, - start_port: Port | None = None, - length: float = 0.0, - ) -> float: - """Calculate the cost of a single move (Straight, Bend, SBend).""" + self, + geometry: list[Polygon], + end_port: Port, + net_width: float, + net_id: str, + start_port: Port | None = None, + length: float = 0.0, + ) -> float: + """ + Calculate the cost of a single move (Straight, Bend, SBend). + + Args: + geometry: List of polygons in the move. + end_port: Port at the end of the move. + net_width: Width of the waveguide (unused). + net_id: Identifier for the net. + start_port: Port at the start of the move. + length: Physical path length of the move. + + Returns: + Total cost of the move, or 1e15 if invalid. + """ _ = net_width # Unused total_cost = length * self.unit_length_cost - # 1. Boundary Check (Centerline based for compatibility) + # 1. Boundary Check if not self.danger_map.is_within_bounds(end_port.x, end_port.y): return 1e15 @@ -82,12 +129,12 @@ class CostEvaluator: for poly in geometry: # Hard Collision (Static obstacles) if self.collision_engine.check_collision( - poly, net_id, buffer_mode="static", start_port=start_port, end_port=end_port + poly, net_id, buffer_mode='static', start_port=start_port, end_port=end_port ): return 1e15 # Soft Collision (Negotiated Congestion) - overlaps = self.collision_engine.check_collision(poly, net_id, buffer_mode="congestion") + overlaps = self.collision_engine.check_collision(poly, net_id, buffer_mode='congestion') if isinstance(overlaps, int) and overlaps > 0: total_cost += overlaps * self.congestion_penalty diff --git a/inire/router/danger_map.py b/inire/router/danger_map.py index 209edf0..bc85537 100644 --- a/inire/router/danger_map.py +++ b/inire/router/danger_map.py @@ -1,8 +1,7 @@ from __future__ import annotations from typing import TYPE_CHECKING - -import numpy as np +import numpy import shapely if TYPE_CHECKING: @@ -10,38 +9,76 @@ if TYPE_CHECKING: class DangerMap: - """A pre-computed grid for heuristic proximity costs, vectorized for performance.""" + """ + A pre-computed grid for heuristic proximity costs, vectorized for performance. + """ + __slots__ = ('minx', 'miny', 'maxx', 'maxy', 'resolution', 'safety_threshold', 'k', 'width_cells', 'height_cells', 'grid') + + minx: float + miny: float + maxx: float + maxy: float + """ Boundary coordinates of the map """ + + resolution: float + """ Grid cell size in micrometers """ + + safety_threshold: float + """ Distance below which proximity costs are applied """ + + k: float + """ Cost multiplier constant """ + + width_cells: int + height_cells: int + """ Grid dimensions in cells """ + + grid: numpy.ndarray + """ 2D array of pre-computed costs """ def __init__( - self, - bounds: tuple[float, float, float, float], - resolution: float = 1.0, - safety_threshold: float = 10.0, - k: float = 1.0, - ) -> None: - # bounds: (minx, miny, maxx, maxy) + self, + bounds: tuple[float, float, float, float], + resolution: float = 1.0, + safety_threshold: float = 10.0, + k: float = 1.0, + ) -> None: + """ + Initialize the Danger Map. + + Args: + bounds: (minx, miny, maxx, maxy) in um. + resolution: Cell size (um). + safety_threshold: Proximity limit (um). + k: Penalty multiplier. + """ self.minx, self.miny, self.maxx, self.maxy = bounds self.resolution = resolution self.safety_threshold = safety_threshold self.k = k # Grid dimensions - self.width_cells = int(np.ceil((self.maxx - self.minx) / self.resolution)) - self.height_cells = int(np.ceil((self.maxy - self.miny) / self.resolution)) + self.width_cells = int(numpy.ceil((self.maxx - self.minx) / self.resolution)) + self.height_cells = int(numpy.ceil((self.maxy - self.miny) / self.resolution)) - self.grid = np.zeros((self.width_cells, self.height_cells), dtype=np.float32) + self.grid = numpy.zeros((self.width_cells, self.height_cells), dtype=numpy.float32) def precompute(self, obstacles: list[Polygon]) -> None: - """Pre-compute the proximity costs for the entire grid using vectorized operations.""" + """ + Pre-compute the proximity costs for the entire grid using vectorized operations. + + Args: + obstacles: List of static obstacle geometries. + """ from scipy.ndimage import distance_transform_edt # 1. Create a binary mask of obstacles - mask = np.ones((self.width_cells, self.height_cells), dtype=bool) - + mask = numpy.ones((self.width_cells, self.height_cells), dtype=bool) + # Create coordinate grids - x_coords = np.linspace(self.minx + self.resolution/2, self.maxx - self.resolution/2, self.width_cells) - y_coords = np.linspace(self.miny + self.resolution/2, self.maxy - self.resolution/2, self.height_cells) - xv, yv = np.meshgrid(x_coords, y_coords, indexing='ij') + x_coords = numpy.linspace(self.minx + self.resolution/2, self.maxx - self.resolution/2, self.width_cells) + y_coords = numpy.linspace(self.miny + self.resolution/2, self.maxy - self.resolution/2, self.height_cells) + xv, yv = numpy.meshgrid(x_coords, y_coords, indexing='ij') for poly in obstacles: # Use shapely.contains_xy for fast vectorized point-in-polygon check @@ -53,19 +90,35 @@ class DangerMap: # 3. Proximity cost: k / d^2 if d < threshold, else 0 # Cap distances at a small epsilon (e.g. 0.1um) to avoid division by zero - safe_distances = np.maximum(distances, 0.1) - self.grid = np.where( - distances < self.safety_threshold, - self.k / (safe_distances**2), + safe_distances = numpy.maximum(distances, 0.1) + self.grid = numpy.where( + distances < self.safety_threshold, + self.k / (safe_distances**2), 0.0 - ).astype(np.float32) + ).astype(numpy.float32) def is_within_bounds(self, x: float, y: float) -> bool: - """Check if a coordinate is within the design bounds.""" + """ + Check if a coordinate is within the design bounds. + + Args: + x, y: Coordinate to check. + + Returns: + True if within [min, max] for both axes. + """ return self.minx <= x <= self.maxx and self.miny <= y <= self.maxy def get_cost(self, x: float, y: float) -> float: - """Get the proximity cost at a specific coordinate.""" + """ + Get the proximity cost at a specific coordinate. + + Args: + x, y: Coordinate to look up. + + Returns: + Pre-computed cost, or 1e15 if out of bounds. + """ ix = int((x - self.minx) / self.resolution) iy = int((y - self.miny) / self.resolution) diff --git a/inire/router/pathfinder.py b/inire/router/pathfinder.py index 19ef9fd..05235b7 100644 --- a/inire/router/pathfinder.py +++ b/inire/router/pathfinder.py @@ -16,22 +16,47 @@ logger = logging.getLogger(__name__) @dataclass class RoutingResult: + """ + Result of a single net routing operation. + """ net_id: str + """ Identifier for the net """ + path: list[ComponentResult] + """ List of moves forming the path """ + is_valid: bool + """ Whether the path is collision-free """ + collisions: int + """ Number of detected collisions/overlaps """ class PathFinder: - """Multi-net router using Negotiated Congestion.""" + """ + Multi-net router using Negotiated Congestion. + """ + __slots__ = ('router', 'cost_evaluator', 'max_iterations', 'base_congestion_penalty') + + router: AStarRouter + """ The A* search engine """ + + cost_evaluator: CostEvaluator + """ The evaluator for path costs """ + + max_iterations: int + """ Maximum number of rip-up and reroute iterations """ + + base_congestion_penalty: float + """ Starting penalty for overlaps """ def __init__( - self, - router: AStarRouter, - cost_evaluator: CostEvaluator, - max_iterations: int = 10, - base_congestion_penalty: float = 100.0, - ) -> None: + self, + router: AStarRouter, + cost_evaluator: CostEvaluator, + max_iterations: int = 10, + base_congestion_penalty: float = 100.0, + ) -> None: """ Initialize the PathFinder. @@ -46,8 +71,21 @@ class PathFinder: self.max_iterations = max_iterations self.base_congestion_penalty = base_congestion_penalty - def route_all(self, netlist: dict[str, tuple[Port, Port]], net_widths: dict[str, float]) -> dict[str, RoutingResult]: - """Route all nets in the netlist using Negotiated Congestion.""" + def route_all( + self, + netlist: dict[str, tuple[Port, Port]], + net_widths: dict[str, float], + ) -> dict[str, RoutingResult]: + """ + Route all nets in the netlist using Negotiated Congestion. + + Args: + netlist: Mapping of net_id to (start_port, target_port). + net_widths: Mapping of net_id to waveguide width. + + Returns: + Mapping of net_id to RoutingResult. + """ results: dict[str, RoutingResult] = {} self.cost_evaluator.congestion_penalty = self.base_congestion_penalty @@ -57,15 +95,14 @@ class PathFinder: for iteration in range(self.max_iterations): any_congestion = False - logger.info(f"PathFinder Iteration {iteration}...") + logger.info(f'PathFinder Iteration {iteration}...') # Sequence through nets for net_id, (start, target) in netlist.items(): # Timeout check elapsed = time.monotonic() - start_time if elapsed > session_timeout: - logger.warning(f"PathFinder TIMEOUT after {elapsed:.2f}s") - # Return whatever we have so far + logger.warning(f'PathFinder TIMEOUT after {elapsed:.2f}s') return self._finalize_results(results, netlist) width = net_widths.get(net_id, 2.0) @@ -76,7 +113,7 @@ class PathFinder: # 2. Reroute with current congestion info net_start = time.monotonic() path = self.router.route(start, target, width, net_id=net_id) - logger.debug(f" Net {net_id} routed in {time.monotonic() - net_start:.4f}s") + logger.debug(f' Net {net_id} routed in {time.monotonic() - net_start:.4f}s') if path: # 3. Add to index @@ -89,7 +126,7 @@ class PathFinder: collision_count = 0 for poly in all_geoms: overlaps = self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode="congestion" + poly, net_id, buffer_mode='congestion' ) if isinstance(overlaps, int): collision_count += overlaps @@ -110,11 +147,23 @@ class PathFinder: return self._finalize_results(results, netlist) - def _finalize_results(self, results: dict[str, RoutingResult], netlist: dict[str, tuple[Port, Port]]) -> dict[str, RoutingResult]: - """Final check: re-verify all nets against the final static paths.""" - logger.debug(f"Finalizing results for nets: {list(results.keys())}") + def _finalize_results( + self, + results: dict[str, RoutingResult], + netlist: dict[str, tuple[Port, Port]], + ) -> dict[str, RoutingResult]: + """ + Final check: re-verify all nets against the final static paths. + + Args: + results: Results from the routing loop. + netlist: The original netlist. + + Returns: + Refined results with final collision counts. + """ + logger.debug(f'Finalizing results for nets: {list(results.keys())}') final_results = {} - # Ensure all nets in the netlist are present in final_results for net_id in netlist: res = results.get(net_id) if not res or not res.path: @@ -125,7 +174,7 @@ class PathFinder: for comp in res.path: for poly in comp.geometry: overlaps = self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode="congestion" + poly, net_id, buffer_mode='congestion' ) if isinstance(overlaps, int): collision_count += overlaps diff --git a/inire/utils/validation.py b/inire/utils/validation.py index 662fd81..eaacd42 100644 --- a/inire/utils/validation.py +++ b/inire/utils/validation.py @@ -1,11 +1,10 @@ from __future__ import annotations -import numpy as np from typing import TYPE_CHECKING, Any - -from shapely.geometry import Polygon +import numpy if TYPE_CHECKING: + from shapely.geometry import Polygon from inire.geometry.primitives import Port from inire.router.pathfinder import RoutingResult @@ -19,8 +18,18 @@ def validate_routing_result( ) -> dict[str, Any]: """ Perform a high-precision validation of a routed path. - Returns a dictionary with validation results. + + Args: + result: The routing result to validate. + static_obstacles: List of static obstacle geometries. + clearance: Required minimum distance. + expected_start: Optional expected start port. + expected_end: Optional expected end port. + + Returns: + A dictionary with validation results. """ + _ = expected_start if not result.path: return {"is_valid": False, "reason": "No path found"} @@ -30,13 +39,13 @@ def validate_routing_result( # 1. Connectivity Check total_length = 0.0 - for i, comp in enumerate(result.path): + for comp in result.path: total_length += comp.length # Boundary check if expected_end: last_port = result.path[-1].end_port - dist_to_end = np.sqrt((last_port.x - expected_end.x)**2 + (last_port.y - expected_end.y)**2) + dist_to_end = numpy.sqrt((last_port.x - expected_end.x)**2 + (last_port.y - expected_end.y)**2) if dist_to_end > 0.005: connectivity_errors.append(f"Final port position mismatch: {dist_to_end*1000:.2f}nm") if abs(last_port.orientation - expected_end.orientation) > 0.1: @@ -48,7 +57,7 @@ def validate_routing_result( dilated_for_self = [] - for i, comp in enumerate(result.path): + for comp in result.path: for poly in comp.geometry: # Check against obstacles d_full = poly.buffer(dilation_full) @@ -64,11 +73,10 @@ def validate_routing_result( # 3. Self-intersection for i, seg_i in enumerate(dilated_for_self): for j, seg_j in enumerate(dilated_for_self): - if j > i + 1: # Non-adjacent - if seg_i.intersects(seg_j): - overlap = seg_i.intersection(seg_j) - if overlap.area > 1e-6: - self_intersection_geoms.append((i, j, overlap)) + if j > i + 1 and seg_i.intersects(seg_j): # Non-adjacent + overlap = seg_i.intersection(seg_j) + if overlap.area > 1e-6: + self_intersection_geoms.append((i, j, overlap)) is_valid = (len(obstacle_collision_geoms) == 0 and len(self_intersection_geoms) == 0 and diff --git a/inire/utils/visualization.py b/inire/utils/visualization.py index 30e5bee..697607a 100644 --- a/inire/utils/visualization.py +++ b/inire/utils/visualization.py @@ -1,14 +1,13 @@ from __future__ import annotations from typing import TYPE_CHECKING - import matplotlib.pyplot as plt -import numpy as np +import numpy +from shapely.geometry import MultiPolygon, Polygon if TYPE_CHECKING: from matplotlib.axes import Axes from matplotlib.figure import Figure - from shapely.geometry import Polygon from inire.geometry.primitives import Port from inire.router.pathfinder import RoutingResult @@ -20,7 +19,18 @@ def plot_routing_results( bounds: tuple[float, float, float, float], netlist: dict[str, tuple[Port, Port]] | None = None, ) -> tuple[Figure, Axes]: - """Plot obstacles and routed paths using matplotlib.""" + """ + Plot obstacles and routed paths using matplotlib. + + Args: + results: Dictionary of net_id to RoutingResult. + static_obstacles: List of static obstacle polygons. + bounds: Plot limits (minx, miny, maxx, maxy). + netlist: Optional original netlist for port visualization. + + Returns: + The matplotlib Figure and Axes objects. + """ fig, ax = plt.subplots(figsize=(10, 10)) # Plot static obstacles (gray) @@ -37,43 +47,42 @@ def plot_routing_results( color = "red" # Highlight failing nets label_added = False - for j, comp in enumerate(res.path): + for _j, comp in enumerate(res.path): # 1. Plot geometry for poly in comp.geometry: # Handle both Polygon and MultiPolygon (e.g. from SBend) - geoms = [poly] if hasattr(poly, "exterior") else poly.geoms + if isinstance(poly, MultiPolygon): + geoms = list(poly.geoms) + else: + geoms = [poly] + for g in geoms: x, y = g.exterior.xy ax.fill(x, y, alpha=0.7, fc=color, ec="black", label=net_id if not label_added else "") label_added = True # 2. Plot subtle port orientation arrow for internal ports - # (Every segment's end_port except possibly the last one if it matches target) p = comp.end_port - rad = np.radians(p.orientation) - u = np.cos(rad) - v = np.sin(rad) - - # Internal ports get smaller, narrower, semi-transparent arrows + rad = numpy.radians(p.orientation) + u = numpy.cos(rad) + v = numpy.sin(rad) ax.quiver(p.x, p.y, u, v, color="black", scale=40, width=0.003, alpha=0.3, pivot="tail", zorder=4) # 3. Plot main arrows for netlist ports (if provided) if netlist and net_id in netlist: start_p, target_p = netlist[net_id] for p in [start_p, target_p]: - rad = np.radians(p.orientation) - u = np.cos(rad) - v = np.sin(rad) - # Netlist ports get prominent arrows + rad = numpy.radians(p.orientation) + u = numpy.cos(rad) + v = numpy.sin(rad) ax.quiver(p.x, p.y, u, v, color="black", scale=25, width=0.005, pivot="tail", zorder=6) ax.set_xlim(bounds[0], bounds[2]) ax.set_ylim(bounds[1], bounds[3]) ax.set_aspect("equal") ax.set_title("Inire Routing Results") - # Only show legend if we have labels handles, labels = ax.get_legend_handles_labels() if labels: ax.legend() - ax.grid(alpha=0.6) + plt.grid(True) return fig, ax From 8424171946ced07fed25d8596158b7550f55812c Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Mon, 9 Mar 2026 12:23:17 -0700 Subject: [PATCH 2/5] performance improvements --- examples/01_simple_route.png | Bin 28106 -> 28295 bytes examples/02_congestion_resolution.png | Bin 60176 -> 59951 bytes examples/03_locked_paths.png | Bin 67443 -> 67672 bytes examples/04_sbends_and_radii.png | Bin 39585 -> 39986 bytes examples/05_orientation_stress.png | Bin 64673 -> 64408 bytes examples/06_bend_collision_models.png | Bin 43053 -> 43607 bytes inire/geometry/collision.py | 79 ++++++++++-------- inire/geometry/components.py | 115 ++++++++++++++++++-------- inire/router/astar.py | 78 ++++++++++------- inire/router/cost.py | 12 ++- inire/router/pathfinder.py | 19 +++-- inire/tests/test_components.py | 17 ++-- 12 files changed, 207 insertions(+), 113 deletions(-) diff --git a/examples/01_simple_route.png b/examples/01_simple_route.png index 98f7b4b549dd1c88cd8a1dd377fac9d1a983023f..6b63fe265f67918e7cab23b2227590174e9aabc8 100644 GIT binary patch literal 28295 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 diff --git a/examples/02_congestion_resolution.png b/examples/02_congestion_resolution.png index 509e11a6cda41de33dc06c8a5006475ab0f61904..ca9b9a4b7725839e876b612809fe0410849f6359 100644 GIT binary patch literal 59951 zcmeFZ1zVL{+cmtf3$Rc@!XTujlmC|C7@4Q`*5+3B<|fasIU3m7nOIqJv2omH<7K&KY;SLE z$Is4g@!u=htZa?gE43V&;Z;srKhm(nU`U^$529p|Boho~`m5xFd&@OR^AnO;*tq7C$9OFdv&C>SG2LQf zI&~{eU9{d(gJoc;X8N7%J+6b@Jxz>Q!q zUV7xaItQO&uEiWipPW5=0v;Rw9KjsoKlp^m%ZmhkBKqG;F#qooSdag=E+{I_{=Z;A z%kcjX28yHJl`&tqjJ8V7RD8K>6?NvA_uBlx%!1;f=D{*ogWFfQtp)`>!wzAL$03!x zup^It^nZWqT_Meva?^p@<;c;aDK5(s;hYBVIXO8AJ39fwTgk#Zi&gw0Ez_U*>^Ou-juWd*{X%4q-5huiw8vb@b@weD~mNPi{y= zM0$O_RE9?G!{v#lj#QPjl@2+PI#V3J$A!jyMZxdtU0MBKA5w6;a-Lg3^p8JZ^Q~4i zn%om&FW>m~^XE@xRn^3-@-3+rk^Ry;mi@^pX{wtUi5E8ERaSqVW$@5so6bGPXS2qgxH?5U5{1gzKd$@SV`sdNnQTxeAr}}AoeD8X}dJGM@V`OM(Vp?XgR9jmc1+Vp!rWvcU)llsE ze8$I*XRH7D2faSO^{`hBj)a2yQDB}?OO$3`#om?~F?@OFtBitz0)-GZFW;iiv2pvc zloWqr)6IpEsdaT≷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

U+(0lV69OZsRvZzOOdDcF@Hk`YrDL|4E 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

(R+^5s)ZtAl^^@_G;R4{!qK;39Gc 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 diff --git a/examples/03_locked_paths.png b/examples/03_locked_paths.png index 0fbcf32e3a3891a2c50518946544d5608697f357..099ffc2378976ab695eb2f9fe79b5c1df8fd1fe2 100644 GIT binary patch literal 67672 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�u{oaqQDQ=j#Wg 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®XaLyfXRzt3O4f2{$;OWcM~&JdmW+ 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 diff --git a/examples/04_sbends_and_radii.png b/examples/04_sbends_and_radii.png index a736212c547e1b4783f60933ff4568327cc8fa69..ff14c2693031bef76be910b00a0de1b32b840f18 100644 GIT binary patch literal 39986 zcmeFZbySt__bs}yQ2`57BvepoL_ui~q@}wBL|{|W9ioIFprq2>u;~sF5e4aP>F(~k zUbesQjdA}t_l|MyIb+=87@zS$+3~*5v!1o)oNKQ4gOr32-g)BlC=?1$MEJQ33UzWC z`S08r_!sf`j&b-OyQP4VrL5^|OB*e7U6i<%sFdy+^=|$Aaw$_!Yd|5SpHPPIqx{S5OrQ@wFYl>8+mUkB1>fl<^Y9`L zTn5TDCihGk@&gLR%X=32-?wY$;GW^n7ZeWZ@efyT$DBldczNQKC4ou3z#>4+AFDmZ!) zzceilmg(jwG3)&N_%ieaDrF1~hb!?&w`+;@Lf^~KRZr*4wQln8#v~8CTj-7yY4$gN zc?+VCa_Y$1BiJm`4mgu_zQ4x}<_>IWk6j?CeO zqMDhz2R^Ba!Cv&yzMk(5Cccr8kxuKyK)ad5&}&z(#s>skp;yTlZsyvG=)!1XbQ?lW zXC__U8TDaY|9*k-QX38mM*#9h2X68eZ!uBPYow$Lp=)>~tWuF2HX)S0Hy;ab%yzb4 zmE??-?X7w-=rTHl^L%WOFP{P-qAy;^`IB+cY*rm?_Rn^t2HvHh2o4HLxJ)6aKV0d=-QAa`Cn?g_6v;tr zd^DSm>43iq2no^Nx$`Vk!#?$i>5$`}y+42ca3(ct4%e6t>xhVa7;;=|^qv`y7xWFV z+;?bs{P;18?ea@{)xsB3Q4U#m@80dmH;}E^=u)kVFdX~o%YL-KMtJjPs-Q2i!Rq+$ zFm5ON;6+28R=r&N4K&`3hrBB*E8gDTZ97xZn2Cl^MfRkW6k&Lu?CaM_-)m}u!@|;> z4|WX>b~l2DhA~S=MGVD%PpH4CKK&pASqu9S_v@6YZ5{iX6?=C*uc1O8SK$w z%4J}mTXg)n?$*Gdnq>Tv=w>f$`y&SCQW`L zZEfw^LiY>T(SN_aMfc^W-hc5WCO7vH*Vcf=>`+A+gpA98)S=MfTJ(|rpD#@8@b6Y* zzE4F1!dMJ9J&mpBdtzy`iut-VT`C0qNK&5;+495s$|Orfc4Vn@h_u0Oca+(f!cpQ{ z{&v#a&#$ZM=wOLPGL&aXZ?#iV(*V8~x%Z#`57=HA0Ms~l96RqzdNf)VgbjEike!4RxwLXMkavLV7euieJ&%9*?Hf#VrMcud7n+V zt)N>YJ=~;JL_GXSC;aRnYFubCn08MrMDF8j0@${jH*Z4Bl_p6<(umlPet2NHJ}sT8 zS*1bBVI4&2OU9)F`^}oUySlb^@4%e4T2a#}@w$fXGiqw;+0OJ(%HIz!4qCR0&kmLq zO*TcUGNHL(u?h^kB?!2;V=DJo#YEbsqFu6XnG`>hW6Tn?KZ@QQiaeh4^W4U8fr zi0+XZPg>`;_V&&=feZ8+<=a8K3;jhH85xXhFjlfAuF1*w7aG%kFQH6KNJx=SR|w{=vRj)>HSEqJ98n8^ zKbDOw-4R_SDh24oprC6=ZY`b5l3kl@WU*OP6A%y(33y`E69eBr2T7vqGldWh_a3Cg zjhS{Ku@Jh?-E+Z|_b4g#;aspoE+8B_m=O~emV#sffpn>5?F4G}j37WH7M17E-@_fy z7>m7l(a{<&B$?`@prDZ0-CtxHs&(T52`N4v9#^8XrtQe-0;66TcXxMtI41e8eg}xk ze&3q!rI-nA*>y1P%WvJ^Svx4zAN;^#MoYiB{D1Av{HGg>ZtMzK1m7`rr9_jhPLIA8kU#eT+v*Ns2CFj7NYah zBpx3c^9E63x@moC<4P>1$cmP}eEA|f3unDKQ>oSof_Jtx-ZQIm7i~OPx)HRu-D!HA zYA$(|T2!>OVvxnx#iH-rxfAwC*V}$;F%x22 zV{6!@Dva6S?o6n|Hy2Zg=`=-*M(wnnwsss;Uq80RZt3k|c4?|i@B89m`gMM!bw)fx zg|dWDHdn^#4A-Yy?T-$&ps0CypI(41=_oQC4&0Qka&{VoQc?;BIXFB#J+GNt6{25X zfcGfAdEphsg3CIahr7E0ECunSS6<~B7?aAK*A=VvwD!}no)QiUP~@v>xd5Z@|C|Wb z%=+}{l6VB`$`|QZH4iPve_f8=t@!J9!4k?RBxD0~R+2Q$s!De2`IM)_j(IX(`>=Ey z@IG`)%rnA%NW)2xhl~e`bF};6D6PY9$t|L$r>Dm}+R~<>W+-H-rQ+RsB4^al+}!== z>*Mr}C6;bANYcde86HEavJY5b5oMDlWZ?^Z(jwVVi6MF0GFvvejY zd>x|VxGwY+q-Rwf?t0f{)YjE0+P~iOx=djSh8U92DM_TX3n*b#LW6J85wj|Gi`}9Gr4^|r(eIGZm)||U=;W1=d-EvsUI;UvWLL(;ojal92f`Y^WA0f9Yq(Nd< zC#-v7(DtKvd(_9DtsB6RX@tw+PH>^q)}W0b+?wz5@|$?+c)_1R)UqET!F7Fl^-53g zXhd&SDB4O(EA}!ux#o-`0#eL&CPHuh{{36f*0#7cLFB5=_VUQjI02uFz# z8h9JSJr^$&_J4$;QKOwB=h&2|*ZhQ`bowp@3ri<*pTtj1j6RZbbg^1aw~#x->PMXS z(UPm7d5A*AblrMt5}{!?K?rbd?Zq27$gU1hB)*9R2M5dBJHZ(~nBqB-2K;(%3XTKr z7UWsiz*z`q1OmdI3bL`W*&l3l>lXEIwD1$0E@MWa(0B+1XHA7HZU800exp+nD2L@{ zuio57wIK7< z$_nukxIvM$nr?ZQ`SJkTDlWCJ3>5NajhI0cB`i8rh?ekGG(hWQ5V_vw|g zd83^+zlP8$$K5h5XOc2KRu=y1WsH)&0%8TcB?p)a%}i+P+8I3J>8!HFG}|T<*zvZu zHegm45%LoL)Kmc~e!=TTVyndg&w#+d11YXIbfFE2DJfL<9z0kRIN9m(?+gC2^WQcLPv3b{^Y-^EU0rG}E_ELw z`m~68lUDF>dwIZx@gpgddub2gJ{>=~()KGGy6w}Y7)YLKn zlggD3!G<7cD#+(l;ZJf=Y9 zfm@4*G0(iOqr7*|pesYUQ<@B3hQ91yM-kdUIREGpFYL*ATwGl1o69)II$DbR#TqGV z>%wE=e%|diP|cZ{8M;%7HOC^FtIBlun#|iJ(cm_#FL8lwX&Y+ycG&7wcVg$QIdDi>1qR+BT4D!NtB8TOn6X?YPvzms zZ}Yu*os~`w0)m1xY;4L-dzd0Nx3=9mseSJG2H8OhEnALAM zRA|6{iU5s}fpUSsC8*`{^TQPmMRY_y+`H2h$T>qk2Fe6rBD;Y@>!l%j;GDpT6#BT0 z`TerV0M|602M{2cItQzV*xv;K$Q$`eBEx< zt*)4}bg(tt4Lh{nqvLO|&{u$fJq^c|T3KfT&;Y8|p#mEMLGCLyi{IT^!iX`HJO|Ff zljKphRH=IFiIEiK2rIb6-wW2{?V2Dx>~1ck1C3Vf<96D$gyj%bp#7ZnWW?qw5?|CL z?3ThNMXI5i&Lxi?KSs6)fwG{>e5M4>GUNMnND2stB`{pWwgeF*=TB_dPgt^Vz~vqP z7Setv$Rx-IBXFj#cT4wk^`aAzvrxWBOU=y0zEA({io+xH{XD6Q3j=t}s)K+}U+a#~hVHqf`hOG=PRa z$aH3VB#&Qz9I~4tWs8&$Y1`eH+o&Pn(Fc^CtacrJ1}k98A}C;YeI_1JQR-|6eucxM3kWl*k!zrGEeZy?(XZX_XvpcZ7l?GRrO!6`kpd(fP(^W;v8IYt1~0 zH6D1h3l|6oFzf8h%=x3;P(A}rI5Td|bX+1LN~+qQU__Jw2GAoK!&txW66%RuzDYNSu22qonp8 zx*@ms?V18cBNL9r3@}X@G&&9WYk4^*0(by1$=TVJ0Q|7$+Wz~l4~`{BJ{VQg3VDTe z`J9}bQV_wc>PT&V&26LsZl$54>sXy=K=d#GmQgZzMZ?Zz0FDy@OQ*w{hp|~CAtwwX zCQ4?{VX;JLtj=E%5G{h55v~YFqXl6*tF0*@u&^(cuN^Z7L>&M&9lZOF?f8tlvL{jU z)CEle;%yJOC&mnEpm)I<$pj#Z5 zy#?W%&WAgCpd?HKHR=LFv?ZH0BI&XlXuUX)>abLy2qF<|YCGt9ijC1cM?rl@2nPW0 zvsgOEFfloq277U=i2%NBKVbDU19WIu>rEJ}5Gk~v&E)L#8fTWIY%ptk+ZNHB02L#6 zA*f-Z4NgidKo!XT_5Q^je)HmwBY^@sHt%JiAlfy@V2%+M~ ztL%D|V4GBbudx6c?70_1G{*Md-r&mi=77-rKUc{l+sR#QQHgPDI_ay{XcLo!W`J6W`%-eLGEIcDL zshL?o_$U*oO)5YWi^)H!Js}`?!TVA*D(tIi=Uwng*%N;JcrG%TcA*myFraE)wk}g| zilZn^*Nb=*5D&F=&o5|pCQ;~BQNQ^07XJs7l+OWVa2K##Iy$OgMBA#>DEOr11Ps`6|hP*NzVbRq3-TeY>L1SZM=chaT*FZuCCf*pq zw)W+ao=B{A`f#ShJq&yQ-{g>QgzP6d?7Wu=)cgseXLklGYNVPBmLl4D>2#dWINX;E=0R18gymI~TI|9)FM7`iT+#Unz zD9WUGbz47uI- zWhanqkh5(G6$a{`F|vM@2b-#q7ENpc39!cMpbMtTkfw0mc!qRvU()DB*}bmC@bmEn zMMPvkB~vsK6B7$ei1FvNSsW;7n}eGh1U`)hAPq`B(&lLlf2#N~#&oD$`AN8VB)e6b zetW6aoKDho{G#?LBv4#a-+Oo{*c<04(HQS-9GZjLm)=QJ^N@yg$-E@3N>~I$*vJOZ#r07Fkn*Dm8q(jV?5WDNkc`o>_DIL729J*XE3Oj zQqjp$ByPriQriXb0E7zZI`&-h0Ll$YJv(bayr# z5DM*P5xP_KEt3``_>pP@xy|P~qr&UguY(OiGMUc7IY#tUmbo zP(++eev3^$cVHjiPX-nvnj5SIxy>-rlK^bU_Kh$$3u_wqX8HnPH5{QWvn{53B%S~0 zN7ZLwIvpJyFGJt5d(~weQ~iJTf|!uqg~!FxMavGFkC|$ZlawxCkXHpNR?B~%fsju{ zNB4rr=U$KQ9TYGsKm|ZR;J1VjM)Lu0i2v~&odOjkE5j+8`CI)Cs@=0ogoKHZ*c#Bf zZI|yuwE|e&jhuQjRYUC0~?8-D9?uvAAp7MXE&VMcRSvR+bIaC{re3E z*gX|!486U*^=y_>y?ZvajC(QVi{`(Vg*~=H$(N1}4Q&&=PF1W=IvlGE!)K&)v7Qc` zu?_nInSE#(VQTfhctN_j zG0m&xlE8a+s=FO&?}SK8xAN53BAZ@T(SKva9?djgts8*7J&|-}ykihpcv!5V>n`-l zDwO8&P}<}6@67w?P9M#k=|F zIlsq6X@KGj`dO;;qEr)NIVNbMH2tQ3DgncjbhC`Y~Q_ z#wX{_*jbx0JWM8^nSL8t?`3TurSP$IQ&=%C{{~1$F;;ZH=J)R3r=h182Ud#o z3>nJib4BZ*St1X4qO&7a7U|X?!rt=V>KE=pyjXe}0VbY&voS%Zm0mrSjSWtBwlyoQ zwR3poai1T_#+_7Y*sSn`_dZZQdTBYdU>&Ux4Zye)KrIV^3sKpTvjk)rMD!|h1+V_T z$8MK|2%M(L=4edwlw-|myR#K&XEZ!G(uWj55~Q)Vc18;a#D4r>^4ewJZf%ee~wFt+=>2+1cUOd8r^>63PxJFOdGr z9Whtnwn3_^;2N`9=r328V)=AvCNSnYtm#an!kmR^zFvs|S(?=52(VK=v00VMVj>dIPc6BL&2RZagpe(ZcJyH|EPbEYIw`Nm(NXIp#Un7 z=aAEudQw(R5H^>Q%B!fPJ=OcuGC(k_;6qiGr2g5Ue(%r043rOiYusi+% z|MN=j(xHYVKsqV)^ZA8G=hP&22BT4FuHa zru>-*{(ePrh+2vtD@L*Zcz6*mQ4(`FC!*WC$~=)aDeCKgPKC=oaiY&Wdpb0F{>s9y zr{l{W!i5j1Db;dtH-d(;b7cBoQ{AHx1%C-44+x3gUS3jYG`eN>>^?T{cU*?T#K?J6 zUU_I4!eH{cbK`oxbjreyW&#Yp?u1EZzm?qZ;-Bsi&LaF^rG#w#dr42^<}BD}Br{b~ zwQ4*>B_$PARKg%MPN&dV%o=v83NwpqvR2OF-+bAxhlChz_&H|w z*~#59FE{Vi4(=@VVc(if01%OGHP;17*XPJD?X7I zG~e(SE#uP29B_WV=KQCfpv2?a*BEQPjqYED4%6jpO|mK~Dh1uB4rc6i5QPIS(+J!3 zDoqZV-8?kDc3GjqUy?&@yrX<6kHy7D{j_)c&B(LUg;g2}(0WjWV%}+Q5|e}_F9n~p zZrCqXY%#A*=rJdhC_Y^`QO=b8RYa0M7hm9+kFHW3`G99N5=>zQ+DbZ*i%x5an8G{9 zS+U?FycZ&TqxVnf#+2XZ(p<54^o1#&DWbWBiM{;$b!i{FA}!m8JyUI#hP*$1%m`V- zDY%Ih=L8^h4|o1NR@t5DFHKZ+J7bxmNk7H*Ni(e|bg4bpNrOe-E@ZJ}!G2@DH_&~^ zl?GeZ3!X!!APe93s?^-iSzHQCGNGT_IUo_xWoT5&RlQ(c8Whnh;d0BRf}wnw&;7mJ zQpEzVI@TMA#__LM2VsFY4*Yp93N+wg__9N`Y?$85#N#tvqWw4&n^0#>AfjCi#t-`e$ZD zmm_l8h1XTF91e*o7P3dD^=clj_u6=_cNOh;H|ZyzjV=~bFST4zJwnl7H-e=HELY5X zzIrT^5lR~-p|eHKVk9Qw;Z^+U<`kAI@#MsK+SvcnNW2L#7 z;-S_i(?!lMP4r!3n)4xC?6L&hhY#Z?d0nw5i&(!sNqo0^?5d@-V9DV?e97>x`Z9l^ zhKjY4FGmzc!KWg8otc&Q!oGAf! z0<-~kVr5XtK3Ft&`>|eA2SGz+iw=Jn74`k{`h#HBfw2AG3dR52J_h^a+A{zVOeL(e3|9p1jd|8na1b|01?MYcW7y|ltqr}p`Kg;YkN5}~V8 zMuA*eiTB0rM4{>8oOXp*9*ZX*=0H=c(RPAuqak&p#ANybz^sGfOI!DA&M+)KOyX?>0)Qg9GS=up7?KxT_`Kc$It?FEngxo^?OdEFKFxc{sd-Ni;d zG25D^5xlEXM60=ELf6UibSMkqrKx{OYxDSA6@Oiu z7M)T(2*?-f&f{#~!d}5wuyjnX^*(0F;E#|Qz3aGG2RHYj*@otB{JX`{sUaGkC_LT` zES|c*HZtGqZ9X~OCV`jM(R^!ozD+{Wd(lNd4$Nc+a-^=aSe*Rg^~!bfx%#|-Yd0tN zWIsP$q;E-9RWCj4D(lGA72{Dj8&irESpq+7O&UtoSw{DVmT}o1raQ66&k2-5FZV#{ zrt2)W_`T2u@*I$$rFW0^57DRv&r(KDa?PEY(v3~C0UP{|+sEnj8|9G06sd^JQei6h zRt{~E61g!=YqX%RJjh@N^2DwvY#zG*22gLN@@^vKZ=%uul%j6K=@NH`pw_H(aI8!= zucA(2P0SD9f-!~Wry)j$T=O6(eIb#l)M`LIx7ShgB|h&PY((F-V2@PU-l;3i7RYaQ zDjv|N$h)sNxTg^ZC1Wp#9rYHw7H&q+J*8>vPp{NV*cqtX_wB8Je8s9U`e?qc9(C%< z@g|(R3u$KO0eQM?ser-CW$uj;OS|>MU5Z&Q{V$ImJ=#~h>ZxK zbf?P?({K*xifrN6lo=Nwj0zjO)^ti0ADx0SJUbMoeLoTUX%Px=Lgk3sy+;jEf&%E_xx5K%&ux3^8emW@Y&RG|Ev$4B_g5;kb z!q8>sTjLZpRB2u(U9dEu4xJ$9Ed2kxrlFysJ(jD#v&0}ka>0j`;oy^Ais2R+@-hF) zJgPre*GEocbZvc;g~Px8Dp4|s2iql&P}SJrJYj_Re8`QdxM?!ltTElJiJR%xlj)sb zBZDL6``6lWzFfuLe|9F%L5#wNQJv9nu%csIAtcu>Qp>sW#fr3eX4JEPpO#WyuEt}! zv+`wT!Ngy&pMdc9*vh`vUglY!@qEElP|`Y;@4Mc{#xf4H4Q!Oj)AFKp0f&H(dDbP8o+B=p$L1>^P^$u!|8h zf8Y>AL@sThDiOP8gMm)Dbwl-CYC4rnm4dXwUDPQ8?CUOh*2KE)*NF1mkKv%HVo2HF zRoq(@lV{9)3;D*sjGVU-o9#|eK6oHx&Ji57e1uccF{ALgMt!FEuBTX{#MV+cZE{QO zy5QGNbyzvDPH*_DVRPgLOl>{Az5J7tNO^@=4TI zt-FtVKF?i$Fw0RS0NQUiH?F=are!2iR9FldG@#<*;)-E8d5#3DnxLrZ>E&N2O&Dtx zei|d&+go6Bm-tO2!Fv|Xgk9j<(9=Foz~qQlRhkXRcmkwnuY?Bm`q^=^Kk;Mc4OQD~ zwwcJQly|itLsb+N~1Ljo@&E31B<7ZE%d_FgQfBnZ*$!Snv z+YtF3;Uym)M70D;a;GA;=Fu;ROAtEY85+(zx|tdkDj@VBUSblzF`gtu3aOr=qLqF= zy|To{W1t!;l&byv;E?ey@bNy4h3Ys1 z{@>0*<9?(BAzB{v`@TlmP2Ln~LmC&6k(san3i%)YWA3QGdd4!jojQ5#h`d{?sQ;b_ zL#P--Xgcxm<=I?K41E@p+`sdrp7fp0$JqvqE`c|3dw* zUs6j$6~Pe^^Zspbb&Ay(5XTLKimblAes;q%`dToJ{AGW~Gv8Mrwl(}nrpU@ywkAPG zQD;kuuYi6{rC{KokndxCe8kz+hV=o_GBTGDaR}nmX|Fo?g#1Wwt#Mg#PL$#f0=GeW zxU@-WV0YAT*qm<#rxtQSiOI=g0e}MKK;rhc1`89kY{zi-@W5@d7J6cN0_lB3`zi;Sh zAi)M}ldIygb=F)Mu}xA^gRv8^v`W6dbgeTqzW|!0LjxBllMo^c^_To(On3`)7}h}# zP6I}T?#_yYrZNW?^lwX{uSO{XebfJY7Ya-uwEQI^Kt5&}7iaK2;*IB8Z{hzhPbV0Z z^yhnW?6*feY5hu|1t>2ggSeWcPoF-Gcws>sPlmSIZ3RRoLIFe`d=Ckb1-geIZY{j8 zQ=%h6+z8MQIIpIKyu=k9<$y z@g@l6$(}XmaZGFwKTA9JU$y@>yUcvhl#SNF!p5v{&e|z@REGi<&3NTrAjwrpc+=0Q z*~rh&uUnuLBrD8&c9!@bxN5!pWWyjdX}ss5hzuA^8H_@+QkFm6Ry=dN#i*JAx!IJ4 zu%w?PdGvSb#*6!LI!rzu)9(Lg^KiC*kTiUW7nJ6H{PFbs{QS1f?{||kG}6I_zTO^H zlWX5VyD;q1ai^%C^p_0IsT=WE3DW)E z_$DSM>I`sWp8Nw5SD?e6@$n3?opsRcgXbi9!`U9GN^Kp6O#u@&6w{vPN$f40QbA8Y zAxH1Zi)ENN*T{&{*1{g7E35or+EdG&xgb)}mp~;KoSe7xhq|kbr}Tu}J=d2nKeHl> zf%+dk)pdVlgBVgE?{a z^X395H*6o|lrk3dxXIzVzWj&8L)NPHnrStzvr4?7bnW|i%&<>Mr?zL_^(<>E#3C77 z6;w(lR^hvJ;Jm*73PMZcU&yX{N7RdcP^ds+QcW%5k*v05aSG=zgc7J`A3M@!bN$4x zTzh??wN!m4fD&fM9?w4b^@c;T?Fz4P4GjH2tUU+t(cXt2vx&W^|E75ThBcC*%*zJ* ztZ!>VMhz}pVwFmW(Ds+p+%;&{QmzP&eph*v!f#T<@hS1dxrhJo41{4{&Xnt7-vsO8 z;j)*o_>C^L_(fYa387x5J@u}0;QS^}zUSJ99UVO-tfcfM_YtxFc&~I?^d+-D&NakI z+9I+THnEUl-xzY5H`9$9iGY4DNEM(?_+r;j%2p|*$uKJ8wEFzV4ReE zR8!^SWTmCU>GM*-uqgtg$6@+E%}i<_6^+H|vQz)X30{oWIh{U^-(ENM<178GG28Z8 zJDCKj?5BA@Vcjrac>M;CA^ka%J194g;}!VAD{%*hG-VDOG@sbi$w=vUbl(<3KbK8C z>bByk+c*CGYN9W)%3k*oU*AImB$m(0KG#h4CerOdoXa5c!De@UY<8z& z|DMFX&=y2;>%ItLuXA5$BP1ldG7hvcjK1eIa<^8>?Hylq3ZZL6V#DFu=ZiHR{Xa`8 z{>ljOJn?J6+OYqvBd90}eHu#RL7j$BW&@o2ER+;X?Gg|6{MpB?%T6lOxT5~$IT;O& zEK&#j=`3}>u|)!Zua5U?fy}d?H_X}V{d$*j1%a*Yv(n>qoWY(#UPzNc!L7U$&3-Zm z@4a+3Z*@H+6brL&RL+&$u;ftC4KCBT))@wS!t}jViEIUdmSzI z#OY3|V)!-pv{lQ^NVZ!0Eg?nMv{RQZ(p@>8wf{}@$(~7J_lfTL?#=d zU#4XC2jMWt2oz$cM7(6s!-LL`CcYiSkE1S(%(8YN)2SanUIg1$g|;e;Wz}Nv zYFfaPjyO1G+r$`yDUqp8u;U`rxXdulm;9aNH-wzNzlvTbe>a^DQ6y1{@ ziwx`xzNx_rNPqzlYG}xUfi+YADmgg@#0LF|`rro_rzMhQVK8R2V9+EK;npQ;S!hS0 zlm_RD!s4G&kyswEd={kgmh6Xibg|~7Q|a57e!rq-9o&P&%(@yYFPf2ECPp8v8-m$B zyt>eG2}l4-l&qqLT_Q+@@i4Hcj@&phR!K;!kOHPR7*UIX5f;r>6PSbmBM#DU@atbf ztW0L3KXeM4!8ZX8*Uq)q$lZMrH84m;hPI%w4xUGbo{7ItZ#;W?2Xr5>HO#?qav&u# z&bSLBL$oJKF^JOzX@wGE7Ocxab>B{VKUY_-R6F<{20*e9Vh0nX z{Z9~QUmN3vpTK1dTjK->_uyWU&;rJJCSL(rHdmL2ZYF#-17@CJph-eztdS8Oupg$w zgrz*DayO0gw|0&`Si_LvCg3Kqz~m9`00UWXVZecSVD#7x!F>nV3ENaeJYpUr;9Pcv z88d|R13?h)Rps7R4?rBNH_|Jrgh+a0e-_IObqtfpC%l7k2m0=)&o#!9BTA%ioEYdaumVK1!{; z8~#L5+bH0!_SI`QLlatl>4Qx`XE%3hv3n@Gi#GQ_AZ8`4c!^Cl@)S}*-8RWjZ%Z6xH=!jml(y4R5M(~c>~6u8L;EEf)Rnm zYE}-WUXanecoSI~`ByhQ5Kr#u3q<-uio;Y7s+79MFW!5-A+?tA z#9Km?W084dc6`I$^3|4td)<$NNAlcvX=0`@K8Q)StxX2bBrOaJK(XkC9y<5{55xk3 zz`F7Eu^t*krQBYl+1|Wlm`jU;A?tK7f<4P3L%lq%^^TUXQOE#Zbn~8!s`F6tYBuY= z0#-%iJu8J*YT8nUc`E$Z$Vk)O-j&I{c@t`+b=mu)q|7U|-0$&Yj!`n2p`=4);?c%~ zu`mok!@{!hI5B=> zk}fEeM0*sM17f6|4&3pP`}^=(aI3=2>*@*bJ;YD4%Pd+4{rc)6wfSy@eV(4}b=Anm z;Ze>6KH&tZob=E$Wqu<q5bjyB# zhMqN}&8-H?hqqXxl#vRBa^{^*CF8~^u4?__DpD?cIdD<8fh2_(H(mC}$iXsQ1`{@y zKdqfaxp@MN{6_xpBLA?61H%sV1$p6D5#M#L z5(dASw`jq`DC%zR>-4+#T)P~;-4L|ZL#g~#!b$YR1{?ThkU>^tm<`4ont}Ip+}ZcN zi28;*-(MujShbo)M5ms(I?b%Rz8xqNRzR@rX8J(e$4kLh=4364ev-ZKE%LnKs65Qw z7z+aXPL{wueM0XjHW{i=e_{CTC%892p&QJzBBlL`rjL)^45q;b0JB8nFe>5g?MpT#F>xhg5%8BoAO z6+5`YJ~vSLO!Mo3ty|0|San($jPnFPYFno2`g@V}>cGS%S$LgSqsg=S%kF z6>OCRzp5_=oKWVRIFFY@!~ElJ`a~$XfB!wz67{Af9>u1p2^vY!i|7NZXG%&bmWxWY zKh5V(qGIfk=8_edK|Vw|qSLsQi{)Ayn_HC!&(cyd)BUxw9bh0Gtm5BsC`un+#wqb9 zlSxrSoNuoMDOi?Tlnhcyk;invoHJregxmvR4#RVbz>L88MF$S|<-R!@z;Lji=^7O} z(QE`LSDxdq{0Za1>wmX#Rmv7z!!~y;zA3UX(sIVtls%<&X(kGuT9gSAN4Gr`CoL) zP`8MRor&f46g?w-S1kRUrER~8viDlhjjO5Lr2TW{JOonE)bC7@jwjx5w1TyE0{ZBx z()jSA6HMgnPWfPde{OkB>ZwkvYWut(s(sFEZh4WOeZ9TNd}3b8{6(=x^sxH%2$#wx z_Bo^*p)j|DgW_#OdS4wXAP5k%p!2(o50z)8F1CDCKdUgOUr;s>dvHsU#PbM}wf!M5-*$sNxbz~6gpri-NO^g_lEYIv`NI(T zwClQ^8~l4S0b&f&0M`p5K#1*-fCA2&xdx-VGu11B`D0$P>X`5ZLR0b9(%xoT^L3t} zwqGu>z48ii(N*fV_cmETc1Z0%GA{wlRZlYv<0lWgUS0?M#sdQunneR<{?;56og>~= z)Hzxqy92uk8Dz-{O^zx8LThP`_?Yhaid!MGWj0ZA1D_j9moO9?)fvZ+IC&3G_4@l5 z=>iq}RJE^eX$EvZl$hZx;dnB;w-v2GLE8E_ zki1P+k~shB;IX-yBaf>-M=PGSX^h9-UzP8Y~A~ zVd>;x%VRMUnSHd~ca?0;Jj9^?sm1uv(YvhaezBtA!>33GY$Xytai0gkK#X8-rBj)P z;|?MHj`h0?1NzQI@APZeqbaHPg7)+42jT+a z?fN*Ec)Y#EWZEB>$<1?Q8x-JY?qhZ%yQQ}V9sFfvWe?U7F<1f-^Bxv}uNWD#-rZi? zsi%D`cQlWK?mgs$S|~r;jV?&*-XNH3FtE|D5n`mKdGajPH{4*aO>%tSF4LqOo$}L< zls4SAiUtnL%jL|IsF$K()^6J)cZ`voa!KSX5~tQ%Z&B8>mesdS7;e%k=(QZll+-_z zEzRPcv{G^);}MeSDlYp$7Nm@*eK%960*(t>zSv){w<@ z=gfDW7hZ{*WUND*%*qG9jwx2^Nz%7H=dkFE68c z7~u?lK$2r;69_w7i-Ud8s_)8BPbM7BYX2N3WA}aZ+F-UjF-+$rd?dng`1rMdrX`6{ zkGlM2=ppyweQ;QQ6iUH?N7^BB&;HMc7ZEf9grKj;G#ZB4v&2;k4b}=tX=p6!XFePK zzA0+d#ZUjJpN5^9WgV`G< zR&SV>R^-+uQgNof9qn6}4(zyCo4}k>SUV)~b8bU_D-08KRHJP**P?P{`dKwYn!YJ2idJM8~<V#y3w_NN0)ZND<7}a(e-Y&`jlfL{V;+yoroe}*U=kvDEQ;-egC{>?oI+Vct zQ6tR)L`cWEX4E-oaD$<-xlw;=bKIRl})=2YY#}cR&VW55+1-U9+M7^FDsEf_o?JLlI}u{dU!e1E=Lk}Y7zoJ z?@_~!T+YGmJS33P@K^2Ss0uCZ2-TZ1AKaYMLPk^IQ8Kcb@YE^P^3xOSZ-|j+MmQCX z-ZEAz6D4X$9h5YVc;#aEL7hXfvAs!tjYizPdAfyvWyUvMgZZzJM;(1={0oM;6`^18 zS7qhi=og9lO{R_OXTd=8cb!oe+qrBzwlKv{$AJk`zYaWhM(R_+e z;T0m-&uH;Vfn}tOPX1mNq1#tw=DzBzmSh{Q+I_KDO7Y^Y<44fJa24yqA;iZYH`6`W zugY|}O3pisQie)&-0JNDo&>XhlT77{Eh=Q<_?S2Aaln!H1*9uR7k!|0XS zr69YN#^iMpOOd`jsNh5&_A-~JSy|Zg${w+=OVw;n$lw-pMW?%D`o#I;+7+8tJw~bC%0UzAb<6J zFlFOqc?2X0rqb$+{4vp~KS>>^;&mhwpBOe*Or#K&lNAL#3Ztc?+00)8Y{!{VQ}zVG zjU}trwDtF`j0Rs^*L3nho@2DVy^T(T&f_;uBuM-A2A|dsm-(j7rCjBM43Xm=wayBA zN5>GvWfSeUIGj3q(Ep0MK~eif!fvEhQqwIqVVDM!fhPjEZE^xabbSeGPUo+vJk9F^ z>r}Gc(t0;NVpp$}&6k{g)!dsNSAJkl&PA1;F85jMiEf9ayuXjn!16asJF5CeQi9+S{u!c#C6#t%=^ zL7p?0RP|6CJP$}3yawL~!?iC%VZEeiFT)iC1qAT%vf+WQfIQ>`2D|w9B`d!_g-?`H zRDOqTB>gi*qF$aqZbtl%Z`J;H6a9`ofl#opw#NSnHOv>^=UCj-Pq^OxXSB_s#jyS# z{1hkt;|4rcb`ACHpUd`k^I}l{oIH%!WQ*ZkqCDQjZ>MrEkOm~Uxw-u%I&oY7Uw;oy z-G5AcFLPL982$@Oz5nCa%#GliTG9wToqFZJtd4GUQ!f8o zd*|WR)Vj6%AS!GN*w8If>*@*N` zq=~5XUP4Jo^39ca&Ufw|WUckCx6V1A-?N@%^ijwq{`(EoZ$SWS zs&1y4GMh)bqcU5xTEhInVwASo@7fCzWpcBzlo^X>+{C^y4ynk<1G%0Bx5M9;mrGh@ z{4?pI^XRnz^FG^B&!~d5)TT%4^{9K|dq@Na&@+F>Uwm>n zky*m6IENhl;6JthK@P_6dOU!LsP4c&Aa#mI`_PQp~RF2DThbk?c|nUk_`J-jJa!R6+lq-xoo zH$X+rfk=jtO$>HSP2JCr`1b`UA1rnrkw*@fi0&5_v4)I+q)b{S$yLYd<6gK^Lsw=S5$TCGf>v|7f8UJ(sf3G=9%8^OdP!YjP zQxqPb=P3CKPzSheO@DuG@foe6IZH=PCSs&F(P<` zgV*W2?tXJW?B%=@D<_lVw3Fn0Rzb+EKOpY8Y73GuQ&5&CLDK6GCnpXf%XVKsz?gtD z5E@GE0NiDNQ4N4cwR|pB7KJ8))g?sET_KXbA6T?yAdz)mT-?wm{=Q1OBa~LEX=>(u z^@Scd1Cd1p{t5I1w?W4;gjspc{5YIvQGX*y72-n<^zNlBeDj=vt?}1J_U+nt_jlN1 z5sE1iPlWAKyk;gsd;xX(CHl_y`*x7}+u<^I z>F~_CyJwC~iCz!B%Rh#`KKP?xsO>6J8%@ciaSQ>SO9~G~3Aq7HsCPT)wL+{Ys0#eb zntdUv+p-@2&r}rQz$bXbX2yJnd^>3O`rLkdWhN-jNN zW8{xe$5BDM!uW+gmF17DU6z281~X%-M12h#hg)yp7@|o$X*=YR?EbrD{t}k_@jy}7 zwVY%B(ew`OkpX7x(SLnq_imi%6P_bUlM_LxcMN$6)*9x(vCzx)$^+hLOZ{|BFCxG1Z?bf*A1-Jtu@-igsSYMRz>B$G=SZPSYds$Bi^9csZVg2@wyrS*kNszIE+WquS@#3=jjJue|) zv@98UcwtbaWX;ymii*^XYvr$>9mSY~)nSV2^3I#K}e*eXN;VUlZTAY^SgI(O= zg7N-rJ^Oz*{6qY$x&8``7`{&V5(Ssyo6rUjeMjz9gt0RBo`y1jw(xCMeZk9Fl)R4z z&h)73d3%3M5@7z zQUf$%`7gATkqJyavcH=YDI7KoQwj+`>4UD38OdrH&qa#XMSj1|zhi4DSfITtVZ)>izCQU$^Q!&~ZHTdV{Cx$M~1N8XsrF-lhM|KM6_@rfcWt(1RD- z;OW_;)l%Nb-r4)_KRW`qf?s$^DtX}xpP|DY9Ar@@K&tYNp>bR+f?a?r@uaNU%aysK zlV*kLy`@SvfRt7++F9H3`wEoRx}7B&Qk42p-;z@!+2V5pn*}Es`4>2Sry)g{Lt9S= zL>C=Bt4>P^jzZ-@E^qcW?SqV+sKNk*D~GI}qX)mN`}1%{Cd1K$T)_X|KY-lA8(03K zTOchGwf6~tf)$D}hkq=i9B!j?Ttfk8P-tK{GbOxe{b#`GEQ3LjEsMkcoWDPSgjhb_ zPZ$t;wUp(9)F+~WiJ{QE?YCeTrO*$u;h>cwj7r+Wqyc9c;|r>gYfAsmPneWBC8WN( zT;jBEMvp8Qxa*ASrAyTzwanQ5-))d%fxl|gTZSm92(y9}LJCIPlg~1SnyV5iAKuTJBV1+_6YB{x)k$pgM{dz-oE=9`n%~F;u^eqIm57AMM zTzE3>ZpU2(q&1@F@VAo~*|I8 zy7n%^9ODy_+`Sd8;oj()+ggubElR?9y|F!#32XQJ5*H{W0nCjeetCWvp!ObP0!6(? z5yS^_jc!IK;T@ZpmJg3*GUQ@n@Vs zzl#c5RO;{NscN&E9$a1Hma1=Z56HI3zeRr@hSo>(Dag<~M`aTRFY1q`oRB9LxTz-| z=!(Tc(G;TX()j(cI&d#2b{fYWQKFtIOV0+~1MFu5qY5Px3pf__Bfc3_#{>5YjJ>DtHb%*wk#N94;lW0Q zG)j!YER-jb#R_tID<7xhNWWt~QU*)u!wIGqFZPiHU>%2ISTIW6e zGtlQb|Dp=+NOl>sBpZETxa>mEGje9)wu)XOD(z?N{tlBuf1TY^V%zx%^nF-CdOO$h zy_4{8iaZ=x6kS>Dov%(|v20p}TV~A7nxA-s>wJiMd502kK$$`AvV^gHk$ed|H&Y(3 zP|`-ZWIO;0%BHZD7Ltm;MRAS{F%i`t{<7ZBg|YiH^&0Pyz`^2?Jmyf=y?;u60i7OJ zgK-PI8&vW_iOq@!XU~b@3Hfoy7Q?63Hj}SJ+7|D^AUj5XoJAIS(sv)R;QNy;pO@rI zg!#!<_sf}-0tzL${1q6zQ}a8Jv->;*4o@u?b$eTKIUNkHW0Dl3kE8F~a~*oJLoyb+o= z@Qa%UiBI$9qedU_jySaGRqxMl7OELSo^&^3gr0`-rgf@_#Szg0zEk~WHkfio*T zV^5fxzAVc9V#dZXKKLFKfacH15=M5b-gE8OOWOCRH|LjkAwMNR{{(gg7&4+><9mqC z`}0<}kIc(OzXwI5?o3e?Qn=uo!=`9K?@)>f5<=evEJ7z=$ zy-a-=bgADz*bUsz@sDKSJaA{df9H}!-n5;&BIeL}1rgle#h|7cGxv0HKd<-kV4tKs zNy2*PibX}eX~9Uxhy8>v=rI9t)W~8c5*L`xfik+8B6geU!nLKK;9bOuB-(|M%$&(N`>ZnYA57Nxr*&ILJbJ7DsPF$wIX+C&v@Loz{ScG zrjZl#WCe6|Myq$&gJidFnbPFok>|NKJ2kP3sfW>Rd!#^D7kR`|yHd>ZY5Ov$bjfl% zNGB9-`tisGL=H0PGqxF+wx&n{A|+@?Wr_{+^8s(Nn!}#~-%Rf-=C;kJ0II72dAGrg zi|fJRj7sTxAbqYky-nk-_q+|TDjbDFyDU{K+b5+^HT2mkS#xu-jveE+&R#kCEb(ob6F4s zEdZw@zrHfYF4eSjc5*s`{W4c{sofAQR#o*U+03T*d>b2}2`&E^7PBF%R+X}bH`bVQ_ndi5=`XW0Rf_8tx+^U=&{)c1cF zeMby7OS{|UvOjzR0sa%5hNESXh^4)&5{9Bt#xE;7q{XqV_9f#t?SaiIVOq4IH|%kJwbCm2ISyUn#1Ur)wz^HEVeL z+NohrvLv!wHef~h(UmOzob5lCCbJrN^{$Pw4fkZ)MUqJOEmNw$&i8#O@Y93vcM|`0 z|F`sgfAVLq^#qS%E8@0cnd3!jdV>iqWNAw1nw*UU1AwVS)6PI5MG;mA>Jve5NmEX!TOS%`V zM+mJjfGqH;-gA`8G^4fNKx-)^CGu;nogEhY5R+p#a{XiTFb~Ckl&56Y`!RxZQZW1j zl}V2>_;XHyRZD)KAoZHZsw4LOJDgnRRssh(;;w49-#(N#eF0SjVpc$6g1E+-#SCU4*}Cw#{@l#0U({URm2~uw z#d;HT+AKBHA|oCk_8F9?`C|`8y32QWM<(twNw4ms#^;AgMBDdRE@%VJ*KgPM-^`X| z6=S?-$v0oC*u43D>3M?F&~96IGN~1l{%unt`bgFbd2KlQVqCk5*otJm)yJwoaFn8lb^2QdPXuR&tr)e1yoUzHL{p% z8Eo_SqYt*fOr1YcE5(H<`s{nYXq$RpizGn;-)?#fj~*<+(WUaYDyi9otY=k8{N3ktMY>>S(@?F(g^8nw;rzn?PmT?OpfIk zRh~Tm+Hm6e%$gT11sq9Ax5=XPk1%d~47zLV)*>_dXkum@Ni=&o)kWq(5b^W0_uixT z@nEg=Ba@%0mPYS(7ejyR6Qwg zQxs#|_#sdih>iYT(_G?=KfBj4r5xMAPn>}Hd8}xTUkjb5(L7Scc_ zC`>aJ8?P}kxzrrXUlJrxs@|1tNy*6#_4IUTx(h6gWR<_@@Wv}v(5GUg4dSBxGFVu| z4XxGOBFXVpqp!!Q4xN?@TUAgy_!HPG$)x=q8nz%%mY#@zaOl{vY^ZG8%Pp-B<&U{; zuYd?EST>XjkzC+(+Cqf0sj=}7T_hl04dp-icoHtk?~?lZss`cc(ItcVl?I>Zo>o@X zJ1xaj=zA*McK=!suy-KzFEghKWr(MDLHHT;bZ(u>N3wwQ`s3aIF=lTF90L~;0@>1n z15aGl8JvAEPD`m>(9O2#BOXnl+_6xwe#HwNxOSAs?I2KDZlx0d0tx&n9MryM0zx(G z!v}37)Csjq=};b|9gYO{5x6jNBOqKj@~RLfV$Eitj}rTWwWe@uw>iPOrd=8q0@2NG z?w~J|STdE$-tXYuyF%hSQl8-fivsN|^yEY5b zl^vfR8OVb5R^>{Y4E-6b?%l%zMhb~jyV7cx{#!@>bF&C5{`+x^i>yPan_nL$#Mu%Y zDRF%Nn3lYGplVt`d_gU_U}f`YmZMK!DEwa)AH>pn-!H zt!8arRu;EBPun>6wk6#0z=80_CnnqPMPEI+4{I736r}%wT_~M$!n7nT`6@2V?0Mz! zR7}?4`t)8Qr(Q$B^2jGo&a+HDzbQ`B?C!&k#&TH;4|(L8#qcK$If3BM?nc@+Ut zHm+?F=SD8BH2RFo+u4Cj0WL4k5X{Y*fi39@B1oT!HQ2JnYfk7i&$-J8qgbU#d*&X? zD|scihmIiozFLd2tm9cK&+mE)bd4*FI_3>Ox)CPSpDA+oX6Kl~=F5{OHDwp${N&Z%%+c(1k#uFx&1X^{d( z(^Qi(EL=q*WG?r{;LDo5!-j^L{R{J*-;2&7dyiSsQ7%P7J!>T$z>08bovSx9e*F9i z6-j4R0i~!7b}m4CMVR!+XaE`>=sYW_q!|Nk?bbXGSSQHrVv~g3?));&#ZFeA z-BAhKX>X5CHl9n0I8FJ^qF`IHRWXs+4cn3vs&w{5QUB^sUYfCnh6X1P))OE8c>+eF1)A!BCv545nh6k@@lObkH+Wh;Ei72b7QIArz-d)_huS*_42sA%xqrd_c zS-h^?Hi@Ecfty>ef^6O&J|{)TTJ)Y=E~>OL@f@dcldzW!%f9*K1Izo*XK1EcMzk~j zV$DeYh#a+?N-Udjv+|8U8{c>8{9wribw878_1&fYZo`5#UC^7Hlu zK4!uSZR=E)?65vkw+V`^C&=$I4jv8Zg@w9B^X1B7W=7N1OH$Jbhj}CB4zw}38PK<( zTt%Qlv+J9a5GeFc;Muq@Y<0GNyHynwgIe^zv;>bb6w0CrLZ+CNy*01N9XsV7s`7r4 zLT&$pPQS7}*j%_eV4pwLzQWu2;g=`H^{S<^%##)Oa2GZd{r8Kn=;^)X@mkdpG}{Ol zlIcxPdNq46!aiOduCT#LZ(>?zQFmFNAT5X2XJmfK8t1SGw;4F0%{xlx*td%=Bn_6>mRTqy-46t(oz!H5c zl(o7S80ndtVJ$kA1g2q66W%lbNIof@JDX(r;D}Rarr1mV_(#!Dqntzk4x@EV?VOzY zirQt<%5G8dLX&n=(?ujc{>u-K(6a0or{*PsOS+qS5+01h@n6_>aHoGLW9xeupt7Ee zRC2LZ?@0~rnD;9?Gg&ZXmg!j06`~;SABSoqRri#*A_6JlN6 z?`Il_2Jy{2Jw6TtX4zGT=XKR+U;r^o22;yJ$k%M>N3zLJ$hNJbXrb>Lk$0+QcQ}Un zJwDlDWXnFuA-jv2HjppB<1VJ5#Zo|ATpT;d;@?IG$ad_2*$A8iCmXNN8wEM%^HB5O zM!r3;^?hr8f=vA9dZ6g?6IK3?Q)i{P{*L>D2PI7p2Pq!u?&wH9H%`&yz3|XPp{3NV zwVyKPdTl3$x0UMeOS|&&uv3w!dl#m1e8AqSXovIJhp5R{^!<^=7g&>t-+k7xo@CBp zw~XsHYwCMR^60P)(e>Qi0qqeD!mwu?l!b34FEFE|=`eW3Bj1Uh#I9iB=>=ig?8G+o zFvd*F)Ja*Cn>Es{{WWngT>Umzl8EE#e%cG~ zOeyYnLJKQd{7y>3i0Eoa_nZm_hV+x9>CZ<+U=#DCnin-WOMkqC4#ZvJs}egFP0oxB zk51+tBkJ8_J!@ybN+K@Gn3benR#B*;vOzlj(qyz9vwt4rHM|rR7oQG;-1T!mN*bxY z*RJnOMbpioKN_o>aL3#hp3L!=t#{;)4m`&(&U^25QoIw&F{kU)7 zK)(5tRN>bDf*OQ*KA$_xa!f$f*`%V9*g|;f(E^sR_^YMDs7V~XLAk#G%V)JkZ>41X zX&Dj!>+J9&)lf|}w${@wUC~9w?Uo-cg4G>Ke}`pER%UgB32kim1XFT0{RHZU3JD4E z92<)!er|3T$f~$nmXwgUA0Mvd8T3fC{&uTR<~5dCIZ>Z+L1{3ilS=1CU44Os4*t3b zuNl!|ZDuBQjN*@Brv54ulFzN-(s=_B(n0(6nRNknTtjj!#ag-wZl9Xh0?*sXUA9})X~*OV`Nua}r}r@N2tRM+#jd4vdo{D`_y)+u== zlqEfQ|K~VVFA$Ovy$sFd$v2+9^{J$$@=U)SWt)E5+P(?=F+Im2`Gj@mg(zyo@tA>mFoiFQV288#IXagy|k(vooYr8BS%nAQ; z4_ss4hVoCN#|l0N&-_c zZ5!FdmF#>&b93`A>$_1KPV{l+4*#4}Q?nLp_>oo`j=4c#SMTg+-g%zC>+rIVSyZ}* zym0pe0rvAk_OE??8feIT{ENH;wPnNj_FpDZh}^lRh7{D7e=FnWb$rIS2f>7*OCIU#|IL8}pzKOA#rs@2F+ z*I>$eZ}aPn&{pl5n;uo(pUp|GJ-+pQ{1o3!dG1%swp)=BGhNL>Z<{#=?6a6rp>#6Z z@fT2Fj(Ggd3`mf`em#sMk zWt|Q5;pp-tHZBhQR`~JcwW~g*KbY%D*_bOM4@0Vwqr-p1&zY+G+%39gs)KtTcPwJS z9&7#09j_@fSL~k41hFc5*J%Kgg`2dk35Al$TnT-=a~0{#4pEuFTya@k?@Toe1DW7y7q{2kHp z8ckhywTIT%MobMeGrtKNER7l`-2cWA>)LAo%6%_mG!u#ok$j*OkIjOHHQa5u{oIVA zT>84&mpUp38MBj3cfs*J?;2?OM&I(WN<_B>k6r1T6dq!3puM~X5 zu=EU%8u+qD=WSgH*KBRlFRqI(Q^M?($K%~=4(H_SINp;;z>KzIHnn_Hfqvu?y%X+d z{NqWuulVHYX*76{B2;zl&Ze;eGu@o?mI)+}vZ>6>^2q2xrE_N*&O>q8PqVKQ=qtjr>oxv)Q` zh5)r3^#91-)N$a$mAGo-w92PrL5qC?5|^%SP6-i@jTzRo=wre>0;+}lxA( zi0;M851(?o?HNy+ID^yrtok|hwcp!(spPOSo{kZP+>X$?&S|MhH%j}fW<)3k+Pi=% zS(HChi=P<8!4jh2cEOegF~fijqU}Ve<3I)GEgHxFetf6Yn4V^;2EMYNSogSKI&M_Q z37vD&vD78{o3$4^Pp6kiFHe0*x^ZkR9o zX6)H)VKT&*rRZAfUpxQpZQ6sglpA;3WVFDGkJaN53Z;ZBN41xrY2ZAG%g)wwbaZT{ z5XwN6iu0z)M=lJfH!V}pPSPjEyw3Q&Jz%ka`5%=p2W|9t%habH30Zk)>A0^OS8#FD zL>Ka}H`7YeZ(&Ne?``2ti*w@2eDY))SSYwev!E_QFj-Osc0{<`+`S%0xdTQPqEAC( zEgo&wteqip9=&{XUPLdfALNw!mX`To&^TdkJ1ipR7z{etY8qEfP$>eFY{Vzv{ z*V|exhqrW-P29~Cm)dS%9;haMWevIE(j?MxM(gTF**}ERD-&D?T1lJR>j-IM3wilH zl}-67&3^80z_qr{Rtoj~9n_iM)iyE7q9tBd)xa2x3Z>V5kl~7zoiiMk#uR$raxQQF z`w!b?l769AlBbmoAgFVq!~7j8GZu|1rv{Rmc5T#IXztbvGf_%2lJST<-^h`Y!xQ5w zoq8|qm3D+i;hCE3M?Wd>0n$=cE`_SADp*m`Y&Xh%3 zNGF6JvRhhOE*i0-CMQ9jbzhQCN<~hNCbfNQJhyfF&7rgvO%1&}4g@ZZB|f#d(_KY3#%we&Fz&L@D zJ03+s<%Xs@Nx3@Fw^G2sRtbE(rY_q+B=RbpRi9}KYkfQ`yZk2gc&6W>;LL6K?12Lv7_!)4|_7`7c(4Et}6a35i^Xo!drw`9u zbh@_mee`U-blR)9%F-s_ohriMcn}gR0SsS@`DC4?*XHT4Si328l1=P6U4|I@3y`NzBG zCXY1Ig4EdTG*nBf&#z}U9?t&tifb%H&cZ14&lGTFD2*Kw-pBf^z!Z)maBdC#8?o_T zm#3O<+V?eD+Yj0jj2`Ur$y6fV!Y}G%-P*tw_hu~~VQbWO)_fj#dmEGb_1IWU`O@II zt>)Roxfd(o^SzS~rX%vyl{YF}U zp*zJhNqiw&ulSTM4?N3Dp)(CqgIh8_InWE4nsuMHca46wHhE*sU8KD^e*RJC{HXyw z-t;f;t`U#Pszh6gUxhSbQ(K$(yu(hEA^|eup;zwSP4jN`HIN7#zpUBn8>}~ayVx_| zGFuI2aR0qyJG-&2mBm~Bnb=}qt=u0LI+mfI&q_Y^H1#mSJT1*L%M2Q3!F+ca6q+D> zC)!UuJ~i;@`-_u~`_*33EI|M2t4nLV0F%1cUcj|J>Y%Y`)*>Mk4+pDJIwvEOo-IYIf_vscGb zL@Dd9?)HfjLs|zu))*dJ??L~hdOBtm{wk^X^@pSftE-)F!w@#!01$Wimb(8&)vgw zAMBDF@n;;cJ; z|6+XW;gmmZB7T@(*E(!%61B#IetoLxY#6!OrT^B!#Qsx`;8aX)8(8B-YdytMcHfLlZ%|Iky{TN5sg?10L8bG6G@P_l37)*tt4Gr~TQ)l~qHHt;YB0(=I7t zI{ldtLKMKdkDg#bxq+PS__GVmT^4>LEux-x(zc`A zfLD0@S!pC;YRvAGB!*it8m8<}(M^NF?|P0;wIVSZf>%C%?8{#E%u4+xoWyZPS?c|b z%%PW!%l8sbYtb%*w6+`~@lQ!(jV#iEa7dEme485vDKm(EK|OAiIYwiAZNt8WFluDJEQ8wCdPku+~r-iU2aZ>&i(K;Lka#iD@{ijl9b-PXoo0k;aozISy}U_ zi`ss1)%}*1-5TL@$7rD&u6RM+O9e|oS~ntOPN>e$&a0{3(AFw5gAF-E+y%?PhY^vQ ziHk?Q0srp-2sm&tmkkQqco*`JKB(zBmN!rBn`H|;tM%5&C)-@!c~D4#MMUh8&vL)H zr$haIW#t%R(Vj0E_HA#*^U<$4E}mnJ^KSX287(7asOOxN1wlb&W#vYvva%sRAM*H5 zaPAW_g87PdiGMfOQ~0ag=Fo0j?wR^sV|4G_rNvEe$R550+LBdS-~?yWR50b^#1Z$?QUsSI5qbwxuLP-x2f$NJd+~DERg9NomrckMia#=aiFDuWNUst^z}$ z+vY#glpQ<{;u)t!_A0z#YZ`TdD4G_OxH_2}X5EgM$b(7yvx3X?)?4~(JDynp{Byy4 z9dSMbo!t~TR2%sC;4^N<9Qe<7Vc|KIj?2mE0Z%c6d9dKK;N=NIsIXYc`6|f-#D{Ul zOv{Vq$#Z(5^xv)dSYE{FS^W?Rxg6>lchVJx@bCXNK`f*q$n5xdE zleGvezFSj91Ljq5Lhprul!3YV(6khUd}G1I5|Ijml9rdY(ZDY(%&u2IIXPcL^95Tk zTiD7AHcwvK-V8A)Vs{c%A4p8F+V>@2d0GrzFp3D_F8Fl_EEqx36tO>r6n{X$9XCMQR7x5(?j;bA$~(y9ek;p^2S)Ja zh({jWak0zjRmA8Op%!}i?0$WEw?!Km_2z(ycd6_enPLdR3o)Cv_=|?m+uo<9ehR+_ zMdLk%7n&glUkdqfB0OEGtPNZ@>NMhMJj#ENTN_fNNNocGVMP2|?S>!z42iPpyvv#h zr6u(wDwxnF%rHOphp}OeI7SOLLo7isv)c~8+ND0Hb5i;-X!=c|<*l-cbV8_$V zg_9!jlB#_(`8D5`%LV01AljoI4tAi^Q4`?zC1ZH)+B5J-{N|pG&%V1IAH3v=N5XPY zZejKx6AbHJtI3<-dUhJJ>#E`KKqoi7s||e!WzLo$y6Nf48In3;vsb@ z%P{;kfKq|0y(!W3>eVL@aM#RFX+>b3^}$E%!TBScUeSvr z#KALE_@%tkVo7=?=oC`Gw|8t}qDWs-D9{+)^?d2J{YuSq#AU2j(q4 zNS*f=*&qh-;n$K*Ob&GELBqiCbu5tw7guPtRSOx|wX))%hoHfsz_i-?QMvk+bA?{( zPRM%(>HiyZAtPj-gy{=G{DJwmR=DWBFZ*&WYi_}cK!CZc&YW91xQ0s1M-+{#KZ1qP zwf;<|RqnYNT1k0;dnN6e{2^J751s;iEck1L#rBtjTog9=@rG5}!z z_2y-e#6hi%fss*}r@T*KDdJzNto$6{Q8=ijfuU*#Pbq5Kahx)1qtN~8sE8=6AgZfJpX3Y5L9cc1 zdEW^Z$RJui?n4NL#RKZEw4p$RULA5_AFJ)sk9w#ML3-O4I7}e8TGC9uJ$MrV{}Ngf zCV2NMyuk>}e*l}0s8)&t4uce^k`wy!ECyYh+uI2M12v^;z{~)ZHkcl(lVyMbq}x@1 zoVKg03woZTW3K$>uY;a@9o@knw%;LlB;dM=3jaRV8>#L4yd9^qAf5(Ik`3g|F(7we z&^f-Z1D5td=x;%KLsiMpFAytRfG;76RKyemnJ1vY45HH9J-~z{!h4x+l^D_Y_V#X` zh(O$kVNQMaY&&9-4hVKc0SmHK#P=PRDBFKt?7yAI!+iz$bo@@s;E)glIFB^DdhYrA zA{c&$a7pPRLR_JWUk3m{qlS2}C;F1?RCQtGBCj2>QpbC(8^Qz5e_YXoS|;1AjipgR z9`4VOrxf*CbAX3}-2e`F3$4hZED_67bFxhJ6H5*n@Z&tEi~FtIifWKh*u@lq`?m)_nm1fo4}pu0CY?gL`aR^7~kgku?c4;TK?zOMo|R2*q6QaLU*9&CKkPL4zP8p!y~Upve7| zKSO15GBPrvCOT{+4Hs%?)Us;cIKa_bnK;g5;c)yj%gw@Npgg`%Ht47kbGaVo&fRq$ z-56zK*ab~FBl=&c?-B6ciPX=aP|Wl+G~gH*s?PuU7yr{9NVoWZsyo!uST6AtDEYot R9YCH_NE)KRki)Mx_@4UCAGhi|b?dwLR^3CrydX2P_u6aq>VEp^r`HQ51u4oyw1-eA z6s7dNyDBKu?lI*1z&`kkdHFa_^bTC258#>uNvUPf7VRYWv#KFSV?e1wiqEN>Sk#CAj z(F_X|DrUd*-P>xe?WvNR@7z02@wtli{4QoCW93g?14?a1IU1PE zVy(TW?QY9rMRPj$<|LPN_8l7B^a#-9mBfdVA&MI*U;2t zT{JH;|DDH@fQiVhTn8d?hy-NHuR5wvf)W;t7{`A}KX2=AOxtw)RNe! z;Q|Llbx6*BKZ;kIsPBk(syR6o!KZoM7tFoZrb@ku-FXJ0(kh0AhLux6r@1>} zZcm*%ht15qLP^VekI`q{zVczZLYzC^fOdVB!FjruRl1?MSwmkxo`&nb7Jr=3ty{Y7 zZ5d@-t+wztuIhD%+PXS+PEL8Eflp;aW8*{|HalDHhE1YBDl`7cIJrEYJzV#|lpb1_hBP47PN%wY42?(!n#g{rvQl++~)qLKZ-w zW_L@%V#w=QTjw+jjMB+RU%l>x(`hp@AsHdmzNJ_fLWnDd;KoEMz&I^O`k$pGyN^+dtriT zl3JT?+&NSxM7U0!w- z2D1x08v1T4>@fESC3rpSl3a8mdZKeY-edap#ma?t*|3WVEt)RJHt<=h=(+mKR$$V! zJf`0d5|&h@*5nQyI^@*An(@uDm{hektr~EYzQ}1@MR=iAyt~{nL*IMFM7llJwkiw0 zwZRCmrp@nIu>?$xZYgPPrrK6XzWrAZ#Yl4;_S(a*=AZoz;(qy`yO_mQWZ*?6td7Lm zF3i>(!@|~LV`uN+AMi|hy8qaXw_&e^aeDfMqIPlU;G2_%g#UXF7L zW4>^K`t)g+I~`q@VfJp#d{7N@`g+#Pe4;bQeLO8{0X9(s_@C+Ca-9#Z`SD(h+I>zP z^5_I9S65fPXi)}H&r71cPd8%+)+J$LI;Tnp^j*Hge5>o|U_N{hDz@&?X#XXe^6lF_ z`FJ61mwvYlWQbrdItLFPByYZye0j#cw|Jc{peCuxYfUEXIuB3iGDr31s#Tv|4JGc+ z*K-pkaURp<6axIHM3aYsw@``Fg<2f6{5JP1tt;Kh?YVjtA=r&)r}edF$RFJ1fB$iH zYT_e)8~TIaxO?}m`B-aGT_t8IElMBr{{2-62?-1E5DtQItII>75wBjIm&Rmg_&bLN))--r5(f7%CQjWFx#HsD+qdAU-7bI= zizx!nB60UFzGuYl=5L4c5Udw0(M09uFYmFvY6rA}mPnx#p=H!epJR|kaAnf|}>lazgRny~ul)bT{4(R%dG6?)Rr z(&P|XS=n3gRL(utI^_;&G~D{xZ+Xlx;QvSCJ!~qMw6(M{kBP3&K5wb=Segz~TUtR( z9x<09D#t`r^6~^ih&FG*XCKtD8eyrW1Kzq*-No}21B+8VM9wG95GmNNUsnNlk{9nzVns~p z#fujOIynt3EuzU&FaZ;Uxf<^Cy*4hD9t}_VEZ@C*#}QhW0ylDJ+PJ&h!qn8X&+NME z?1Qw7j0p@jw|!%2ATJ}qTc`ckQZH7MTX=o8Mrvv(z(D_AJDRAMF_BxL5D^gpmXPPP zwXtM1`6IvkgIi&Du@%ugK^Lo$!)w*a0TEEP!eyp&KciZyp7Txn$R5KHnwCG_ z8?LSmZ0Wnme*TgFu-JRU9X;0iD>Gpuboc79M6DQ9(@fQikhKe zl18>x(%6`Jb^OE48q#dkeTNsDb5Ye};N=M~&+;JGqGS}g|K_ryhO28C0!nfWs`YI@ z{E_S%+tfCT1H^I>i6zLzVRB4c;&X&O7U}Hc8 zL&+edg}AtP3K^@5Q&_+lB!Z?v#6|6#&8?~}#O9HC{Q2}437kRe?qfoUEAyjPt%G$X)h%V%r0fY7z zUN)lC5Y(Ngy2rs_h!Eq$!^2ZGa&%a)T~n?JI7Xz_yr0CShr4p)h6cN4E*@4N{b}#% zMtj# zxw)15AEn1|S1sRZYiq+Tc3YvlOro+re7Mi(IeWWOD!aC})&iVyU~n)&T~jYD)&?gn z?7q+%&Z-)6vkp)cuhW=PpX*St;BdHVh?ZCjqXt%;(R(?Gt77uH@Z7fxf=j)Q#pZ3y zfYq$R)JkXLL=^;vPa#3b9So_+y5~l*O`i@JczdRD$^tk^WZBV6u}k9}Qn2O1Qklg4 z%{NxbxT%sJWT7`Um#Q^06yl1^+mdm0Npassoq1vO$?)X_m?6_=YZEXlhMAd}_rXWh z#t`FHYlNnL7Egm}YRa z7)uGY9Q^WvjhkB&K;Gt`P#?UozuDI2MngkGyU*r4V=#lTpqlM=n*H-K%?qBlfWE*7 zi={{gW00_d*bb+5!QGRW74ReiR$W(DcP9Gf%Om8mHgVZV4gpg!mx?}ziavB6U=A4> znQ(BjLAC9!wg~UxYjMUuDKPMmiLvoFOB0piw^Xh2>2UF|@W@CFTMr$b7}!PXE^^=z zPMka$dUGUTQHtl`*CX<=H#k31BM)jGxH#FB^8NdFrKrb@Oo_30MX4gnn&n#MX#>F# zz;ta0xLCr$UI3>>0RI5-yEW1M@xwpvmEG?RpW>XS*kYS#NDi%X_Hj&S%9^Q;+&4Sm zUr=zp*mgi4uy7LBUeViP{BIW)oM6uCAyd&St<22Kv{4fl7S`kA<74CG%;68zS5r&9 z{d6CFp>047Q$UUVmqkB6zYCH>kHz3du<_K5jF=60Th0I8U|%lJo|C2JF~|7nqU976 zLfShz_#p1#tl@$>Wp;*o%hNrjd7nRjCego1NXP?lu=Qw%>xe#mVT{QR*4w%dS3FG) zp}$pR+CdG+?*A08R81Y8jq7}yT}hDjR1-F^p8I@Qs;ToDk^hL9a2 z7O z%a6Vkt6-NCeHZ3NMYps810W6^gT?Y0eK`QxWNenw_Vw=mp*_@2m&g$GKJN6FNKhrE>F9LWU&ju>n@V#>y%^JUk33$6+Ir zWtNxQ+)&di!!vAGt|&nQk|}%pz{QIfuLujrJ^LARW}6slJ+eX7tg5OCky1j*is?v= zlDc{XOvJ^k{x?Yvytiqk#J8|6=wCtt0s{Eq^WOl`ve0`UakR8#D;?%#5;CPkY|GTU zY*YvW^p}Y9YTnC*W*d*wpKWtdysC0mw&lx(wlV)jJS}aHjPstoef~QIGo@w#$Qj`G zeHYLWngK7$%~USwi>=-|j^xeYB{KM|I`<5F7Mitm!e-WbT)mfh=L&b>3c0xHeGzJE zdxt%x^OfDFhEMOJX@5KtvVHF&DuoPH7HV~wv#v?WZ`x_e_aj)IvFWec3dAYw6100) zwjbfq%njkSQ&BNpnWCGUyMDqh&}fMlrapT%>-TTtIQy?>VMy6MqL53ZrKhuTaVfz5 zRg;&O?-QxHy71#+XqMO7V&Kb{YBT+nT3s1UK>o4{*qZ$Hob4Er^Fd@Ibq^pOd1W|?JXzQRUQV%kYhwlt zVbB6nM{+ZdNy91OKVMGjfXxG{$b}pN=e4yyDvAaGH}NZgu@j??#pBRcNa9$x!LSWk zUR;iE{r;Ax*m+6^yrT|4{g9GJT@H6C0laj^@L7THzpUrIGCb!hB()F~7ncJ&Oq?5% z^~x#ue*sV)IvQ5CraPu1$0RChzz`~R`o7)cg2F;Vp_yVIU^E~aUSEVPeFBmYm8I!E zG-UDjNljI++MB=A{9!c)23 zjmn`*it*V%66nSWq7mK&!R+9G$eCXKa3S}hVE*6E6)e&NUQ2PE+1e?HyC|Eu)3L)v zJ~&kAv4n6Pcz8GjH6XAvx4pgHeJv$9nWTS=?xqqX((Qoc7636Jkn8ui*DwQFYi?wM zCZvNU?xW)btY+VqEjYc4S(%yl!io%Q_EFN^eBb{^)XR$lw#3@f3=w#U32R0n*Y`Ib z{jlrhTgSVN#$B%H%SD1<807Zc7R$50fKd_2#kD%Uzek7oDAo5}k77i9svEJkEh1}j2n%9qWrd7`H&ZnFce+Blv zCHxciz6RtAh%poJ_-#r8GA2k_xc=b~jEi*;Jd1DuOVwMIo+1efx2AZ(+aO^dhD3si>#;7iSYQ4_BIa$sUb(qC0gRL?uuq}bjX0P7EZ{#3=mnjW5=6WfV4GS&Cgctq z`P^JvCOn%U8Lzr+eybCCn#RV)PgkD`AgmtBmnOX+wKaV7c~DS?rh!+QcA;tgxD!UN z!r6WB#bqZ*Qb@pQv?DMZD2@(AQ9YYd-6%chw?L%n5H~;VXH>Ja#2^SA&>uS!)9uR% zo&^ZI#o$7T5I{(pRWVbg%M~SiTHiIvdp>r+y#Iq+9bwa@dMyqT2ZZc{P?80qe-$zX zxQj=;+`^!$K;oapE?2&90B1{s0^0y&#Z52FRl z)Bgb&VtQt9!&}aiN)Y`4=#olKpFTZ-nXplkmQX+6up#l+@rQ?nod}=jbAe>;eZS|t zJX~)2bf|DA-+Ae@v^2Pt3ZVbN!9iN={pH6<28K#}b`KaiEAHy^869WC=K=d4Z{GbA z@;?ObAc-)-!X!M;#u=I`NbH*IDm<5F8+~}E?h>L}7eX(tw=3pa{L_EGW`iw5klcR@ zoo0b%xr%Xu>JT*hTSS9AU(HdsRJeDf{t zR5a7_wr3SPtbG4|_P~9Yv|j4{PaQ<09u>rUt)Nx?78ol4&w~R^N2mcCUEp))=H~&I zV_T^g4Isoo!WwQ29^#+t{BjZ;&b^s=%l`{2y8uSHrFir~M7)-hl0rs@6UB!4qZ_dR z-!?3*&iH@O&zoHQ_yx;IYH@@jOW=bp_qxc*y##zW z>|Ak92)&NPP)MUD^eSjFm5eNLEu+MGHuxVJ|*(b&Ly3>dRR!w#(|ThIA=fe zBR{3zZInJoyHFAV1i58{hgLkRa2sHzozd4GIssZhB9BfbBm!l>_DM)e?)$xNzKZa9 zC{)o^kE8L+q)}6$fQyhZj6=bu1Bo7^2|oH}@9h1-t78BI5$hf~BG>u!WG@nNj?xRJ z0=81=>guA*9R{+d5CJ(zQ3Wvy0E3(v9ojR|Q3l@H{JnNh5xNA~ctG2)b|h@#e>$eP zy+0#bX}Fuy|NpiV=O^m1y3~FW3ttPO%ddA|941C=JMmvWA!y2bDi#)5z%Z)m>*to0 zl~JibPchua2j)yFDk=+;jd_gMFg;q}(GQG%Jh)Q|=e#E)b0}%$bT5$T?vPD{;ARju za$s|@^t`5D^`Z!x^O$*orOcK--F<%qN*ycw@>FhLm?t9_@|KW zYf7qX`6=1>Il-&r%PALlA@S|OW5=R^903mjV@?L6(dLL$ih6eb>Jf1y)#c)fBv`5g zi=Qd``S0MGUcz4>hJgz$2Hr*~>M7Opz(AFr5^Iy<>lQdxrk#vU2~zm(5^MI*x(j*4 zb0i0=GBpx-|P$fJM$6*w^}CN6m11XnqAjcGkUR%HR?3>13-S zmpYpIp|B4&wSH%1Li5=;yOTQxFNAkqz9W6DE$~QbypV>^9PNOMmM+%e(ww(5CBc6tt$@4C}2 zUg6}r({{X$QTeDE{+*pL;zdkN)4#qvn*wCTNt9!^=R4Mg(*&?Xk&EC_sAyN^?-X3;o(;V1$Cf=7v==~ zCz5*T6q*KCtgKJHFcL|52NO`Vx*e>rkxo0?2Zq|29(FE ztQ!Jz3EBeJXkB%1f~mDo@%AecDecKYI6)vIWn^VlfmfQY-tvy~*<2xqAkGfb*i@)i zumM4f#H6nw^o?q+d#JY!^W(v5N5sMV6MRHg?={kVS1+r$TTMEX#KYa7<}Bl+WYtx0 z%K*}^2(p>vs4zpzL9#ZKv7jKUhZHy~vu0tA)NO2R#AWw|yx88VKg;ldv;kwTE?4?k z4RoR{&keVKc@xH$ZFO2g;Lb_T`_noRQBnLlTMVHAS+fUdb1xy=RG<q*j@T_% z>9h)dbGu0S(svQL({JsW5m+z=*(ff8RiObso)YV1 z>CZcyTynd*dfoMRiFHn>=vs!L)0iE80}vCW&+3&DgH_9eK^JIVtmUVsrs5<9B|{mS znC%bH?u)v?e9l% z>5-;68E@L1Uy8hNv5bUF0MzHkfXL|7Elg0wD5nN|HO9D9_$fsZ9>BVi^{clw*T7;Z zRf&c&I~>om9t85P&dW^=yuW{X@p)(3?h3YEo5N`BU?Zef3AKy2xTC6ni5E3siS*wJ z>n5zP@eNA~@J%E?QtdZmxCdGNQS`x&+ZqGNM$8){Io*GMS{v?NiL)6?$jrZtenX&L zl?s5d&tY_^BP-ODrd4jgm3=nMMa_s&FRo*YBED+8P;N=7PFzi${bDeE%AENxL!^gsW6&D(d&@Yu5*hvQ7P2EplqS-K1xbjh65~^)_+(a&YG| zR-ps*91y09B=acDEq5l2XAv@#v97nrEbS~KY|izmAO97+wp_HE+NNnES8V=85EoQlkKQ1V5?#arzE*#w+e`IEEyP6Fwd)LxQVLL$eCOg3mmMyfgZ>Bl1i< zgdHxHwB>OzuH@GcE zsErrrEt&seNVqN-mwL-KE)fbP?_19S4ZEGmz0J(ZYFh|kz`Gb!VMSlw>qu0{+2tJ) zNYZKAw9FW>#i~0vyKGEv9$Y2ld9%dk*w0w+*V(nb-CB>hR_Y6Hj-}|7{-l=|W>>B3 zVcApUQ**V*e27B0x=bwIkFL*-csI^%{zTR23*fP)xXZv@r?KCB!*Mnoaae zO+Uob9XPS`{Cj{k9_J2~BV=aN>UrtZ`I2w>=sk|t^AxjQJ3`p4I<4yN?*4Ig-|YO~ zi$hev)G@?hY?N7WZpK7kA&=gP`ElC>Yho`wO>oukOB?QkcY%@HpQwYX3)-0~CjC53 z9!9UbRZqyc`MKr-?HtPK!mmSwhm6*3m;%?0>3&g!%A&|T_3_2d4v_x_N{d`{&{oR$ zP&X^<*S4RVY!&w+JAH`>1`+$LK8*i3E%3!kD&y0_RHyt9lja_+-!I=<@Ai$GhLtcC7NZw6~;g z?w8xan9;o;mIyDMc|FZDaA$#DI_GQYTC~LRj`_A{3>C;c9Z;?n^nPkvz3BD|J8X>!Y{ zuXS=C`QaJ=&GmYX9PFbsQQ?JXD1V;;jp&{u+q>~<7SMB6_3JKt_V;i`7tY-%-Uw!? zD9*g9;?lqL9^^pOiH9imoY;A95(dL2yhgl?7fqAQK-&-!tH1@e#adyVhVyJY5^q1< zrN-ndwzE|)@tQT$sZZB;*h>E9H76_@WymUiAINwUkbsrtD!=GUz3Xp;eQlQIa4Cgxn{$MZLYh|WYtbJ=Tfgj z0BD|0eLO_LOS5xPX5G?9${$ManvtcKDne;PH5GmGrG)o|w1X6j{v!$X7tTF60eSc^lNFSelmNP0+sSTWp_}YcDUp_li+Gp)c@E7lg76irsg|oGJo8|M`#+*e{4YQ zIk|H=Ca7Wj**}A^#YtFrE7-aa-N`MsM=h7NPlK$A{Ufa5&J0rB(Jgt@R)S_nYs~Og zuPu-DcnZ|0IIU1??sWHEDhQjSaWnTc`%2n?~d7#D^oGUPE|*1Ki)TTX^qf-^@vx| zA_Plk|MvFv1m2@~oa}GV6TFwPaLauta!4&_frn$#6akF6h(?1(femffJ0~AnP zF*z*Sk=3PKptT;`znL&|C_J)59hglAU+iwGL)+ow{2m0>&Ls=eM)x%2EjD9xIJ?!c zJT2v78teuWk4JpB!Vr3uN(<+db>a~hy8byCyD`|b|96mFCom+t@1ONm+Odq=rf2*k zIagIOO3=%~m0shWD&$FiE#ROja*v8-?l`LR>_8-M=5msVBK3KT0r!h_G#{D&{MoS! zxy+95yIo>GB$<`oJ~KYWUK-JGjv)hy31!z&Nq4sm>&YWX9xUmtuZXaH=yy(NxtY7z zSQ3%xnCC5{usE|aj{3fXZ}xPh&k(a5+1HNuxSV2Ktu5hW$kUiv8pD6e;Fq*O-Ps{F z_b7vSu*CMh&zA+~P+~^Y3iX_8rD%_L$L68(9AzL43?4=vJintH7o$QbvUtl3oH5?O ztMbQqWSvPT{wsFF%kBnNEXYS$NzDbz6_y<+5RFDjI+0 zrF+UD(oR#V85-exDnBdwGwi`Q38Xtzt|M@sb)KfP+e44R}Vax zSIyaLbBmNO+NZBI9XWY)mtgD59pG_3D>pZ?#&nrb@&Th!&`r(A$oLb3ir%}kiBFU^ zrroO;jyfiENHa&X;KwPDOzgbe=O@GvitvrYzkgo=Ss5%V5%fam5wYk?!!w9p1@v+7 z{wyGPS-H8n{nP>a{fsKZunixWpJ6Yn=)A0*4Oo47_$dXi^d6^^?h9>FQ9yEuUpL(6}t)vtujS z+J(GO`qZ=gw3pPD5}@xkObzp90VOM@Tn4y!-5>^|=9h3`ELSJ*a}7ON!*_q{huLVp zlY&!49Sg{yWBF}0fQ?=NZq4G)U@cS$BQIJ&;tzHCR!{+vx^L1QrKA^BgR*1Wmlr2P zyYqlm>6yy)m~s+ikp|qPpI7>)pGt=}kH}tgwd`wa=HJqYA8n~D`(l(uOV32;k0=A3 zoI|Baz25W-9~)*&mW9ZRrz0zjLnl7-J>NG(d!2h1?qDAXDG~h&Yz*VVuHR&LGH7Tg zpu!Y&k^0oBdttzOlZru|*ny}%yJirv8K^Wbl-T}we;WiI6rTG(Zh;I1I68ogf6n>v z(t_M#gO56*mT@ir_2Lf#3eZDOUf zU>uOGDo})rfU?mt|E{rFTl4w3IeevuOV^{#KF9s*C;pCz2?&xrAwKa^$`Dmk2mJ9h zFPhjx$vPJ16FCL6WGR6qhU|8ODrZuRRUT4!d#ZjtCJ7#2Da!ZZc^DkRqavC^++;!H zMQLEI@h~O4pr;9D6xAOe9|vW0Dij}axq8aVZO2ncqM+{y!DT*gG93!qM+FMPlVr{6V(O!MvD*{S>8V@9C^Su=4 zYjXz-1Sx>`JtTyD1xYgrpM`W&w2}}fh2mw{mW=&B)qwQzA{)jEs%ySfJFfLozKx<= zrYwr;&f-opm6(GDf%KE9ltZ1XDs4CCsqI>Y@4-`odSR(ghpCxz_xz34sFPPXMCn>( z8;(9JJAq2t!Jc=%>rJRz4FB3Y_%4FrKy(+sf81ATC&6RV`0cdyyO{lM1nL0GHu$76 z+G|4I?PgfMc1CKKdGk&%II!aBAIMJHKL@B;B;j~+AjyT~eXN#_DC zgSEl%u)PWDNfX2N3iw85ds%)z-UDQ$RNv7=w};zQItuka=^^|0uoGGB^T2s_f5^KF zc1kXZ(kwIiLwo43i}^;gkv64m<%Wl>9=zcb2esI%f8q$_=AC+LPIX6#%1b>{hO{2i zKElf_ggIBs&>sd?!AhW}`PV?{hqPRWLam7z8555l%T1Rb2wD3WlXK>H@4JP_ZL%T`Q|re zG^%NT(3fpR;{V$%b5{>0v>ZSm{0D(We+d~BPvW8wJFq=vsFSm%RjfD$PCTPyPJ}uyHqCi$eJ+mGwE_>7n2? z*nUzJ>fdQ^bp4KCNvgY`6N+7m$b>>`|6o0^s~cGkSKbA}_5Fx%NvU5aN3tvmT$ zg<{XyooyEu6GLm=SFGqVX-AK)?qf*Lw-6_PZ^RA@G&r_eiQ7h@QRO!tFR7VT(D%z`&60@L%^}mU4|&n2OFm zYH>|!a=rnB{`H!4HjXXUle}onE|khoWE8+0OrDSY?M(k?QS3j}_1l*Un&}K|E>5Ptz8-Qi6;N*#0l$XZ@Ha%z5U9|UKt2MZj`R;7 zK2T{KLH4-$0f6O*Oc>gxfL!hXULqM3EBcB;fBa6II6(?=o6N6U0Eq<&s!pBIbrcaF zpZofP6b1mA(=!Boq1H{0p($>*r-X`tGKQlP5qFY|@5HXM|tkiMp3iw;TXsVlUBrV{CPP);NDTjdl< zLNQcPXa$`zK?3OT-FMo#0<1+36;PPV4|*$nv_YyehUk;JnwSR-uz2lbT&)3{jTR z9Sz7WAEEtsQk2JDCqMc?^xH{M>Y<{EqvKTtojM{Tf6_6I&#I}rA}Syg@k`2^n%`LY z1)qf5ugi_hDc(KCp$hc+Y3u8rpm*AbHRcuXrLoe7VL^Ei(M^C@oJ(48JoQa@R8)pp zf|myIzN7rVk)`}}p`aTfyF-;SW4f=R(X{Z{zl`WJm`w3xV>xd2ol~)5u!vE$rpEBI zgzRa)fp3=#HcIxh!>haWT)POCz$Ctxk>pX+(V-=susZ?+vjl}Fbo*)8>Ow+9p7Ghz z4GWKt=aNSB-bnLW2rC<#ppn`}9n2ry(YoV3);G?9us)N6<}mRrEj{t^Ft%ra^jf4ekrd@bkeuO5iq?8Ni5eiL;cv}*hO_8nu$2H^^!r^IdE6f}%_=)27XUH{%<4aBU(9$bB5a|e+S^Fa|>K0#z#_KtKmA@YApz*UOT<5Jg9#};MF0d&WW z`%e&HA(f)~CqX4$em_?!iUMW+6+sk!_n^Rws69bLX$g9P?lO~##nY$8lp$- zTj99zOycsr5c7H(F08QJ4UcF~{h*SZ`zbLb8L#SLMHw3c8{RgftFY^lpc&o{$zg%E z!UGu-!-OP7w+no>ymRy`b$}b`#8Ji;d5totzncI}4r@%)2< zFJ)DYcO&EJYe>4*r7*(>a|M*3@y)Y(a!-6T{C& zC#WMJHCB7_;9;T8#qy&JOMgK8frn}iuk)l9BHI9sURYnVCO7J1{-3-(C=>;#_={Zs z7;);X7e{8_&pBZhA@nOh(56G0Rop*QRYR()hAxTgAgE!o=92kn>u6Wag;Qq}QoofM3nUM%$Eys4(f3wrvzKs3iXR48O^EhlC7`e#?wr>NHH?%}t+nFa1zV z!_iF4q%TOa22~1A#YRF8d*^e)4X^%(Fa7uHfP`)2``Z)&#}R}HRZW*`qj%{|dj9-* z;yXqZl^}9EZ)nO}1^2eF`i_5r5NP}RkfM_0mLs8jzP_OQ&RR<*f#H&_@jJTw7lAT2 z=LE+5TQV%o>R(Sia+dgVi6MTDA@(ABM^x@F5M_ynRw?9jd$5{7VSiE(33BT8A z`nGLZcK=g?NN0xkPB`~q|k zO>cRm@~SuD8(v;1zO`{Et!Tz3=7G16r%0Y9hAsTn>l(Icim=|2H@H-HCxS^79hyK! zSbr$xfsjH*K>W@>OBNepz39pW&AUf)QKEk!m4%@N~ZoWy*^BM1o z(pN9%yInrIu3?|`Hi_$S)5qWSZ$R;#z3oNsfame0v4T;!FZ_ACYDo}eabm>0Q4qNB zo4t@xKBq#5%j`vOgo2xu6=>ly2gRyjdW;jkzdO#c+WF&t+Ozh9y$uO(>$%-g zsLNkH2krn`G)BY%p(5=D2^$rMtUeRQCu2_y;Pk#(Vc0ms3hhGQNqDI1dBfE*K17%l zxLTevEoJ*|`kLUdTsM&wQTdg1$%PSXMEa6WD_ee)1+2g3JfxKk)G9toJ> zqAQ?;b)SS$|16XUB()k`PPm~_@_sgv_=}9kIL&B8O!g-?>|XoL+N2q6NqyEv)mbB5 zaM2QiuL$&|t0N*x6&2`R%zpm-fB@Z5XpcwKuHc<-=T)Wwm=biIP1GqCoO?TuLhV7y zbgf2{&}_QY&##UxnN(dnuDRbUVje_!g6|!l9-Z#Z>>i{KEReP4X?JS>Xw%RnEL&b) zPHIhh3a562V5>o00SaDT2g34W;)FW%{bx3U(|-s%ODqV=+m?M>KaWgh6=kliRI57~ zSt>Q_s-o|$oYS26n66%+M#FyXl8V{Fc$RA3*%W9YXXW83lomDswHz-41gb=Bo+IKQ zB@WqK|2{ArXqzE&T92jTLb7tp_`JK*gHg$0pXxis&vYZ`hFV#~_gnpVpM*d}sBLs* zj)J^c9x1c7J}U3CX#yv_(78W>t)z#FEQo%|(fL((s#kTWy}wvi{avY+vcGJ`!dP-) zZiPJ3iu8!1MGZbL8Vc-+dE`;Ln~7@~!ijlReVHX02FVKwm-)KOEip$emSQB>y2|8o zlCxv%`tQX#HVc5!T7VV@@*4UNOqI;s4lTq<8JPV+ZxjPR)k z6pc5Q4zu@Wzuv9TZfg^h2?FN7pF+6Z7>=mMH0VaTZTn#@U-G4hsxbF@97OS5-toyf zR>f9-DoD{MQlyV@qlR0NzOpGB!l@6~dpn zy|Y5a)0Woy%ke@U#PQEO3dGbN?~LW;WmNn&#@hb438HNqv27X0Qd=3zPoz$t*2|4v zHm+A;Xq^uqp20`1G9Uy*FT^pOOn1+5FOR+UDgqw&o@FO0i!$^ahwdbVyh3WBq=->&hrLOC~PVR*xT%S>j;sbyU_JhoY)-utt__Qxj1JZGB@QkLHd|nr6M%i z1iOp;bNeT`>FJV?(R4u9G?_qbEOHxVD4%STA^p(Q3s_QByMvX?`*ih)wXUEh^?*+r z`_~ZsjE|`F(SVe;78r#c2V$5h^T1j|-{cLO-pmNBhE;taK~PJX#n$y*a?fwJhhGk` zm<;cmx@O8yD(jZe{5s`Pz~;^IONdHC=nk~F`q9DKQC;;ngfJL;f} zprEwV|C-roejOUcpnIysc7O{@poMNI)PT=cC3MrCI)0ofs*$C%hZ9sEB$6fdDH;n~ z@5hG@1*s3`D(4Vi^$fic=8_0WJyMINPjb%E4wSAp$Jh3IhqR0mnj;J{jr*c#@fAVo zy^f`D@{70%%*Mwys@BIRm7w7Vn_F=kx?_{L((0kHk5<_8`G{BfJ!p)_4<}MA&UEL> z7({m)7pq2JxI^O+%~4`k4?yH@HnR~Abz547%3#>3<58L4mW{h=zS}Fhm{`2N(d;9h zKfOCf=npN@)G0IoU4zj_2NZly{&W&lS5Zz2e|(xvkQMR(-h&!Jr(!LYD|jmE&HQk* zymwauxEs}{)LYnR)ST3uG8+ZBfHi4x2~sb!%vG4iYb^C{oJLRg3gAs(57NO#niY3a zi5XP!akHGnDe9{_sbIPn=&neqJ)&acVZ9?IbQr z^AZTw)_QY{&yeM??fo2T z+h!F{_lhllaz}V~epL32P1U;{qhx%;5Jtt->Ha+iZPR7X?($Vx>g<&}Q>sIJe?m*G zfQ5lWa&G7Cg{5Ll-IaJ;n}a6KX_|6%J*$Fb&CUHIZLYkc$a~uAP-uv%M$7F6lA}&g z{GrhF7Ry4c@yrc3t3D)UGWINBHabbWaau_vPf9|!^9pDBo&KC4^aSBFa$cB{oSa-r zJe(_dzV*P^$Ahi_lNP4Jp6OIrzU7D<@-Y6vofD*?I*uUCHBRp_3OzPwOE z$xVCUe9eS%4pyhQGbQwu)aCR{4xbD**&sD-or}-|DkZo6>mx%HN5uu^2gR`+S&N z4Ll1lAkb-#le|I$GvbQO2tf2#O zSy?CK9?>`LldJA;<`lG4t(3(-<&v(b(zg4;Y%enfB0SkqYPlM`{Q0)8`QR6aeV~CjUOBeUxZ&cAs{t|sJSSTw>f!-$)Ib#O$ z^jAWPfVGgimDmLbnrXuOSO!y)pbiJIROOZ!%19lCdqkYk;%pd4B>kAzkM;hsec*<0Q*gs(zhP%R?nsY@3}VZhkf?)-ul5g8HmRkc8n4?1__u zcot##w|b6nFhe>5QPa|pa{}N5IHs52aMq8&`2)M4bt(MRxwOHwEe-q3APZ(_kHj5e zOx82t0y32ndSHF8gi6H~syJG(Br)6YEsoT-!)e7A9P zT6d`}_xAZ7@G`2y=q7kJ`1+sJhyPQ|`gZTi|BgiN^C-`qf7LXkEGunm8W0u%PId)R z?Tt~*Z$o5%NamRSs$>)YQRtoh*Fy3Whp3BLsoBh5K&3$aSET^Z=G%DWMS2d=i!~4O zZzi(rNGF&ybhJ}wLlwi+CjMZuF*m+YQykd)_ao1SrxQLnKg$GR#EvfU&SVCnm=pXL z^}`)?n^3m<@$Nlr_ZgskTxU*^SpN6QPTAv=a*q3TkW33|ws&f&ZJ=}9yj6a-$#phcg{OuI%QKD z*XoRFIt_3Q`T7_8UAXiB8o1z04LJKnrSC?~RbDt45mYV+GXn==sOszMj|Bpu2fO0{ zMc;3Y-22<5$gF`Wx$L)nFb`_I_F<>oBuK?_nnl(gAxDn5k0k|= zN}xSdeDB`9phi>cy8$QoA;*FuDEy}Vpz@mI-?M_^6f!Q>L&0T&e51WWOm-Bw{4@KA zXK1N+`2EN4p^cTA5teg;t=LP`wbCp0Fc$s3A>*cpl$U;)G)+QA|K={UU<@W3a`XEE z=2W?ih&&6A9L--T3Q0Ia4YOJKkrUT|312Op_!%_$Let*OD$ObXv{uPikbN`6Kgj%SBpH3Y4^bzeZ<~sRF)WVoV5!Wd&oVgE+I#V!eOq^ahHpngaij5>e<&)CtZPPimLty zCA(2F>-Xt_F_WCSjQ6v%|EIn0d~0&s_6=ger4$RG2;vd}rCBIaq=*Uv0!m3Fl!!{N zN>jQG6hxG&^den~v>+`A3zS|%6+#h(1c=f*cf5&vpMB5socj-)%LhM5cr)Kw#+-AE zU%@G`DTQ89a!8sfrHJW6E)X<0(U9NVx%W^4;4;H%hv4t7HH`hf>Zk3R<%9ct_~Nc8 z#cl2fKHmEL*gaR2BM>1ZXXvK+y+?49F>e6{uI5(_ust&@Wug9P9g}QZ%srY80NZwd z)i&lnyUoETCKMq3TF$^d5^73p63*K|O;2gymhGQe8RVs^307pS$V8wb|L4=BW3`?c@~if~@Y!*G?jU@C#cP*FX8gshH)&wg$Qtjff$Z4B4CU+yx z+rGlvZb{MlA>qv@BQau0COfCqQkK^hm+aB~A=`}DQ3Z5tbkK*AlAE*LC;7WaFdh~~ zsvoyIC-l(?3_%|dG<5e#Nrmd%MSh|J{|WwGB|<3kOOR89)Q17^fTvWlL+(^>SmX5g z;XJhCzx`Gx$qr((;J4zsF@3cnZ2(yYT|bNx|JN7iB`8_7`{C>YW9{pIAS^!Ltp92> z`^-T0y!2Koo-?fMgrPLNKL=e3T_V4FUEcdN8wRk=&HFOG-{pA07$ryBZ`z&%#la=L z{F>Fh%^mYe_am_>#Sx%A;%J6y@}qU01gPvCucx4~@^cl|Z{rP(c z{wK79I@V)Hy}w?^szf96;w62S@gYUnlG^0u^fQEhPBfPY+pa=3dJpfL9;z^W_j^;G zaZrCOyi-$Y7xu3|4|KI3d>?bU3}?5e(KuufW)PN%{+p|iA#k-D_%Ib_N$95vXGhqw zz{Z6T0?g?fFBhU%{4Lz9!Jd5_v&K^!u5KBgilnSCJOACJKFEIP8BQ-Tt+tE`nf-KS zw!MM6_J^Jo0$Oz^6~0|pb}qq9yM-TVuqT~GURC(d_q)#YCdNEHfU7W;Er0B>`FA`Z z3>Xa$qB`kYdC=XT5zO%2BbWi>T|y~&SE1s!9T{IFqYR_}2&7#bfcnkffSEl-lG%~Z%TA74B|LA9GmM#9px~;QUS7x6}{`=R(pr3?rF?=gi@{~Wm z$N({JeWc~|Z$4IqWLS#=ehKln5G)cLzUJ!Shc@6c0CWzNIDKs}EN+xak|XYq2G*#B zm|l%$UF|CJSVE@D6n(m&5J8~H)*9t zgXcE(Oqhii<*N#&17DgUXRmJ`J>sEOLG70P6h7bZ${MkviFA?A^}1354*q@YDsn`TS2QoPAvCSmZCjk{Pyoh zg4g7q9{mOM=7w}J3@PR^p+C1zUqI$IR6MzRt5Fh%>0g0DXB%b2NXLiV=JqbaRV3@# zIhCCP{xtNdr4YT_838Hc5aE^LJ-zNx9%Xt6Tal|GxWIb|2t*S6^m+BD*nTi`Hp$Cd z8$=HEGS1~*qEUySJHqJQu@e#JND|#tG_fNt?!Qu(mI+jF7!@U5`U#xNk~qsx4z-VL zCX?XsP$t~ z)ZjG=vab2@X~9jB8NyT)oiE;o3gqxi9I`^!sy^q5H-Kit*N%7P;s_8! z5>CaO3 zBczF?B+Xq1qeD_4r@RY!AG*|l^hGG{_2+vR`8nHvonO4fC1HE8bAX|XzM=&|E%i#k zFIgg?!l!cp&v8`e(LmzgY4Jyqfi+p6UGVF+NCZ4jZ{?1geLi~~xRI7f~CJm(3 zc9zJZH0iidX$C}kBCgp+GG8?lHw|*7Nz>t67d*p0petW7F7s}xKx{&3Rh55o3O{O+ zGBmw^-I{RE=NU_vO1`_CFCTr5j5&h}rReGuU(ig{vB26<3@>or(D$PkX-g}Mv8{`~ zg2(2^BXJEBk*>q?9qZQAxx?7p?S80wOOJ6;KE5*|9HCf5d)Ta}Ugw>n) zG$XUhtFbNQY1At^`;^-spgLAPb&_12orHELwJ1X6bvxPl>!7WGf|+adr&VW`LbbUH zrDF;*(Ku=japL38a}_*QH|TA_u|2OHsa&qS8lXi4#jtHgJib5ZPhSVkbB?djN+v~4 ze>m_v&8bUHVD20QS*~HAQgYJ!*8=+Y6K_QtgPpDVywkms@(QhKrz@6C?<{se_crgQ zMfK&wi0qB4-7?x@K?|6fpKSJowI}+!&rj^Df}uM9=TYTzxjvbfUTReI*Fj`UTKzTZ zc&9G*%cvvDn}hZoX+JoeQwI3sDUU-t*Kyop!L=hOZeH5v<+zu+zGj!wFCooF;)pxQVMnWQbERW0Y=iZdcFOT6PacLnGUIvXw%CF5HB<$u88>UQM172j+(p+id0!&K9~y_{8w7}F@Ko z|IFTs)ddqXH^nPZq1^5G427kKbu2eDW)=-#p!U%(NV-&_S zTArazCu|HtU@POFa~XTR_gUY@n!4>FKNI78?O1IE&5gAsR^*At=^s4^WhBlxFZB&w z8)B|k2x&uvgiR9lPjYT{IdDjR7aRSAT6l5`(ii%rPOBS z@^~c7q7+CYKq>_yOUH+>nbbnvm)-s14bY{Db+@NozmUl`xqFbIlcj&}OU|uLx7yNK zmwI0j!WwWJ+`S$q?%b=W0k9vI|M=Wf08m)guP-@oBsgDrIsjwW>GDiyo_`|KrVioBcM77;e-$JxkP#h0BSF$H?K>!M?iK9~;iwmI$WJ(_v| zGe8M%_pPDrO_s%QKEiFSzaKUBko3Ol`egN?{b#YF$$o7(i!s9&|Kg)fF9}0LW~V>* z=VUj|Ov=)<)UC|uKAVeA@|kXf`eX`_#8R;w2NLFPAf-w0-D;M9`WHxAftvS z=#6wmv}e5vekqoYW9$y{jBJI?uXk8ilx@BiD;af1?p}GyC}}#)qq*VplU)ndTN?&^ z{c2uLAzWQOB+eJ1|&evav8X zNS3}TqrV)*X6Z!req$mzkyKy_5Mb2E7GQ3)CpL8(|B2Nm6-)kfC&HSzwFr&3K@ zPx;)bKgy2na2}X;Yp@;{KIhvu?7#~lNkRsp;tTskr_7c4WjSc+)T|1nw-I_Uld}|` zWY8)`I!ut3NAML$0c2IM{JJkl=9HQv(=~HpS%T6TYwgp)hEQ4`onk|+)2@(8p{5`s zA!`#6BUjmOY~k{HusbieVC!bN?pk=Jn%g)2vcaPXLJU=k^!a@lk^Ws+5OlEW$n6M^ zW9tK{2)onmWk;-?ryaa=r>3T=4l<#bY1s*-&^*tT`xT4dM2y?z)ES)&p@%~**>9}O zd65-IFCeHDhDWAV$B&H-wo;`paN4=-kUfu69pQQ zT*ccip#I2LTr&d%wEIM*M_2ug578>lmcNo52mWH6Od03ra_id;%8SR8^r0cN>3oX| z)^{m2uI!+0rJ8P?O9(QKS>yVW?#pA-4GLCobILYXs}Al)1<@}by10ySh^q<+D5tuAfukhk4TbplE$K0}k2fk#9d&<;UIatzOibct24I;$rs|VmKxZEC(c4 zy0M5SAdUv$o#OfM!qFfuNp(c|@ymt((L-Qgbpt>Sw3+~>n$3#y(K^qn-c|L@Py5no zAvdeKZ-ZooWn0aX5kHh36Hx2rCj=ziX1=-S;=tet5e{A;6J~W zbR`^1zX*%tu=w zl=iRkKu6wbT-8Uqrv0`wkXN-qi}uLy`KP-LJjiCP`tqqFU8gd~*x76A5nuVN@q&;&BD4$`akGLx zWn-48Q#68#!L1KBKPtC2yI*G9A6q)w#F9^x@>F|YdxUj@n5*twAB3m86mMZt3Qw$Y z@w){`c4n8|(mS`6z8G|;WFuOr^H38&kc0LfP!L{omwp$tJ{IW1>sZ@|Mo08EJ8hRMv?VuCAX^u_;jtW|e+%KCxni(E#(a zkoQUC3@HZd) zPJwWn*}hNt21hm}ooy~YI~rGpsql}_-EyF|)I<6k7GSag=s$GYijt-X;|7 zD;(fEFgN^)(lo&*_FVSdx#S6^k_%#E3KK6|CXTg~P#aF>2Pm=kxv3{QCp#w>s)fdo zc-4K-^Y6B)IpMtsIl`Ex`binwE0Wa8cZE-_&G>KqLe(<9#XR;MD1IB3_I@@ov$=@BTfcvU%A2-JGNxy3Ths~&QK`BR zpA_)k0I?@Fp&ckE+RnkIhe#BgJh&a9l18*{=pBCQ)R;ft`^B*6qu7-t#o5=0V)@jw zZN8?o!yVIK@Y@DZg$EP8Q^sursWvLSoMG>XqKzGU_PAPFWf*qO_$Yzj!^LzCR1+=x zUUhbEZNq&vBW<2~9@kMMGwuBOMeO5zV|Wlb#Ms>@+W7p?f`{0tJqh}>)5!4K2N#aY zOL#<7uB>Zn@`QiTUEB4uY{b8MMe+Pj=jm)W#INaMpBU;bjr{AIj0RpAzt_O&n!v(dKvO>JnR`*5X)UY_}z)YypBeHEdPi|wGN@K+wXI~81!-qrSl zw$J_wM1)8T#8ZW>x6I}5o1S;ku;MJVTVrI9pX+mNCh=t82BnNa6WpY&m>DIyk2WV1 zDWJMeoC|J6^Y$ocmc7T1-if(5P@FcD>#xw8SKo9KDaTYx*ZOt6iRIAIW#;_0hPE=OEtlxYP?}IY}E-JJ?W&I1|qsyc-lV zX6=QEAG^J}TG$VFdD)7jcX;tm>D(v0DRubq1oXL?$cqdKlC%R*p{d8>RQn}yD&})( z%4)pn3of}lo3i)i3He?N=!Sii{M z!#VMBYbGbB{xfS!yeB5zA~M2eStink%;WZTa_`W!U#PZz+7jzWYK`)1O`WT=8xLj0 zJ3Ab-D1wol`?|cA*BLg(8)H{*MW@`0B&Cy#d@80Ehnu&<7t%&7ff>nmAAPr=s&9)+ zkyA;tb|!@-P?O2GDvqu?W_9;Cw*_^2r+vKhWv3S}s*Q^_HTqGxJy|_JT8M^Q4{pdO z2|1H$<%u6JIkzo^Vz9}Il>}oKo>!fW!OePTG`ekx0hLY5OpMuAm$a@wGQ;p1t@Y^D z;;ilpP8VGjL)Gky%t-_@w{1HT6cx9aqV`{3)ciQ(BZWopdEnRa6r8j^lIEk z`qK3BrwuhHC>{Kl*6OGK8Z<0BeLigB-IZE$8=q?MHG(Q26!!L2q7t%ctF`bLBHp^k z$J->Ua{a2{3HN#bz|u^o+m-^4LM!7_Hdb2klsV5bEtw^*LFpBNE2{oK=3yi$w2>55 zGB%Dii9fGRZSpYKUAceI3#-aJ{q9hQZj)OCciSaiYFFh~t*HC0#)!C(bPCTO{fJv< zAV5Ltm^?1iN>=*3)A+&}EzY=J?G`50t4k~GWaSOB6>k@=Gdey|-odbZm5UWoRZFz5 z+zAT`{6gD=PgkTHQ!v&K{8A`l(-~n8FjtohVM`RB!&4|ak##ulf}Br_See+C*E0uD zzvPh^<7*1Wo^l%-DV#;)11Vf@Z{|j~Qr-_u-urtn&CFo+{-ul`BBBv|DfraZN)2E& zFi$Elpn_;iWba3-PJxQqSq*Ffxa7Rb?qq~*Gi^oT&heFDqv8kwv48!9>Yb-%Uq%)!1J7zrP>IH;72_$rbJnY*Zgt zr{i*UyfS5k>3-dyW;L2CM)%PBJ#WHkBK?n*UYo8%97akt)N z$rcOlp8UCmC9E#w5<&FmHI)XErSRs%B0{o7fQRcjo$CI2om^t zVzSFSvEpujFndG~Ib%hxu(%_;;B@H?49+PCB45GO5!A1ET8}Az{W*s?@wijsox%x| zh6}I2a#B}E^1UjiZ#q#i+&H9MfiPrrBjJ3vUWQlCBiO{sBp|n9-UoJx^ich`MJ#q4;9HRec((G?&E z_mC3i=jY9{8BmUZ&xHN^3-T7=jaJvAMXQXL#Ip1W2+KM>0%qe=RvU}jO9F&!G{Z5d-4{aP| z@4Ik-z;oLmqVgs#DUu+B&MpfTBaGt_atl}h^nGxFgBwkSaF}V?Q$ZA0X%z3d{0Mz| zOJ_zYMT>GcxnQ%b;9O{pINxe_lJ&;Jim>Imt=;0iB=}}%6`e9qv zdGu7f{}I-P@cv5}%?cG@JBD^n?$wZoM;L)gZ#^ z`BmzR1K^%>WTpd!`kQSN10W$^^I^IL8e-8#!~_gIsGdFln;US9kr20Nubp37`YS0L}MIV76DqL5VY0DbBq!tvm)vZ zE40&wVabp0lDq(mC0g0wR7D9fEc z%8w)bgJh&U4Wek2o?Oh#EWc3iCxd+pL~`Wa9`-M_r^*ZkVL7~M=7^()Y=wk0$X0|J zCbSlJH3VpO9zGyAxxPp2I*@T{jJZ$=hmpmt6nNJl0x1jtanrhHb)i2`0P}1`?nEm? z%H=glX+CvKuvS~uwE~rTA6wOWhKf%~N*bZ-kfluiTgrKZ&znzHoi*Pmkg&-@hA}&XrE%hdCWzPPp(W!7D5VFquKjv5A_Y7O z!DKG${rk&sMFXIhj@pO`J9RLnBT3m{=t=&Hb$EA6j{UTqtRTON@md*CRK~z++F115 zKizBFR;_K`DH!82CHbXlQ(cLZk?~mtEi`wpzuX?8P?wM|soDoU1BydnPX&TQ)+LJ0 z0|XyJz@DYdl3S7LfqTa1xWhb6>Zvz8A~iGYqjd)Qh;l6{ulmHy1o(x;>qR3A#^Zl@ zSr)F746XI-f-&e8gVM3?-AJYj9P&yU8BvEIpUVvbbvnS@e^&OAgO7~~@^!|B_dYeO`(8ew_oTmU$$LG#=B2UZu&8kzYtIilW5(()0(JE6HnNT=xt&#@G-}tJE92Pc{j+ zc7Uf#*qb-|X7)1x%^fiNf5De`@f8jF7y)7J+k36uXJyxxC5qhe&Fu#XQ;^v<&>hNYnLuUkTm`Gv{vRRYh4TThAw zyT6pyinci?IXWs1egP+eDN)uOBMDqU*t*!1<#q44d>+$aAIY=2OTDXk=-Z70J5#bO zu(n7HS?8TyB3ibmdSS~eupTzC0UDD@`wrBlYm+KVz500(olm6w*&sc~lsK2)>7s1z zkv*iJxZ{X=;jK$AQY%+u-Q8XipMIWZj0i66-MlWH*<`_`MWA#aSKL zw+)45MOqK3p(T@E9Os3~!uHwbXT<*X5%UeIe>Cy)beD|ad#m+?c_}ZU3)sr5{>CKkEy3cbtiJu`m1dHbv(She2CjkhZ{ne-^c>z=8R3Ox5{5pdT>d9r76V|(*XGPg1l2O>7++iKu zJ)NQRL3nhny>~f1A+FmPZg<94c3=$vFDI$Fw(((MH5^Y(m|f%vtFhO;KehB(ytjue zweXhc&WOcKg*!RDGs=k)*t|B!U2yC73S<8bon+=6`q;8EbsP2d%z{thZD)1+?xXP-8=vr+SyW@7mg2`@u)k*%I zH#RiaYP}`%ag6}DgFJQBiWSdGu45&q7rZ^e;#V+W7w{tBx?Iml=rg$MJf6kM@J*=) zttl8u^*ptB!%`Nb_49N$`ld-1Hdj&PK-@d`rYWiDBtARqp8>B2^6o6^D)=aQG}?q? z+^@@N*o490x$12%Bpvu$X0Tx*D#hD^x%=V9S{9DrP44~3$M+rX!2s=g`r6E(l$yQZ zFG>wPnzj2$hoq@vso%nA*|;SSd4qw6lv2_EPmn@ss&t%E>_?D@DeE^Z@gLBXAJ1c9uQI-{em}asQ&gm|X_PbA(^_BXZFTyjw ztgmmFo7wLkj`rYs{NP?VrdCo%EeN-OetK{ujQd7_O?-OS%NF(No-1SL#EA?3XW}9v z%)c1`BjqU<5(MSy7IwSs2IK5?hK!t{TqU~-=#-W92>6${Cc5H%A4g@KP>QAc|JvB_ zaxt#RybzIjK}z34RNrIUY@=8oUnM~%Ccug_w`+b=eY*XM3`k-8my$wMR38hNOYMFnz z$%sC#8EI?NWwl;;e0*hN`+P*xST?3&Fh!6coBsTHs)RJQ=fplhp}m%e=e9#2pJ zlPpWf<_|OR3kuHpEix@{cmwJ-9nv-TrJG{1xkP!rpo_7L1%3zt0zRBfyRo8Bhv-mp zlrO{o{|}^N{@3-#P__KpQ~|j=I~ukX0KOMJ_&w?vNn?sh|FwOdV``xX*AsS17tvUz z88ph=e-9Xwto8MEEEMzr%rw3dL_ptOAHbLHTaV!l!QRHyArfT*&$GA?yUe9-e;Cs-iAsm6l>bjvKtA zN5pnzAN2D3p%kAe(`I4G;y<)y7{NZI?09IK`yMc9S6JEbhLW@tHV$G66er_1-XVtN zND|NXA>6+%>F^8JU?nV2ucvc6&riri{B#XZ~;$)te@h{V!j+0%CRKyz$?^f0v_Zcm zc#`D`NJ>b0F8?~CPh$s4V_zoVZy~PXAR&av(}BJ`BGlf{+S&tlzidcm0e)1U`wl%u z%$0%v(FrcfU>>gwtg}fF)-MDRZ&t+Hb40Cq3mM z(M%*!RdgF76l(9kII#cm9}dZgsv*GnH9>|AY!|WR5AKy{DDRQ-ShS6OF!}-^XQ`_P zv?y+Q+6|R|YL|^LvjU=`y0$jP*|`w$X3EA96t1x+r$ozp6az^Z6dgPAULL)acktlB z353iKvQL0gbFSVkc=G&t{K!Lh<}VFD=Oz&kV&IUaPE1(3P=}0{NIryZkCbX;=MTT? zO1cs#VOqT%sAM2XI0@5pFfSq19;7+Rb_F^4u~V|h|mGi>n<)u;JbYqA?9^Yv?phS zyge~r1YX7oWF`!NG%$NwK|A;FL(p6c#8xyY0?`)fX2%$r8gO{|-4U!u>|2iW z8Hx{Izh1Qg-#casjPXs^vO&aVH7a|t_|?97sXEF6l3j!DwJP*%dV3ZzyMCLgY@=&n za7qo9+3OS2-#+OAN;qg$45l(Dfu&L%FC)I>pw%-8PzKAw7??c>pcaw10;L$l!V9YI$=x{_o|e4qeb-%FNAmDAWSP zLwQU_Br+oIrJ4hSAHyabfIB2GxocegGK zLUui>LZ$E;0+j@{(d2Mp%+W<|dB0nIAMf~s*rN<0)(GE?M`R-n?LS=sfORS0W+o-K z*BZMGrZhCDFHCl-0_D=1fJ0RJzyV(91;L7`GId_>#*H_ise<_K^~!#K`s0$4L$a-u zVe*#fq3eba) z6Np7B2?#c7^M@bjo{|S@s{j-z0Yil|+LfrPS#14FdxnyQ;u0BdV{CEuf=ko`S5SZPhxtSvkl3UqqH77H` zegiCSrLbv0C4|akGBs*nS_%H*|0|-mDgSo}iMGYq*cdwx&!A%k8640v0J98DiA2y> zU>afU+Gl2(b5!)At*vcM%ufH3L3@4y0V$ERFKm19gRaqjth_n!SCdJBVjThO!idKe zqG=bh?BSR2_KfLc^Ol$lP`^uuv0eowriI=+!IS+qx#5@NM<%$zT@wTtZ61_^Av2?7RnuAZDZXdk&g$HaDs!T%*jz6uI^0`n=erFN)5oCJ6 zfY%C1H;mlBS=Ih}z5tJSubajy9lJFM?$&6qC diff --git a/examples/05_orientation_stress.png b/examples/05_orientation_stress.png index 20556c3e44c9b2f5fc3606478eaf501dc8ff465b..fa89785e24ecf63953d771dff3cadfd6d17a522e 100644 GIT binary patch literal 64408 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 literal 64673 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 z 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 literal 43053 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

UoI%*wb}fO9K@S! zm32uq$VwB|YytlSF$e|x{Z*$)tDeGesNFo1i6ME!kOlTFCV3fu+4Yqv|FmVBG)wjC z0oTGK6kvzNFxceSxQ`~5ak8`HC6>$=>nrhoK9L~9yZ!Q7d0HAXhzB=9G{u7({Z4Ie zW7Fb39Ulo;QJ&4+1)p>lKk2{=DQR_jcJVJ?`1`L{;3_#KJ}r~M>A_v;U8}E^Em$QE zMlnRk#3>XIbNXmK2C+*KwvH5%8SsRJ*6t@8Ld*KDrX|4nd;S=wtLGtB^K^BNU=}H@ zm7SAgq}eW-{OEqlAaA8;HK6O`PGMt0v=cxasm`FFOdSrwFkzq!466 z^rMaV)8H~Pw0pL&v$I<q+YRktCH8C>|DrNC@F;ba{5O`{#K1IUsf#?Y7UmdKgC zJ2Q>CaSo=dV3r1JbX-((DxHl&iiwX(h&5e9`v)nV5|`Pqfk-&;G#m&CnuoODN|=EK zkS>?Q-0exjFn}pY*r>Q8eB!wv*~52`j9gCwPbU0zIFhW$E-w`WXFwJ!5vo*p7EW;o zImO4KV#H{e@4IG07=d#(1xI#{xq*-QrrwFx!{@t zgUGSTsav#q>7;b-CpF3x-u!xcr&>cNRxt$McY5}1ydaq`>2bJ1@5rz?r=e`Jx)yRA zoH`~-F3lP)gQTd;9j?U}z71va{s)F0_elvq}R5Lv2@6cqwD7W@Gc=?~VwSgkcW z8b;%7KPe{{CcWirl_j*v<(4dDmhJZB+0MA3e!K!B@r0>U=Ov6n)E#+gFs05sp+L#X z!pk@t+IstHE6I-;Wb_Q37N#)nVAyM-%&x_oGQc0c!yk^aI46&;MDOJhH!ESYP`XK+ z^&`r|H0FXQNv_r_XQ$JFfvzqBXqLE#-m5E|4xOKwVFn8xJw%iAwDHm`n4u5;RmU^c zEEd{=1<8KgfdO33hOLenS|>{Km?NnT{>0txv^Bu9BdHJbgw-Ik2~NUK&b9X!%hNlm z4<#hmT@#~Iuq_!&72Ut5+*Uxe(y6Y6OcKTrGNq0MdFb*42GISH0$V$6oOnVNt9wsY zwk~ebE_d3*+WH22*z29rNGwsqdm8{-^ov{`n=iv+sn^>__tFu^SjigN0U;E6+?oKQnNetvDXW7iy%{DAd z!A`y$-=7BJ-VOaC-ucY=&i)Sfs@=K!d=T~oj|2;Ov6jIdM!vrHoyC_h;;>et+N(B)cfZeF6wUN!1S%9pekCZP?^uBm%ML-?X= zYE~tizL!23d0mm=ex{Dk*zR4^wNJt2IyV0?KzrP4vjss=C=EU0{Uc$=rfW)h)_xLx zXuoQSp@^HQk+AUtyWMZ8cYB#Z2`P@RU2jlty?!_Z zS?ge5Amk8%K+eKKY`1U;41y_ryRu4;B_CqZp|^M@RTBuH?+wBJLw@=E&5M_5W~Eh= z4f4`H6w||P7ups+-VZnlK04;^N#$f=wR_X=TQ_bD(;3hVS9-I$Sark%F?nU-)$*v_ zQX{IbjPS=j&Xn^|#{WKT3~r4vvGA%T-qK>(QW=L?+TfVIH~q7f>LQAIm^%j27av{Q zD%xPE-L;m{kX?qX?o4jS!j+-OrKd~#>!LS#a`guExHaP&!SW6S^wSw^oZK*W!kND) zrZjWI+k;zKvRm3&n9Pifv)6rsQV~{Mi(FD-5|9R>VR`~Hq2+!BDA7XF#JRUEIx4Cj zVBs5eko}j(K=DL3$7S#6;5XXR;UVwIjvJ0@85(O(B?ywb61_2cwq=Yqc~(uGU6HL# zeM{!^^%~Bsr382FT9+Uir_zWzL$i-^nNmF({+a#wrg9i#VsI`v`10Q8=cvQCBDOwi z=@#OqJ;Fl$?E2RJu&V5>o2R0pYp9P1{rC}^Z1#{CheVbo#WDC7OHE5(hBL_N_T1d} z!~=Ch^J$Ez2Du^>6dCmcadpniog+>kos1vj?zoJU@>J_r%ktM=i~i0N`bz9K~iiG~>(1#YW9!6`6~MG4b#!DT0n*j8Ucs+lPZIFU5_9|5j~|mEjDo~6v27(5Ezu.A?+|GmzkiTIgO*=txm1RuSz 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 diff --git a/inire/geometry/collision.py b/inire/geometry/collision.py index e2d79cc..5fd5531 100644 --- a/inire/geometry/collision.py +++ b/inire/geometry/collision.py @@ -16,8 +16,8 @@ class CollisionEngine: """ __slots__ = ( 'clearance', 'max_net_width', 'safety_zone_radius', - 'static_index', 'static_geometries', 'static_prepared', '_static_id_counter', - 'dynamic_index', 'dynamic_geometries', '_dynamic_id_counter' + 'static_index', 'static_geometries', 'static_dilated', 'static_prepared', '_static_id_counter', + 'dynamic_index', 'dynamic_geometries', 'dynamic_dilated', '_dynamic_id_counter' ) clearance: float @@ -47,21 +47,24 @@ class CollisionEngine: self.max_net_width = max_net_width self.safety_zone_radius = safety_zone_radius - # Static obstacles: store raw geometries to avoid double-dilation + # Static obstacles self.static_index = rtree.index.Index() - self.static_geometries: dict[int, Polygon] = {} # ID -> Polygon - self.static_prepared: dict[int, PreparedGeometry] = {} # ID -> PreparedGeometry + self.static_geometries: dict[int, Polygon] = {} # ID -> Raw Polygon + self.static_dilated: dict[int, Polygon] = {} # ID -> Dilated Polygon (by clearance) + self.static_prepared: dict[int, PreparedGeometry] = {} # ID -> Prepared Dilated self._static_id_counter = 0 # Dynamic paths for multi-net congestion self.dynamic_index = rtree.index.Index() # obj_id -> (net_id, raw_geometry) self.dynamic_geometries: dict[int, tuple[str, Polygon]] = {} + # obj_id -> dilated_geometry (by clearance/2) + self.dynamic_dilated: dict[int, Polygon] = {} self._dynamic_id_counter = 0 def add_static_obstacle(self, polygon: Polygon) -> None: """ - Add a static obstacle (raw geometry) to the engine. + Add a static obstacle to the engine. Args: polygon: Raw obstacle geometry. @@ -69,23 +72,31 @@ class CollisionEngine: obj_id = self._static_id_counter self._static_id_counter += 1 + dilated = polygon.buffer(self.clearance) self.static_geometries[obj_id] = polygon - self.static_prepared[obj_id] = prep(polygon) - self.static_index.insert(obj_id, polygon.bounds) + self.static_dilated[obj_id] = dilated + self.static_prepared[obj_id] = prep(dilated) + self.static_index.insert(obj_id, dilated.bounds) - def add_path(self, net_id: str, geometry: list[Polygon]) -> None: + def add_path(self, net_id: str, geometry: list[Polygon], dilated_geometry: list[Polygon] | None = None) -> None: """ - Add a net's routed path (raw geometry) to the dynamic index. + Add a net's routed path to the dynamic index. Args: net_id: Identifier for the net. geometry: List of raw polygons in the path. + dilated_geometry: Optional list of pre-dilated polygons (by clearance/2). """ - for poly in geometry: + dilation = self.clearance / 2.0 + for i, poly in enumerate(geometry): obj_id = self._dynamic_id_counter self._dynamic_id_counter += 1 + + dil = dilated_geometry[i] if dilated_geometry else poly.buffer(dilation) + self.dynamic_geometries[obj_id] = (net_id, poly) - self.dynamic_index.insert(obj_id, poly.bounds) + self.dynamic_dilated[obj_id] = dil + self.dynamic_index.insert(obj_id, dil.bounds) def remove_path(self, net_id: str) -> None: """ @@ -97,7 +108,8 @@ class CollisionEngine: to_remove = [obj_id for obj_id, (nid, _) in self.dynamic_geometries.items() if nid == net_id] for obj_id in to_remove: nid, poly = self.dynamic_geometries.pop(obj_id) - self.dynamic_index.delete(obj_id, poly.bounds) + dilated = self.dynamic_dilated.pop(obj_id) + self.dynamic_index.delete(obj_id, dilated.bounds) def lock_net(self, net_id: str) -> None: """ @@ -109,7 +121,10 @@ class CollisionEngine: to_move = [obj_id for obj_id, (nid, _) in self.dynamic_geometries.items() if nid == net_id] for obj_id in to_move: nid, poly = self.dynamic_geometries.pop(obj_id) - self.dynamic_index.delete(obj_id, poly.bounds) + dilated = self.dynamic_dilated.pop(obj_id) + self.dynamic_index.delete(obj_id, dilated.bounds) + # Re-buffer for static clearance if necessary. + # Note: dynamic is clearance/2, static is clearance. self.add_static_obstacle(poly) def is_collision( @@ -121,15 +136,6 @@ class CollisionEngine: ) -> bool: """ Alias for check_collision(buffer_mode='static') for backward compatibility. - - Args: - geometry: Move geometry to check. - net_width: Width of the net (unused). - start_port: Starting port for safety check. - end_port: Ending port for safety check. - - Returns: - True if collision detected. """ _ = net_width res = self.check_collision(geometry, 'default', buffer_mode='static', start_port=start_port, end_port=end_port) @@ -138,13 +144,6 @@ class CollisionEngine: def count_congestion(self, geometry: Polygon, net_id: str) -> int: """ Alias for check_collision(buffer_mode='congestion') for backward compatibility. - - Args: - geometry: Move geometry to check. - net_id: Identifier for the net. - - Returns: - Number of overlapping nets. """ res = self.check_collision(geometry, net_id, buffer_mode='congestion') return int(res) @@ -156,6 +155,7 @@ class CollisionEngine: buffer_mode: Literal['static', 'congestion'] = 'static', start_port: Port | None = None, end_port: Port | None = None, + dilated_geometry: Polygon | None = None, ) -> bool | int: """ Check for collisions using unified dilation logic. @@ -166,17 +166,24 @@ class CollisionEngine: buffer_mode: 'static' (full clearance) or 'congestion' (shared). start_port: Optional start port for safety zone. end_port: Optional end port for safety zone. + dilated_geometry: Optional pre-buffered geometry (clearance/2). Returns: Boolean if static, integer count if congestion. """ if buffer_mode == 'static': - test_poly = geometry.buffer(self.clearance) - candidates = self.static_index.intersection(test_poly.bounds) + # Use raw query against pre-dilated obstacles + candidates = self.static_index.intersection(geometry.bounds) for obj_id in candidates: - if self.static_prepared[obj_id].intersects(test_poly): + if self.static_prepared[obj_id].intersects(geometry): if start_port or end_port: + # Safety zone check: requires intersection of DILATED query and RAW obstacle. + # Always re-buffer here because static check needs full clearance dilation, + # whereas the provided dilated_geometry is usually clearance/2. + dilation = self.clearance + test_poly = geometry.buffer(dilation) + intersection = test_poly.intersection(self.static_geometries[obj_id]) if intersection.is_empty: continue @@ -198,12 +205,12 @@ class CollisionEngine: # buffer_mode == 'congestion' dilation = self.clearance / 2.0 - test_poly = geometry.buffer(dilation) + test_poly = dilated_geometry if dilated_geometry else geometry.buffer(dilation) candidates = self.dynamic_index.intersection(test_poly.bounds) count = 0 for obj_id in candidates: - other_net_id, other_poly = self.dynamic_geometries[obj_id] - if other_net_id != net_id and test_poly.intersects(other_poly.buffer(dilation)): + other_net_id, _ = self.dynamic_geometries[obj_id] + if other_net_id != net_id and test_poly.intersects(self.dynamic_dilated[obj_id]): count += 1 return count diff --git a/inire/geometry/components.py b/inire/geometry/components.py index 595b9dd..e81102d 100644 --- a/inire/geometry/components.py +++ b/inire/geometry/components.py @@ -1,14 +1,12 @@ from __future__ import annotations -from typing import Literal, cast, TYPE_CHECKING, Union, Any +from typing import Literal, cast import numpy from shapely.geometry import Polygon, box from shapely.ops import unary_union from .primitives import Port -if TYPE_CHECKING: - from collections.abc import Sequence # Search Grid Snap (1.0 µm) @@ -32,11 +30,14 @@ class ComponentResult: """ The result of a component generation: geometry, final port, and physical length. """ - __slots__ = ('geometry', 'end_port', 'length') + __slots__ = ('geometry', 'dilated_geometry', 'end_port', 'length') geometry: list[Polygon] """ List of polygons representing the component geometry """ + dilated_geometry: list[Polygon] | None + """ Optional list of pre-dilated polygons for collision optimization """ + end_port: Port """ The final port after the component """ @@ -48,8 +49,10 @@ class ComponentResult: geometry: list[Polygon], end_port: Port, length: float, + dilated_geometry: list[Polygon] | None = None, ) -> None: self.geometry = geometry + self.dilated_geometry = dilated_geometry self.end_port = end_port self.length = length @@ -64,6 +67,7 @@ class Straight: length: float, width: float, snap_to_grid: bool = True, + dilation: float = 0.0, ) -> ComponentResult: """ Generate a straight waveguide segment. @@ -73,16 +77,17 @@ class Straight: length: Requested length. width: Waveguide width. snap_to_grid: Whether to snap the end port to the search grid. + dilation: Optional dilation distance for pre-calculating collision geometry. Returns: A ComponentResult containing the straight segment. """ rad = numpy.radians(start_port.orientation) - dx = length * numpy.cos(rad) - dy = length * numpy.sin(rad) + cos_val = numpy.cos(rad) + sin_val = numpy.sin(rad) - ex = start_port.x + dx - ey = start_port.y + dy + ex = start_port.x + length * cos_val + ey = start_port.y + length * sin_val if snap_to_grid: ex = snap_search_grid(ex) @@ -91,21 +96,36 @@ class Straight: end_port = Port(ex, ey, start_port.orientation) actual_length = numpy.sqrt((end_port.x - start_port.x)**2 + (end_port.y - start_port.y)**2) - # Create polygon + # Create polygons using vectorized points half_w = width / 2.0 - # Points relative to start port (0,0) - points = [(0, half_w), (actual_length, half_w), (actual_length, -half_w), (0, -half_w)] + pts_raw = numpy.array([ + [0, half_w], + [actual_length, half_w], + [actual_length, -half_w], + [0, -half_w] + ]) + + # Rotation matrix (standard 2D rotation) + rot_matrix = numpy.array([[cos_val, -sin_val], [sin_val, cos_val]]) + + # Transform points: P' = R * P + T + poly_points = (pts_raw @ rot_matrix.T) + [start_port.x, start_port.y] + geom = [Polygon(poly_points)] - # Transform points - cos_val = numpy.cos(rad) - sin_val = numpy.sin(rad) - poly_points = [] - for px, py in points: - tx = start_port.x + px * cos_val - py * sin_val - ty = start_port.y + px * sin_val + py * cos_val - poly_points.append((tx, ty)) + dilated_geom = None + if dilation > 0: + # Direct calculation of dilated rectangle instead of expensive buffer() + half_w_dil = half_w + dilation + pts_dil = numpy.array([ + [-dilation, half_w_dil], + [actual_length + dilation, half_w_dil], + [actual_length + dilation, -half_w_dil], + [-dilation, -half_w_dil] + ]) + poly_points_dil = (pts_dil @ rot_matrix.T) + [start_port.x, start_port.y] + dilated_geom = [Polygon(poly_points_dil)] - return ComponentResult(geometry=[Polygon(poly_points)], end_port=end_port, length=actual_length) + return ComponentResult(geometry=geom, end_port=end_port, length=actual_length, dilated_geometry=dilated_geom) def _get_num_segments(radius: float, angle_deg: float, sagitta: float = 0.01) -> int: @@ -140,7 +160,7 @@ def _get_arc_polygons( sagitta: float = 0.01, ) -> list[Polygon]: """ - Helper to generate arc-shaped polygons. + Helper to generate arc-shaped polygons using vectorized NumPy operations. Args: cx, cy: Center coordinates. @@ -154,11 +174,20 @@ def _get_arc_polygons( """ num_segments = _get_num_segments(radius, float(numpy.degrees(abs(t_end - t_start))), sagitta) angles = numpy.linspace(t_start, t_end, num_segments + 1) + + cos_a = numpy.cos(angles) + sin_a = numpy.sin(angles) + inner_radius = radius - width / 2.0 outer_radius = radius + width / 2.0 - inner_points = [(cx + inner_radius * numpy.cos(a), cy + inner_radius * numpy.sin(a)) for a in angles] - outer_points = [(cx + outer_radius * numpy.cos(a), cy + outer_radius * numpy.sin(a)) for a in reversed(angles)] - return [Polygon(inner_points + outer_points)] + + inner_points = numpy.stack([cx + inner_radius * cos_a, cy + inner_radius * sin_a], axis=1) + outer_points = numpy.stack([cx + outer_radius * cos_a[::-1], cy + outer_radius * sin_a[::-1]], axis=1) + + # Concatenate inner and outer points to form the polygon ring + poly_points = numpy.concatenate([inner_points, outer_points]) + + return [Polygon(poly_points)] def _clip_bbox( @@ -291,6 +320,7 @@ class Bend90: sagitta: float = 0.01, collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", clip_margin: float = 10.0, + dilation: float = 0.0, ) -> ComponentResult: """ Generate a 90-degree bend. @@ -303,6 +333,7 @@ class Bend90: sagitta: Geometric fidelity. collision_type: Collision model. clip_margin: Margin for clipped_bbox. + dilation: Optional dilation distance for pre-calculating collision geometry. Returns: A ComponentResult containing the bend. @@ -323,8 +354,15 @@ class Bend90: collision_polys = _apply_collision_model( arc_polys[0], collision_type, radius, width, cx, cy, clip_margin ) + + dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None - return ComponentResult(geometry=collision_polys, end_port=end_port, length=radius * numpy.pi / 2.0) + return ComponentResult( + geometry=collision_polys, + end_port=end_port, + length=radius * numpy.pi / 2.0, + dilated_geometry=dilated_geom + ) class SBend: @@ -340,6 +378,7 @@ class SBend: sagitta: float = 0.01, collision_type: Literal["arc", "bbox", "clipped_bbox"] | Polygon = "arc", clip_margin: float = 10.0, + dilation: float = 0.0, ) -> ComponentResult: """ Generate a parametric S-bend (two tangent arcs). @@ -352,6 +391,7 @@ class SBend: sagitta: Geometric fidelity. collision_type: Collision model. clip_margin: Margin for clipped_bbox. + dilation: Optional dilation distance for pre-calculating collision geometry. Returns: A ComponentResult containing the S-bend. @@ -385,13 +425,22 @@ class SBend: arc2 = _get_arc_polygons(cx2, cy2, radius, width, ts2, te2, sagitta)[0] if collision_type == "clipped_bbox": - col1 = _apply_collision_model(arc1, collision_type, radius, width, cx1, cy1, clip_margin) - col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin) - collision_polys = [cast('Polygon', unary_union(col1 + col2))] + col1 = _apply_collision_model(arc1, collision_type, radius, width, cx1, cy1, clip_margin)[0] + col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin)[0] + # Optimization: keep as list instead of unary_union for search efficiency + collision_polys = [col1, col2] else: - combined_arc = cast('Polygon', unary_union([arc1, arc2])) - collision_polys = _apply_collision_model( - combined_arc, collision_type, radius, width, 0, 0, clip_margin - ) + # For other models, we can either combine or keep separate. + # Keeping separate is generally better for CollisionEngine. + col1 = _apply_collision_model(arc1, collision_type, radius, width, cx1, cy1, clip_margin)[0] + col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin)[0] + collision_polys = [col1, col2] - return ComponentResult(geometry=collision_polys, end_port=end_port, length=2 * radius * theta) + dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None + + return ComponentResult( + geometry=collision_polys, + end_port=end_port, + length=2 * radius * theta, + dilated_geometry=dilated_geom + ) diff --git a/inire/router/astar.py b/inire/router/astar.py index 754049f..74ef3b1 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -83,7 +83,7 @@ class AStarRouter: """ Hybrid State-Lattice A* Router. """ - __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache') + __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache', '_self_dilation') cost_evaluator: CostEvaluator """ The evaluator for path and proximity costs """ @@ -100,6 +100,9 @@ class AStarRouter: _collision_cache: dict[tuple[float, float, float, str, float, str], bool] """ Internal cache for move collision checks """ + _self_dilation: float + """ Cached dilation value for collision checks (clearance / 2.0) """ + def __init__( self, cost_evaluator: CostEvaluator, @@ -146,6 +149,7 @@ class AStarRouter: self.node_limit = self.config.node_limit self.total_nodes_expanded = 0 self._collision_cache = {} + self._self_dilation = self.cost_evaluator.collision_engine.clearance / 2.0 def route( self, @@ -226,7 +230,7 @@ class AStarRouter: proj = dx * numpy.cos(rad) + dy * numpy.sin(rad) perp = -dx * numpy.sin(rad) + dy * numpy.cos(rad) if proj > 0 and abs(perp) < 1e-6: - res = Straight.generate(current.port, proj, net_width, snap_to_grid=False) + res = Straight.generate(current.port, proj, net_width, snap_to_grid=False, dilation=self._self_dilation) self._add_node(current, res, target, net_width, net_id, open_set, closed_set, 'SnapStraight') # B. Try SBend exact reach @@ -245,7 +249,8 @@ class AStarRouter: radius, net_width, collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation ) self._add_node(current, res, target, net_width, net_id, open_set, closed_set, 'SnapSBend', move_radius=radius) except ValueError: @@ -258,7 +263,7 @@ class AStarRouter: lengths = sorted(set(lengths + fine_steps)) for length in lengths: - res = Straight.generate(current.port, length, net_width) + res = Straight.generate(current.port, length, net_width, dilation=self._self_dilation) self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'S{length}') # 3. Lattice Bends @@ -270,7 +275,8 @@ class AStarRouter: net_width, direction, collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation ) self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'B{radius}{direction}', move_radius=radius) @@ -284,7 +290,8 @@ class AStarRouter: radius, net_width, collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation ) self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) except ValueError: @@ -320,9 +327,11 @@ class AStarRouter: return else: hard_coll = False - for poly in result.geometry: + for i, poly in enumerate(result.geometry): + dil_poly = result.dilated_geometry[i] if result.dilated_geometry else None if self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode='static', start_port=parent.port, end_port=result.end_port + poly, net_id, buffer_mode='static', start_port=parent.port, end_port=result.end_port, + dilated_geometry=dil_poly ): hard_coll = True break @@ -331,27 +340,37 @@ class AStarRouter: return # 3. Check for Self-Intersection (Limited to last 100 segments for performance) - dilation = self.cost_evaluator.collision_engine.clearance / 2.0 - for move_poly in result.geometry: - dilated_move = move_poly.buffer(dilation) - curr_p: AStarNode | None = parent - seg_idx = 0 - while curr_p and curr_p.component_result and seg_idx < 100: - if seg_idx > 0: - for prev_poly in curr_p.component_result.geometry: - if dilated_move.bounds[0] > prev_poly.bounds[2] + dilation or \ - dilated_move.bounds[2] < prev_poly.bounds[0] - dilation or \ - dilated_move.bounds[1] > prev_poly.bounds[3] + dilation or \ - dilated_move.bounds[3] < prev_poly.bounds[1] - dilation: - continue + # Optimization: use pre-dilated geometries + if result.dilated_geometry: + for dilated_move in result.dilated_geometry: + curr_p: AStarNode | None = parent + seg_idx = 0 + while curr_p and curr_p.component_result and seg_idx < 100: + if seg_idx > 0: + res_p = curr_p.component_result + if res_p.dilated_geometry: + for dilated_prev in res_p.dilated_geometry: + if (dilated_move.bounds[0] > dilated_prev.bounds[2] or + dilated_move.bounds[2] < dilated_prev.bounds[0] or + dilated_move.bounds[1] > dilated_prev.bounds[3] or + dilated_move.bounds[3] < dilated_prev.bounds[1]): + continue - dilated_prev = prev_poly.buffer(dilation) - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if overlap.area > 1e-6: - return - curr_p = curr_p.parent - seg_idx += 1 + if dilated_move.intersects(dilated_prev): + overlap = dilated_move.intersection(dilated_prev) + if overlap.area > 1e-6: + return + else: + # Fallback if no pre-dilation (should not happen with new logic) + dilation = self._self_dilation + for prev_poly in res_p.geometry: + dilated_prev = prev_poly.buffer(dilation) + if dilated_move.intersects(dilated_prev): + overlap = dilated_move.intersection(dilated_prev) + if overlap.area > 1e-6: + return + curr_p = curr_p.parent + seg_idx += 1 move_cost = self.cost_evaluator.evaluate_move( result.geometry, @@ -359,7 +378,8 @@ class AStarRouter: net_width, net_id, start_port=parent.port, - length=result.length + length=result.length, + dilated_geometry=result.dilated_geometry ) if move_cost > 1e12: diff --git a/inire/router/cost.py b/inire/router/cost.py index 6b2ff54..1753aa9 100644 --- a/inire/router/cost.py +++ b/inire/router/cost.py @@ -103,6 +103,7 @@ class CostEvaluator: net_id: str, start_port: Port | None = None, length: float = 0.0, + dilated_geometry: list[Polygon] | None = None, ) -> float: """ Calculate the cost of a single move (Straight, Bend, SBend). @@ -114,6 +115,7 @@ class CostEvaluator: net_id: Identifier for the net. start_port: Port at the start of the move. length: Physical path length of the move. + dilated_geometry: Pre-calculated dilated polygons. Returns: Total cost of the move, or 1e15 if invalid. @@ -126,15 +128,19 @@ class CostEvaluator: return 1e15 # 2. Collision Check - for poly in geometry: + for i, poly in enumerate(geometry): + dil_poly = dilated_geometry[i] if dilated_geometry else None # Hard Collision (Static obstacles) if self.collision_engine.check_collision( - poly, net_id, buffer_mode='static', start_port=start_port, end_port=end_port + poly, net_id, buffer_mode='static', start_port=start_port, end_port=end_port, + dilated_geometry=dil_poly ): return 1e15 # Soft Collision (Negotiated Congestion) - overlaps = self.collision_engine.check_collision(poly, net_id, buffer_mode='congestion') + overlaps = self.collision_engine.check_collision( + poly, net_id, buffer_mode='congestion', dilated_geometry=dil_poly + ) if isinstance(overlaps, int) and overlaps > 0: total_cost += overlaps * self.congestion_penalty diff --git a/inire/router/pathfinder.py b/inire/router/pathfinder.py index 05235b7..40ce644 100644 --- a/inire/router/pathfinder.py +++ b/inire/router/pathfinder.py @@ -118,15 +118,23 @@ class PathFinder: if path: # 3. Add to index all_geoms = [] + all_dilated = [] for res in path: all_geoms.extend(res.geometry) - self.cost_evaluator.collision_engine.add_path(net_id, all_geoms) + if res.dilated_geometry: + all_dilated.extend(res.dilated_geometry) + else: + # Fallback dilation + dilation = self.cost_evaluator.collision_engine.clearance / 2.0 + all_dilated.extend([p.buffer(dilation) for p in res.geometry]) + + self.cost_evaluator.collision_engine.add_path(net_id, all_geoms, dilated_geometry=all_dilated) # Check if this new path has any congestion collision_count = 0 - for poly in all_geoms: + for i, poly in enumerate(all_geoms): overlaps = self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode='congestion' + poly, net_id, buffer_mode='congestion', dilated_geometry=all_dilated[i] ) if isinstance(overlaps, int): collision_count += overlaps @@ -172,9 +180,10 @@ class PathFinder: collision_count = 0 for comp in res.path: - for poly in comp.geometry: + for i, poly in enumerate(comp.geometry): + dil_poly = comp.dilated_geometry[i] if comp.dilated_geometry else None overlaps = self.cost_evaluator.collision_engine.check_collision( - poly, net_id, buffer_mode='congestion' + poly, net_id, buffer_mode='congestion', dilated_geometry=dil_poly ) if isinstance(overlaps, int): collision_count += overlaps diff --git a/inire/tests/test_components.py b/inire/tests/test_components.py index 3ce6b18..13bfb56 100644 --- a/inire/tests/test_components.py +++ b/inire/tests/test_components.py @@ -50,7 +50,7 @@ def test_sbend_generation() -> None: result = SBend.generate(start, offset, radius, width) assert result.end_port.y == 5.0 assert result.end_port.orientation == 0.0 - assert len(result.geometry) == 1 # Now uses unary_union + assert len(result.geometry) == 2 # Optimization: returns individual arcs # Verify failure for large offset with pytest.raises(ValueError, match=r"SBend offset .* must be less than 2\*radius"): @@ -85,11 +85,13 @@ def test_sbend_collision_models() -> None: width = 2.0 res_bbox = SBend.generate(start, offset, radius, width, collision_type="bbox") - # Geometry should be a single bounding box polygon - assert len(res_bbox.geometry) == 1 + # Geometry should be a list of individual bbox polygons for each arc + assert len(res_bbox.geometry) == 2 res_arc = SBend.generate(start, offset, radius, width, collision_type="arc") - assert res_bbox.geometry[0].area > res_arc.geometry[0].area + area_bbox = sum(p.area for p in res_bbox.geometry) + area_arc = sum(p.area for p in res_arc.geometry) + assert area_bbox > area_arc def test_sbend_continuity() -> None: @@ -107,9 +109,10 @@ def test_sbend_continuity() -> None: # For a port at 90 deg, +offset is a shift in -x direction assert abs(res.end_port.x - (10.0 - offset)) < 1e-6 - # Geometry should be connected (unary_union results in 1 polygon) - assert len(res.geometry) == 1 - assert res.geometry[0].is_valid + # Geometry should be a list of valid polygons + assert len(res.geometry) == 2 + for p in res.geometry: + assert p.is_valid def test_arc_sagitta_precision() -> None: From 8bf0ff279f597b627ff2e1f67ae84e0a7ea90f3e Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Mon, 9 Mar 2026 20:37:03 -0700 Subject: [PATCH 3/5] speedup --- examples/03_locked_paths.png | Bin 67672 -> 68200 bytes examples/04_sbends_and_radii.png | Bin 39986 -> 42650 bytes inire/geometry/collision.py | 38 +++++---- inire/geometry/components.py | 137 +++++++++++++++++++------------ inire/router/astar.py | 135 +++++++++++++++++++----------- 5 files changed, 192 insertions(+), 118 deletions(-) diff --git a/examples/03_locked_paths.png b/examples/03_locked_paths.png index 099ffc2378976ab695eb2f9fe79b5c1df8fd1fe2..45db4945cd3dc12b2b65da5865138a964e7c8370 100644 GIT binary patch literal 68200 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 literal 67672 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�u{oaqQDQ=j#Wg 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 Zm*#QLiqU3iAu-68mr=fjle+ulzX90m(n0_L literal 39986 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 R9YCH ComponentResult: + """ + Create a new ComponentResult translated by (dx, dy). + """ + from shapely.affinity import translate + new_geom = [translate(p, dx, dy) for p in self.geometry] + new_dil = [translate(p, dx, dy) for p in self.dilated_geometry] if self.dilated_geometry else None + new_port = Port(self.end_port.x + dx, self.end_port.y + dy, self.end_port.orientation) + return ComponentResult(new_geom, new_port, self.length, new_dil) + + + + class Straight: @@ -158,6 +180,7 @@ def _get_arc_polygons( t_start: float, t_end: float, sagitta: float = 0.01, + dilation: float = 0.0, ) -> list[Polygon]: """ Helper to generate arc-shaped polygons using vectorized NumPy operations. @@ -168,6 +191,7 @@ def _get_arc_polygons( width: Waveguide width. t_start, t_end: Start and end angles (radians). sagitta: Geometric fidelity. + dilation: Optional dilation to apply directly to the arc. Returns: List containing the arc polygon. @@ -178,8 +202,8 @@ def _get_arc_polygons( cos_a = numpy.cos(angles) sin_a = numpy.sin(angles) - inner_radius = radius - width / 2.0 - outer_radius = radius + width / 2.0 + inner_radius = radius - width / 2.0 - dilation + outer_radius = radius + width / 2.0 + dilation inner_points = numpy.stack([cx + inner_radius * cos_a, cy + inner_radius * sin_a], axis=1) outer_points = numpy.stack([cx + outer_radius * cos_a[::-1], cy + outer_radius * sin_a[::-1]], axis=1) @@ -200,21 +224,9 @@ def _clip_bbox( arc_poly: Polygon, ) -> Polygon: """ - Clips corners of a bounding box for better collision modeling. - - Args: - bbox: Initial bounding box. - cx, cy: Arc center. - radius: Arc radius. - width: Waveguide width. - clip_margin: Minimum distance from waveguide. - arc_poly: The original arc polygon. - - Returns: - The clipped polygon. + Clips corners of a bounding box for better collision modeling using direct vertex manipulation. """ - res_poly = bbox - # Determine quadrant signs from arc centroid relative to center + # Determination of which corners to clip ac = arc_poly.centroid qsx = 1.0 if ac.x >= cx else -1.0 qsy = 1.0 if ac.y >= cy else -1.0 @@ -223,46 +235,54 @@ def _clip_bbox( r_in_cut = radius - width / 2.0 - clip_margin minx, miny, maxx, maxy = bbox.bounds - corners = [(minx, miny), (minx, maxy), (maxx, miny), (maxx, maxy)] - for px, py in corners: - dx, dy = px - cx, py - cy + # Initial vertices: [minx,miny], [maxx,miny], [maxx,maxy], [minx,maxy] + verts = [ + numpy.array([minx, miny]), + numpy.array([maxx, miny]), + numpy.array([maxx, maxy]), + numpy.array([minx, maxy]) + ] + + new_verts = [] + for p in verts: + dx, dy = p[0] - cx, p[1] - cy dist = numpy.sqrt(dx**2 + dy**2) - # Check if corner is far enough to be clipped - if dist > r_out_cut: - # Outer corner: remove part furthest from center - # To be conservative, line is at distance r_out_cut from center. - # Equation: sx*x + sy*y = sx*cx + sy*cy + r_out_cut * sqrt(2) - d_line = r_out_cut * numpy.sqrt(2) - elif r_in_cut > 0 and dist < r_in_cut: - # Inner corner: remove part closest to center - # To be safe, line intercept must not exceed r_in_cut. - # Equation: sx*x + sy*y = sx*cx + sy*cy + r_in_cut - d_line = r_in_cut - else: - continue - # Normal vector components from center to corner - # Using rounded signs for stability sx = 1.0 if dx > 1e-6 else (-1.0 if dx < -1e-6 else qsx) sy = 1.0 if dy > 1e-6 else (-1.0 if dy < -1e-6 else qsy) - # val calculation based on d_line - val = sx * cx + sy * cy + d_line + d_line = -1.0 + if dist > r_out_cut: + d_line = r_out_cut * numpy.sqrt(2) + elif r_in_cut > 0 and dist < r_in_cut: + d_line = r_in_cut + + if d_line > 0: + # This corner needs clipping. Replace one vertex with two at intersection of line and edges. + # Line: sx*(x-cx) + sy*(y-cy) = d_line + # Edge x=px: y = cy + (d_line - sx*(px-cx))/sy + # Edge y=py: x = cx + (d_line - sy*(py-cy))/sx + try: + p_edge_x = numpy.array([p[0], cy + (d_line - sx * (p[0] - cx)) / sy]) + p_edge_y = numpy.array([cx + (d_line - sy * (p[1] - cy)) / sx, p[1]]) + # Order matters for polygon winding. + # If we are at [minx, miny] and moving CCW towards [maxx, miny]: + # If we clip this corner, we should add p_edge_y then p_edge_x (or vice versa depending on orientation) + # For simplicity, we can just add both and let Polygon sort it out if it's convex, + # but better to be precise. + # Since we know the bounding box orientation, we can determine order. + # BUT: Difference was safer. Let's try a simpler approach: + # Just collect all possible vertices and use convex_hull if it's guaranteed convex. + # A clipped bbox is always convex. + new_verts.append(p_edge_x) + new_verts.append(p_edge_y) + except ZeroDivisionError: + new_verts.append(p) + else: + new_verts.append(p) - try: - # Create a triangle to remove. - # Vertices: corner, intersection with x=px edge, intersection with y=py edge - p1 = (px, py) - p2 = (px, (val - sx * px) / sy) - p3 = ((val - sy * py) / sx, py) - - triangle = Polygon([p1, p2, p3]) - if triangle.is_valid and triangle.area > 1e-9: - res_poly = cast('Polygon', res_poly.difference(triangle)) - except ZeroDivisionError: - continue - return res_poly + return Polygon(new_verts).convex_hull def _apply_collision_model( @@ -355,7 +375,13 @@ class Bend90: arc_polys[0], collision_type, radius, width, cx, cy, clip_margin ) - dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None + dilated_geom = None + if dilation > 0: + if collision_type == "arc": + dilated_geom = _get_arc_polygons(cx, cy, radius, width, t_start, t_end, sagitta, dilation=dilation) + else: + # For bbox or clipped_bbox, buffer the model itself (which is simpler than buffering the high-fidelity arc) + dilated_geom = [p.buffer(dilation) for p in collision_polys] return ComponentResult( geometry=collision_polys, @@ -436,7 +462,14 @@ class SBend: col2 = _apply_collision_model(arc2, collision_type, radius, width, cx2, cy2, clip_margin)[0] collision_polys = [col1, col2] - dilated_geom = [p.buffer(dilation) for p in collision_polys] if dilation > 0 else None + dilated_geom = None + if dilation > 0: + if collision_type == "arc": + d1 = _get_arc_polygons(cx1, cy1, radius, width, ts1, te1, sagitta, dilation=dilation)[0] + d2 = _get_arc_polygons(cx2, cy2, radius, width, ts2, te2, sagitta, dilation=dilation)[0] + dilated_geom = [d1, d2] + else: + dilated_geom = [p.buffer(dilation) for p in collision_polys] return ComponentResult( geometry=collision_polys, diff --git a/inire/router/astar.py b/inire/router/astar.py index 74ef3b1..dc45382 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -3,16 +3,17 @@ from __future__ import annotations import heapq import logging import functools -from typing import TYPE_CHECKING, Literal +from typing import TYPE_CHECKING, Literal, Any +import rtree import numpy from inire.geometry.components import Bend90, SBend, Straight +from inire.geometry.primitives import Port from inire.router.config import RouterConfig if TYPE_CHECKING: from inire.geometry.components import ComponentResult - from inire.geometry.primitives import Port from inire.router.cost import CostEvaluator logger = logging.getLogger(__name__) @@ -65,6 +66,8 @@ class AStarNode: self.count = AStarNode._count AStarNode._count += 1 + + def __lt__(self, other: AStarNode) -> bool: # Tie-breaking: lower f first, then lower h, then order if abs(self.f_cost - other.f_cost) > 1e-9: @@ -83,7 +86,7 @@ class AStarRouter: """ Hybrid State-Lattice A* Router. """ - __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache', '_self_dilation') + __slots__ = ('cost_evaluator', 'config', 'node_limit', 'total_nodes_expanded', '_collision_cache', '_move_cache', '_self_dilation') cost_evaluator: CostEvaluator """ The evaluator for path and proximity costs """ @@ -100,6 +103,9 @@ class AStarRouter: _collision_cache: dict[tuple[float, float, float, str, float, str], bool] """ Internal cache for move collision checks """ + _move_cache: dict[tuple[Any, ...], ComponentResult] + """ Internal cache for component generation """ + _self_dilation: float """ Cached dilation value for collision checks (clearance / 2.0) """ @@ -149,6 +155,7 @@ class AStarRouter: self.node_limit = self.config.node_limit self.total_nodes_expanded = 0 self._collision_cache = {} + self._move_cache = {} self._self_dilation = self.cost_evaluator.collision_engine.clearance / 2.0 def route( @@ -256,6 +263,11 @@ class AStarRouter: except ValueError: pass + # Move Cache + cp = current.port + base_ori = round(cp.orientation % 360, 2) + state_key = (round(cp.x, 3), round(cp.y, 3), base_ori) + # 2. Lattice Straights lengths = self.config.straight_lengths if dist < 5.0: @@ -263,39 +275,74 @@ class AStarRouter: lengths = sorted(set(lengths + fine_steps)) for length in lengths: - res = Straight.generate(current.port, length, net_width, dilation=self._self_dilation) + # Level 1: Absolute cache (exact location) + abs_key = (state_key, 'S', length, net_width) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + # Level 2: Relative cache (orientation only) + rel_key = (base_ori, 'S', length, net_width, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + res_rel = Straight.generate(Port(0, 0, base_ori), length, net_width, dilation=self._self_dilation) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + self._move_cache[abs_key] = res self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'S{length}') # 3. Lattice Bends for radius in self.config.bend_radii: for direction in ['CW', 'CCW']: - res = Bend90.generate( - current.port, - radius, - net_width, - direction, - collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation - ) + abs_key = (state_key, 'B', radius, direction, net_width, self.config.bend_collision_type) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + rel_key = (base_ori, 'B', radius, direction, net_width, self.config.bend_collision_type, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + res_rel = Bend90.generate( + Port(0, 0, base_ori), + radius, + net_width, + direction, + collision_type=self.config.bend_collision_type, + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation + ) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + self._move_cache[abs_key] = res self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'B{radius}{direction}', move_radius=radius) # 4. Discrete SBends for offset in self.config.sbend_offsets: for radius in self.config.sbend_radii: - try: - res = SBend.generate( - current.port, - offset, - radius, - net_width, - collision_type=self.config.bend_collision_type, - clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation - ) - self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) - except ValueError: - pass + abs_key = (state_key, 'SB', offset, radius, net_width, self.config.bend_collision_type) + if abs_key in self._move_cache: + res = self._move_cache[abs_key] + else: + rel_key = (base_ori, 'SB', offset, radius, net_width, self.config.bend_collision_type, self._self_dilation) + if rel_key in self._move_cache: + res = self._move_cache[rel_key].translate(cp.x, cp.y) + else: + try: + res_rel = SBend.generate( + Port(0, 0, base_ori), + offset, + radius, + net_width, + collision_type=self.config.bend_collision_type, + clip_margin=self.config.bend_clip_margin, + dilation=self._self_dilation + ) + self._move_cache[rel_key] = res_rel + res = res_rel.translate(cp.x, cp.y) + except ValueError: + continue + self._move_cache[abs_key] = res + self._add_node(current, res, target, net_width, net_id, open_set, closed_set, f'SB{offset}R{radius}', move_radius=radius) def _add_node( self, @@ -340,35 +387,27 @@ class AStarRouter: return # 3. Check for Self-Intersection (Limited to last 100 segments for performance) - # Optimization: use pre-dilated geometries + # Optimization: use pre-dilated geometries and pre-calculated bounds if result.dilated_geometry: - for dilated_move in result.dilated_geometry: + for dm_idx, dilated_move in enumerate(result.dilated_geometry): + dm_bounds = result.dilated_bounds[dm_idx] curr_p: AStarNode | None = parent seg_idx = 0 while curr_p and curr_p.component_result and seg_idx < 100: if seg_idx > 0: res_p = curr_p.component_result if res_p.dilated_geometry: - for dilated_prev in res_p.dilated_geometry: - if (dilated_move.bounds[0] > dilated_prev.bounds[2] or - dilated_move.bounds[2] < dilated_prev.bounds[0] or - dilated_move.bounds[1] > dilated_prev.bounds[3] or - dilated_move.bounds[3] < dilated_prev.bounds[1]): - continue - - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if overlap.area > 1e-6: - return - else: - # Fallback if no pre-dilation (should not happen with new logic) - dilation = self._self_dilation - for prev_poly in res_p.geometry: - dilated_prev = prev_poly.buffer(dilation) - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if overlap.area > 1e-6: - return + for dp_idx, dilated_prev in enumerate(res_p.dilated_geometry): + dp_bounds = res_p.dilated_bounds[dp_idx] + # Quick bounds overlap check + if not (dm_bounds[0] > dp_bounds[2] or + dm_bounds[2] < dp_bounds[0] or + dm_bounds[1] > dp_bounds[3] or + dm_bounds[3] < dp_bounds[1]): + if dilated_move.intersects(dilated_prev): + overlap = dilated_move.intersection(dilated_prev) + if not overlap.is_empty and overlap.area > 1e-6: + return curr_p = curr_p.parent seg_idx += 1 From c36bce99787f1369545e1b56d7955d19bdd62b73 Mon Sep 17 00:00:00 2001 From: Jan Petykiewicz Date: Mon, 9 Mar 2026 22:16:34 -0700 Subject: [PATCH 4/5] further performance improvements --- examples/05_orientation_stress.png | Bin 64408 -> 44032 bytes examples/05_orientation_stress.py | 3 +- examples/06_bend_collision_models.png | Bin 43607 -> 46817 bytes inire/geometry/collision.py | 40 +++++--- inire/geometry/components.py | 23 +++-- inire/router/astar.py | 129 ++++++++++++++++++++------ inire/router/config.py | 1 + inire/router/cost.py | 30 ++++-- 8 files changed, 168 insertions(+), 58 deletions(-) diff --git a/examples/05_orientation_stress.png b/examples/05_orientation_stress.png index fa89785e24ecf63953d771dff3cadfd6d17a522e..60f56d1bd6d9cc9a1bb6e27989a0f610c03c2b4a 100644 GIT binary patch literal 44032 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 S)lAgkv66}snK$n~`u_mWykal_ literal 64408 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 diff --git a/examples/05_orientation_stress.py b/examples/05_orientation_stress.py index ddff8b9..e3bea03 100644 --- a/examples/05_orientation_stress.py +++ b/examples/05_orientation_stress.py @@ -18,7 +18,8 @@ def main() -> None: danger_map.precompute([]) evaluator = CostEvaluator(engine, danger_map, greedy_h_weight=1.1) - router = AStarRouter(evaluator, node_limit=100000) +# router = AStarRouter(evaluator, node_limit=100000) + router = AStarRouter(evaluator, node_limit=100000, bend_collision_type="clipped_bbox", bend_clip_margin=1.0) pf = PathFinder(router, evaluator) # 2. Define Netlist with various orientation challenges diff --git a/examples/06_bend_collision_models.png b/examples/06_bend_collision_models.png index cbab4deb7334f68d3f0c91b96804474521eba133..e6e81e4d63985b5d26788692ec5dae013637053e 100644 GIT binary patch literal 46817 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 HMd$nn(jwvW literal 43607 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 z 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 diff --git a/inire/geometry/collision.py b/inire/geometry/collision.py index 887bf66..9e87ae3 100644 --- a/inire/geometry/collision.py +++ b/inire/geometry/collision.py @@ -17,7 +17,7 @@ class CollisionEngine: __slots__ = ( 'clearance', 'max_net_width', 'safety_zone_radius', 'static_index', 'static_geometries', 'static_dilated', 'static_prepared', '_static_id_counter', - 'dynamic_index', 'dynamic_geometries', 'dynamic_dilated', '_dynamic_id_counter' + 'dynamic_index', 'dynamic_geometries', 'dynamic_dilated', 'dynamic_prepared', '_dynamic_id_counter' ) clearance: float @@ -60,6 +60,7 @@ class CollisionEngine: self.dynamic_geometries: dict[int, tuple[str, Polygon]] = {} # obj_id -> dilated_geometry (by clearance/2) self.dynamic_dilated: dict[int, Polygon] = {} + self.dynamic_prepared: dict[int, PreparedGeometry] = {} self._dynamic_id_counter = 0 def add_static_obstacle(self, polygon: Polygon) -> None: @@ -96,6 +97,7 @@ class CollisionEngine: self.dynamic_geometries[obj_id] = (net_id, poly) self.dynamic_dilated[obj_id] = dil + self.dynamic_prepared[obj_id] = prep(dil) self.dynamic_index.insert(obj_id, dil.bounds) def remove_path(self, net_id: str) -> None: @@ -109,6 +111,7 @@ class CollisionEngine: for obj_id in to_remove: nid, poly = self.dynamic_geometries.pop(obj_id) dilated = self.dynamic_dilated.pop(obj_id) + self.dynamic_prepared.pop(obj_id) self.dynamic_index.delete(obj_id, dilated.bounds) def lock_net(self, net_id: str) -> None: @@ -122,6 +125,7 @@ class CollisionEngine: for obj_id in to_move: nid, poly = self.dynamic_geometries.pop(obj_id) dilated = self.dynamic_dilated.pop(obj_id) + self.dynamic_prepared.pop(obj_id) self.dynamic_index.delete(obj_id, dilated.bounds) # Re-buffer for static clearance if necessary. # Note: dynamic is clearance/2, static is clearance. @@ -178,20 +182,28 @@ class CollisionEngine: for obj_id in candidates: if self.static_prepared[obj_id].intersects(geometry): if start_port or end_port: - # Optimization: Instead of expensive buffer + intersection, - # use distance() and check if it's within clearance only near ports. - raw_obstacle = self.static_geometries[obj_id] - # If the intersection is within clearance, distance will be < clearance. - # We already know it intersects the dilated obstacle, so distance < clearance. - - is_safe = False + # Optimization: Skip expensive intersection if neither port is near the obstacle's bounds + # (Plus a small margin for safety zone) sz = self.safety_zone_radius + is_near_port = False + for p in [start_port, end_port]: + if p: + # Quick bounds check + b = self.static_dilated[obj_id].bounds + if (b[0] - sz <= p.x <= b[2] + sz and + b[1] - sz <= p.y <= b[3] + sz): + is_near_port = True + break - # Use intersection bounds to check proximity to ports - # We need the intersection of the geometry and the RAW obstacle + if not is_near_port: + return True # Collision, and not near any port safety zone + + # Only if near port, do the expensive check + raw_obstacle = self.static_geometries[obj_id] intersection = geometry.intersection(raw_obstacle) if not intersection.is_empty: ix_minx, ix_miny, ix_maxx, ix_maxy = intersection.bounds + is_safe = False for p in [start_port, end_port]: if p and (abs(ix_minx - p.x) < sz and abs(ix_maxx - p.x) < sz and @@ -199,9 +211,9 @@ class CollisionEngine: abs(ix_maxy - p.y) < sz): is_safe = True break - - if is_safe: - continue + + if is_safe: + continue return True return False @@ -213,6 +225,6 @@ class CollisionEngine: count = 0 for obj_id in candidates: other_net_id, _ = self.dynamic_geometries[obj_id] - if other_net_id != net_id and test_poly.intersects(self.dynamic_dilated[obj_id]): + if other_net_id != net_id and self.dynamic_prepared[obj_id].intersects(test_poly): count += 1 return count diff --git a/inire/geometry/components.py b/inire/geometry/components.py index 6dd0c9b..98a063e 100644 --- a/inire/geometry/components.py +++ b/inire/geometry/components.py @@ -2,6 +2,7 @@ from __future__ import annotations from typing import Literal, cast import numpy +import shapely from shapely.geometry import Polygon, box from shapely.ops import unary_union @@ -44,10 +45,10 @@ class ComponentResult: length: float """ Physical length of the component path """ - bounds: list[tuple[float, float, float, float]] + bounds: numpy.ndarray """ Pre-calculated bounds for each polygon in geometry """ - dilated_bounds: list[tuple[float, float, float, float]] | None + dilated_bounds: numpy.ndarray | None """ Pre-calculated bounds for each polygon in dilated_geometry """ def __init__( @@ -61,16 +62,26 @@ class ComponentResult: self.dilated_geometry = dilated_geometry self.end_port = end_port self.length = length - self.bounds = [p.bounds for p in geometry] - self.dilated_bounds = [p.bounds for p in dilated_geometry] if dilated_geometry else None + # Vectorized bounds calculation + self.bounds = shapely.bounds(geometry) + self.dilated_bounds = shapely.bounds(dilated_geometry) if dilated_geometry else None def translate(self, dx: float, dy: float) -> ComponentResult: """ Create a new ComponentResult translated by (dx, dy). """ + # Vectorized translation if possible, else list comp + # Shapely 2.x affinity functions still work on single geometries efficiently + geoms = self.geometry + if self.dilated_geometry: + geoms = geoms + self.dilated_geometry + from shapely.affinity import translate - new_geom = [translate(p, dx, dy) for p in self.geometry] - new_dil = [translate(p, dx, dy) for p in self.dilated_geometry] if self.dilated_geometry else None + translated = [translate(p, dx, dy) for p in geoms] + + new_geom = translated[:len(self.geometry)] + new_dil = translated[len(self.geometry):] if self.dilated_geometry else None + new_port = Port(self.end_port.x + dx, self.end_port.y + dy, self.end_port.orientation) return ComponentResult(new_geom, new_port, self.length, new_dil) diff --git a/inire/router/astar.py b/inire/router/astar.py index dc45382..0cf31f1 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -24,7 +24,7 @@ class AStarNode: """ A node in the A* search graph. """ - __slots__ = ('port', 'g_cost', 'h_cost', 'f_cost', 'parent', 'component_result', 'count') + __slots__ = ('port', 'g_cost', 'h_cost', 'f_cost', 'parent', 'component_result', 'count', 'path_bbox') port: Port """ Port representing the state at this node """ @@ -47,6 +47,9 @@ class AStarNode: count: int """ Unique insertion order for tie-breaking """ + path_bbox: tuple[float, float, float, float] | None + """ Bounding box of the entire path up to this node """ + _count = 0 def __init__( @@ -66,6 +69,33 @@ class AStarNode: self.count = AStarNode._count AStarNode._count += 1 + # Calculate path_bbox + if parent is None: + self.path_bbox = None + else: + # Union of parent's bbox and current move's bbox + if component_result: + # Merge all polygon bounds in the result + minx, miny, maxx, maxy = 1e15, 1e15, -1e15, -1e15 + for b in component_result.dilated_bounds if component_result.dilated_bounds is not None else component_result.bounds: + minx = min(minx, b[0]) + miny = min(miny, b[1]) + maxx = max(maxx, b[2]) + maxy = max(maxy, b[3]) + + if parent.path_bbox: + self.path_bbox = ( + min(minx, parent.path_bbox[0]), + min(miny, parent.path_bbox[1]), + max(maxx, parent.path_bbox[2]), + max(maxy, parent.path_bbox[3]) + ) + else: + self.path_bbox = (minx, miny, maxx, maxy) + else: + self.path_bbox = parent.path_bbox + + def __lt__(self, other: AStarNode) -> bool: @@ -142,7 +172,7 @@ class AStarRouter: self.cost_evaluator = cost_evaluator self.config = RouterConfig( node_limit=node_limit, - straight_lengths=straight_lengths if straight_lengths is not None else [1.0, 5.0, 25.0], + straight_lengths=straight_lengths if straight_lengths is not None else [1.0, 5.0, 25.0, 100.0], bend_radii=bend_radii if bend_radii is not None else [10.0], sbend_offsets=sbend_offsets if sbend_offsets is not None else [-5.0, -2.0, 2.0, 5.0], sbend_radii=sbend_radii if sbend_radii is not None else [10.0], @@ -283,7 +313,14 @@ class AStarRouter: # Level 2: Relative cache (orientation only) rel_key = (base_ori, 'S', length, net_width, self._self_dilation) if rel_key in self._move_cache: - res = self._move_cache[rel_key].translate(cp.x, cp.y) + res_rel = self._move_cache[rel_key] + # Check closed set before translating + ex = res_rel.end_port.x + cp.x + ey = res_rel.end_port.y + cp.y + end_state = (round(ex, 3), round(ey, 3), round(res_rel.end_port.orientation, 2)) + if end_state in closed_set: + continue + res = res_rel.translate(cp.x, cp.y) else: res_rel = Straight.generate(Port(0, 0, base_ori), length, net_width, dilation=self._self_dilation) self._move_cache[rel_key] = res_rel @@ -300,7 +337,14 @@ class AStarRouter: else: rel_key = (base_ori, 'B', radius, direction, net_width, self.config.bend_collision_type, self._self_dilation) if rel_key in self._move_cache: - res = self._move_cache[rel_key].translate(cp.x, cp.y) + res_rel = self._move_cache[rel_key] + # Check closed set before translating + ex = res_rel.end_port.x + cp.x + ey = res_rel.end_port.y + cp.y + end_state = (round(ex, 3), round(ey, 3), round(res_rel.end_port.orientation, 2)) + if end_state in closed_set: + continue + res = res_rel.translate(cp.x, cp.y) else: res_rel = Bend90.generate( Port(0, 0, base_ori), @@ -325,14 +369,21 @@ class AStarRouter: else: rel_key = (base_ori, 'SB', offset, radius, net_width, self.config.bend_collision_type, self._self_dilation) if rel_key in self._move_cache: - res = self._move_cache[rel_key].translate(cp.x, cp.y) + res_rel = self._move_cache[rel_key] + # Check closed set before translating + ex = res_rel.end_port.x + cp.x + ey = res_rel.end_port.y + cp.y + end_state = (round(ex, 3), round(ey, 3), round(res_rel.end_port.orientation, 2)) + if end_state in closed_set: + continue + res = res_rel.translate(cp.x, cp.y) else: try: res_rel = SBend.generate( Port(0, 0, base_ori), offset, radius, - net_width, + width=net_width, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin, dilation=self._self_dilation @@ -387,29 +438,48 @@ class AStarRouter: return # 3. Check for Self-Intersection (Limited to last 100 segments for performance) - # Optimization: use pre-dilated geometries and pre-calculated bounds if result.dilated_geometry: - for dm_idx, dilated_move in enumerate(result.dilated_geometry): - dm_bounds = result.dilated_bounds[dm_idx] - curr_p: AStarNode | None = parent - seg_idx = 0 - while curr_p and curr_p.component_result and seg_idx < 100: - if seg_idx > 0: - res_p = curr_p.component_result - if res_p.dilated_geometry: - for dp_idx, dilated_prev in enumerate(res_p.dilated_geometry): - dp_bounds = res_p.dilated_bounds[dp_idx] - # Quick bounds overlap check - if not (dm_bounds[0] > dp_bounds[2] or - dm_bounds[2] < dp_bounds[0] or - dm_bounds[1] > dp_bounds[3] or - dm_bounds[3] < dp_bounds[1]): - if dilated_move.intersects(dilated_prev): - overlap = dilated_move.intersection(dilated_prev) - if not overlap.is_empty and overlap.area > 1e-6: - return - curr_p = curr_p.parent - seg_idx += 1 + # Union of current move's bounds for fast path-wide pruning + m_minx, m_miny, m_maxx, m_maxy = 1e15, 1e15, -1e15, -1e15 + for b in result.dilated_bounds if result.dilated_bounds is not None else result.bounds: + + m_minx = min(m_minx, b[0]) + m_miny = min(m_miny, b[1]) + m_maxx = max(m_maxx, b[2]) + m_maxy = max(m_maxy, b[3]) + + # If current move doesn't overlap the entire parent path bbox, we can skip individual checks + # (Except the immediate parent which we usually skip anyway) + if parent.path_bbox and not (m_minx > parent.path_bbox[2] or + m_maxx < parent.path_bbox[0] or + m_miny > parent.path_bbox[3] or + m_maxy < parent.path_bbox[1]): + + for dm_idx, dilated_move in enumerate(result.dilated_geometry): + dm_bounds = result.dilated_bounds[dm_idx] + curr_p: AStarNode | None = parent + seg_idx = 0 + while curr_p and curr_p.component_result and seg_idx < 100: + # Skip immediate parent to avoid tangent/port-safety issues + if seg_idx > 0: + res_p = curr_p.component_result + if res_p.dilated_geometry: + for dp_idx, dilated_prev in enumerate(res_p.dilated_geometry): + dp_bounds = res_p.dilated_bounds[dp_idx] + # Quick bounds overlap check + if not (dm_bounds[0] > dp_bounds[2] or + dm_bounds[2] < dp_bounds[0] or + dm_bounds[1] > dp_bounds[3] or + dm_bounds[3] < dp_bounds[1]): + # Use intersects() which is much faster than intersection() + if dilated_move.intersects(dilated_prev): + # Only do expensive area check if absolutely necessary + overlap = dilated_move.intersection(dilated_prev) + if not overlap.is_empty and overlap.area > 1e-6: + return + curr_p = curr_p.parent + seg_idx += 1 + move_cost = self.cost_evaluator.evaluate_move( result.geometry, @@ -418,7 +488,8 @@ class AStarRouter: net_id, start_port=parent.port, length=result.length, - dilated_geometry=result.dilated_geometry + dilated_geometry=result.dilated_geometry, + skip_static=True ) if move_cost > 1e12: diff --git a/inire/router/config.py b/inire/router/config.py index 0a9e115..5b1ee80 100644 --- a/inire/router/config.py +++ b/inire/router/config.py @@ -28,3 +28,4 @@ class CostConfig: unit_length_cost: float = 1.0 greedy_h_weight: float = 1.1 congestion_penalty: float = 10000.0 + bend_penalty: float = 50.0 diff --git a/inire/router/cost.py b/inire/router/cost.py index 1753aa9..923994d 100644 --- a/inire/router/cost.py +++ b/inire/router/cost.py @@ -39,6 +39,7 @@ class CostEvaluator: unit_length_cost: float = 1.0, greedy_h_weight: float = 1.1, congestion_penalty: float = 10000.0, + bend_penalty: float = 50.0, ) -> None: """ Initialize the Cost Evaluator. @@ -49,6 +50,7 @@ class CostEvaluator: unit_length_cost: Cost multiplier per micrometer of path length. greedy_h_weight: Heuristic weighting (A* greedy factor). congestion_penalty: Multiplier for path overlaps in negotiated congestion. + bend_penalty: Base cost for 90-degree bends. """ self.collision_engine = collision_engine self.danger_map = danger_map @@ -56,6 +58,7 @@ class CostEvaluator: unit_length_cost=unit_length_cost, greedy_h_weight=greedy_h_weight, congestion_penalty=congestion_penalty, + bend_penalty=bend_penalty, ) # Use config values @@ -63,6 +66,7 @@ class CostEvaluator: self.greedy_h_weight = self.config.greedy_h_weight self.congestion_penalty = self.config.congestion_penalty + def g_proximity(self, x: float, y: float) -> float: """ Get proximity cost from the Danger Map. @@ -86,14 +90,21 @@ class CostEvaluator: Returns: Heuristic cost estimate. """ - dist = abs(current.x - target.x) + abs(current.y - target.y) + dx = abs(current.x - target.x) + dy = abs(current.y - target.y) + dist = dx + dy # Orientation penalty if not aligned with target entry + # If we need to turn, the cost is at least min_bend_radius * pi/2 + # But we also need to account for the physical distance required for the turn. penalty = 0.0 if current.orientation != target.orientation: - penalty += 50.0 # Arbitrary high cost for mismatch + # 90-degree turn cost: radius 10 -> ~15.7 um + penalty + penalty += 15.7 + self.config.bend_penalty + + # Add 1.5 multiplier for greediness (faster search) + return 1.5 * (dist + penalty) - return self.greedy_h_weight * (dist + penalty) def evaluate_move( self, @@ -104,6 +115,7 @@ class CostEvaluator: start_port: Port | None = None, length: float = 0.0, dilated_geometry: list[Polygon] | None = None, + skip_static: bool = False, ) -> float: """ Calculate the cost of a single move (Straight, Bend, SBend). @@ -116,6 +128,7 @@ class CostEvaluator: start_port: Port at the start of the move. length: Physical path length of the move. dilated_geometry: Pre-calculated dilated polygons. + skip_static: If True, bypass static collision checks (e.g. if already done). Returns: Total cost of the move, or 1e15 if invalid. @@ -131,11 +144,12 @@ class CostEvaluator: for i, poly in enumerate(geometry): dil_poly = dilated_geometry[i] if dilated_geometry else None # Hard Collision (Static obstacles) - if self.collision_engine.check_collision( - poly, net_id, buffer_mode='static', start_port=start_port, end_port=end_port, - dilated_geometry=dil_poly - ): - return 1e15 + if not skip_static: + if self.collision_engine.check_collision( + poly, net_id, buffer_mode='static', start_port=start_port, end_port=end_port, + dilated_geometry=dil_poly + ): + return 1e15 # Soft Collision (Negotiated Congestion) overlaps = self.collision_engine.check_collision( From 9fac436c509ce3da2dc718827fe07c93f3b233f8 Mon Sep 17 00:00:00 2001 From: jan Date: Tue, 10 Mar 2026 00:21:19 -0700 Subject: [PATCH 5/5] tiered bbox --- examples/05_orientation_stress.png | Bin 44032 -> 66370 bytes examples/06_bend_collision_models.png | Bin 46817 -> 40528 bytes inire/geometry/components.py | 13 +++++---- inire/router/astar.py | 39 +++++++++++++++++++++----- inire/router/pathfinder.py | 8 ++++-- 5 files changed, 45 insertions(+), 15 deletions(-) diff --git a/examples/05_orientation_stress.png b/examples/05_orientation_stress.png index 60f56d1bd6d9cc9a1bb6e27989a0f610c03c2b4a..825395287756c07d9765c229e9f5f56b2b535538 100644 GIT binary patch literal 66370 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 S)lAgkv66}snK$n~`u_mWykal_ diff --git a/examples/06_bend_collision_models.png b/examples/06_bend_collision_models.png index e6e81e4d63985b5d26788692ec5dae013637053e..038c344f1351928a59efe81e483527de46ad61d5 100644 GIT binary patch literal 40528 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�>glDv%e+8(YA&l0asczxh%e^WKnr@w9g! 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 literal 46817 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 HMd$nn(jwvW diff --git a/inire/geometry/components.py b/inire/geometry/components.py index 98a063e..5e4f907 100644 --- a/inire/geometry/components.py +++ b/inire/geometry/components.py @@ -64,7 +64,7 @@ class ComponentResult: self.length = length # Vectorized bounds calculation self.bounds = shapely.bounds(geometry) - self.dilated_bounds = shapely.bounds(dilated_geometry) if dilated_geometry else None + self.dilated_bounds = shapely.bounds(dilated_geometry) if dilated_geometry is not None else None def translate(self, dx: float, dy: float) -> ComponentResult: """ @@ -72,15 +72,16 @@ class ComponentResult: """ # Vectorized translation if possible, else list comp # Shapely 2.x affinity functions still work on single geometries efficiently - geoms = self.geometry - if self.dilated_geometry: - geoms = geoms + self.dilated_geometry + geoms = list(self.geometry) + num_geom = len(self.geometry) + if self.dilated_geometry is not None: + geoms.extend(self.dilated_geometry) from shapely.affinity import translate translated = [translate(p, dx, dy) for p in geoms] - new_geom = translated[:len(self.geometry)] - new_dil = translated[len(self.geometry):] if self.dilated_geometry else None + new_geom = translated[:num_geom] + new_dil = translated[num_geom:] if self.dilated_geometry is not None else None new_port = Port(self.end_port.x + dx, self.end_port.y + dy, self.end_port.orientation) return ComponentResult(new_geom, new_port, self.length, new_dil) diff --git a/inire/router/astar.py b/inire/router/astar.py index 0cf31f1..fc1b30f 100644 --- a/inire/router/astar.py +++ b/inire/router/astar.py @@ -194,6 +194,7 @@ class AStarRouter: target: Port, net_width: float, net_id: str = 'default', + bend_collision_type: Literal['arc', 'bbox', 'clipped_bbox'] | None = None, ) -> list[ComponentResult] | None: """ Route a single net using A*. @@ -203,10 +204,14 @@ class AStarRouter: target: Target port. net_width: Waveguide width (um). net_id: Optional net identifier. + bend_collision_type: Override collision model for this route. Returns: List of moves forming the path, or None if failed. """ + if bend_collision_type is not None: + self.config.bend_collision_type = bend_collision_type + self._collision_cache.clear() open_set: list[AStarNode] = [] # Key: (x, y, orientation) rounded to 1nm @@ -311,7 +316,9 @@ class AStarRouter: res = self._move_cache[abs_key] else: # Level 2: Relative cache (orientation only) - rel_key = (base_ori, 'S', length, net_width, self._self_dilation) + # Dilation is now 0.0 for caching to save translation time. + # It will be calculated lazily in _add_node if needed. + rel_key = (base_ori, 'S', length, net_width, 0.0) if rel_key in self._move_cache: res_rel = self._move_cache[rel_key] # Check closed set before translating @@ -322,7 +329,7 @@ class AStarRouter: continue res = res_rel.translate(cp.x, cp.y) else: - res_rel = Straight.generate(Port(0, 0, base_ori), length, net_width, dilation=self._self_dilation) + res_rel = Straight.generate(Port(0, 0, base_ori), length, net_width, dilation=0.0) self._move_cache[rel_key] = res_rel res = res_rel.translate(cp.x, cp.y) self._move_cache[abs_key] = res @@ -335,7 +342,7 @@ class AStarRouter: if abs_key in self._move_cache: res = self._move_cache[abs_key] else: - rel_key = (base_ori, 'B', radius, direction, net_width, self.config.bend_collision_type, self._self_dilation) + rel_key = (base_ori, 'B', radius, direction, net_width, self.config.bend_collision_type, 0.0) if rel_key in self._move_cache: res_rel = self._move_cache[rel_key] # Check closed set before translating @@ -353,7 +360,7 @@ class AStarRouter: direction, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation + dilation=0.0 ) self._move_cache[rel_key] = res_rel res = res_rel.translate(cp.x, cp.y) @@ -367,7 +374,7 @@ class AStarRouter: if abs_key in self._move_cache: res = self._move_cache[abs_key] else: - rel_key = (base_ori, 'SB', offset, radius, net_width, self.config.bend_collision_type, self._self_dilation) + rel_key = (base_ori, 'SB', offset, radius, net_width, self.config.bend_collision_type, 0.0) if rel_key in self._move_cache: res_rel = self._move_cache[rel_key] # Check closed set before translating @@ -386,7 +393,7 @@ class AStarRouter: width=net_width, collision_type=self.config.bend_collision_type, clip_margin=self.config.bend_clip_margin, - dilation=self._self_dilation + dilation=0.0 ) self._move_cache[rel_key] = res_rel res = res_rel.translate(cp.x, cp.y) @@ -424,9 +431,20 @@ class AStarRouter: if self._collision_cache[cache_key]: return else: + # Lazy Dilation: compute dilated polygons only if we need a collision check + if result.dilated_geometry is None: + # We need to update the ComponentResult with dilated geometry + # For simplicity, we'll just buffer the polygons here. + # In a more optimized version, ComponentResult might have a .dilate() method. + dilated = [p.buffer(self._self_dilation) for p in result.geometry] + result.dilated_geometry = dilated + # Re-calculate dilated bounds + import shapely + result.dilated_bounds = shapely.bounds(dilated) + hard_coll = False for i, poly in enumerate(result.geometry): - dil_poly = result.dilated_geometry[i] if result.dilated_geometry else None + dil_poly = result.dilated_geometry[i] if self.cost_evaluator.collision_engine.check_collision( poly, net_id, buffer_mode='static', start_port=parent.port, end_port=result.end_port, dilated_geometry=dil_poly @@ -437,6 +455,13 @@ class AStarRouter: if hard_coll: return + # Lazy Dilation for self-intersection and cost evaluation + if result.dilated_geometry is None: + dilated = [p.buffer(self._self_dilation) for p in result.geometry] + result.dilated_geometry = dilated + import shapely + result.dilated_bounds = shapely.bounds(dilated) + # 3. Check for Self-Intersection (Limited to last 100 segments for performance) if result.dilated_geometry: # Union of current move's bounds for fast path-wide pruning diff --git a/inire/router/pathfinder.py b/inire/router/pathfinder.py index 40ce644..084d483 100644 --- a/inire/router/pathfinder.py +++ b/inire/router/pathfinder.py @@ -111,9 +111,13 @@ class PathFinder: self.cost_evaluator.collision_engine.remove_path(net_id) # 2. Reroute with current congestion info + # Tiered Strategy: use clipped_bbox for Iteration 0 for speed. + # Switch to arc for higher iterations if collisions persist. + coll_model = "clipped_bbox" if iteration == 0 else "arc" + net_start = time.monotonic() - path = self.router.route(start, target, width, net_id=net_id) - logger.debug(f' Net {net_id} routed in {time.monotonic() - net_start:.4f}s') + path = self.router.route(start, target, width, net_id=net_id, bend_collision_type=coll_model) + logger.debug(f' Net {net_id} routed in {time.monotonic() - net_start:.4f}s using {coll_model}') if path: # 3. Add to index