úÎ!'#¥>      !"#$%&'()*+,-./0123456789:;<=Safe=>?"Q#yxSymmetry axis.yxA rotational direction.yxThe center of a rotation.fValid rotations can have either an exact coordinate as center or the top left corner of a coordinate. yxA non-empty 2D box.QA box might have zero width or height but will always contain at least one point. yxA 2D coordinate.yxY-axis coordinate.yxX-axis coordinate.yx Decrement y.yx Decrement x.yx Increment x.yx Increment y.yx"Ordered array of the 4 base steps.yx5Ordered array of the 8 steps (4 base and 4 diagonal).yx1Constructs a box from its extremities, returning >. if the points are not ordered appropriately.yx.Returns the box corresponding to an array, or > if the array is empty.yxReturns the smallest  " containing all input coordinates.yxCReturns the top-left most point of the box (i.e. its lattice meet).yxGReturns the bottom-right most point of the box (i.e. its lattice join).yxReturns the box' bounds, (topLeft, bottomRight).yx3Returns the height of the box, always non-negative.yx2Returns the width of the box, always non-negative.yx/Returns all coordinates within the box, sorted.yx.Returns whether a given point is within a box. yx@Returns the shortest distance of the point to the box' edge, or >% if the point is not within the box.!yx8Returns the box' coordinates, sorted and grouped by row."yx9Returns 4 neighbors of YX filtered to members of the box.#yx9Returns 8 neighbors of YX filtered to members of the box.$yxIntersects two boxes.%yxRotates a coordinate.&yx2Flips coordinates symmetrically on the given axis.'yxHParses a newline delimited bytestring into an array in an effectful way.(yx4Parses a newline delimited bytestring into an array.)yxGSerializes an array into a bytestring. This function is the reverse of (.,yxAIntegers are converted to their diagonal equivalent (for example 2 becomes YX 2 2).-yxyxTop-left point.yxBottom-right point.*  !"#$%&'()*   !$"# %&(')?      !"#$%&'()*+,-./0123456789:;<=>?@AB!yx-0.0.4.3-9ACAJ7jyvcFHgMQwJS0qsbData.Geometry.YXAxisAboveRowAtRow LeftOfColumnAtColumn Direction ClockwiseCounterClockwiseCenterAroundAroundTopLeftCornerBoxYXyxupleftrightdownsteps4steps8boxarrayBox boundingBoxtopLeft bottomRight boxBounds boxHeightboxWidthboxRangeinBoxboxDepthboxRows boxNeighbors4 boxNeighbors8boxIntersectionrotatemirrorbyteStringToArrayMbyteStringToArrayarrayToByteString $fLatticeYX$fIxYX$fNumYX$fSemigroupBox$fEqYX$fOrdYX$fShowYX$fEqBox $fShowBox $fEqCenter $fOrdCenter $fShowCenter$fBoundedDirection $fEqDirection$fEnumDirection$fOrdDirection$fShowDirection$fEqAxis $fOrdAxis $fShowAxisbase GHC.MaybeNothing