h$z!g      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                       (C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>? hgeometry-ipe(Whether or not to crop the output image. hgeometry-ipeWhether or not to render a transparent background in output png images. hgeometry-ipeOptions for iperender  hgeometry-ipe'Output filetypes supported by iperender hgeometry-ipeCall  iperender+ to produce an image of the specified type.note that pdf files produces with iperender cannot be opened with ipe. hgeometry-ipeCall  iperender with the default options.note that pdf files produces with iperender cannot be opened with ipe. hgeometry-ipeThe default options in Ipe hgeometry-ipethe options to use hgeometry-ipeoutput file type hgeometry-ipeinput file path hgeometry-ipeoutput file path     (C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?& hgeometry-ipeDefines an Layer in Ipe.&'-&'-(C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?. hgeometry-ipeInclude a literal expression/ hgeometry-ipeLiteral quoter.0 hgeometry-ipeInclude a file as a literal.1 hgeometry-ipeParse a string into a Node../01./01None &'(-./25678>?d hgeometry-ipe%reexporting some standard combinators hgeometry-ipeparses an integer with a prefix of zeros. Returns the total length of the string parced (i.e. number of digits) and the resulting antural number. hgeometry-ipeinfix variant of notfollowed by hgeometry-ipeRunning parsers in reverse;Runs parser q ``in reverse'' on the end of the input stream hgeometry-ipe1run the parsers in reverse order, first q, then p hgeometry-ipe"the variants with missing brackets11222(C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?2 hgeometry-ipePathsPaths consist of Path Segments. PathSegments come in the following forms:= hgeometry-ipe/A path is a non-empty sequence of PathSegments.P hgeometry-ipe#type that represents a path in ipe.'23456789:=>?@ABCDEFPSQRTUVWXYZabcdefghi'=>Z23456789:?@ABCDEFPSQRTUVWXYabhicdefg(C) Frank Staalssee the LICENSE file Frank StaalsNone  &'(-./256789>?j hgeometry-ipeRepresent stuff that can be used as a coordinate in ipe. (similar to show/read)l hgeometry-ipeRunning the parsers%Read/parse a single coordinate value.m hgeometry-ipeRead/parse a single pointn hgeometry-ipe Run a parsero hgeometry-ipe$Parse a sequence of path operations.p hgeometry-ipeTry to read/parse a matrix.q hgeometry-ipeTry to read/parse a Rectangler hgeometry-ipeParse an operation jklmnopqrst jklmpqnorst(C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?} hgeometry-ipeMany types either consist of a symbolc value, or a value of type v}~}~(C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>? hgeometry-ipeDefines a color in Ipe. Colors are either RGB Values or Named values. hgeometry-ipeCreates a named color(C) Frank Staalssee the LICENSE file Frank StaalsNone# &'(-./25678>?'$ hgeometry-ipeThe possible Attributes supported in Ipe. To use these attributes, you'll likely need their Singletons's version which is Prefixed by an  . E.g. the ? attribute is represented by a singleton 'SFill :: Sing Fill'. hgeometry-ipeAttr implements the mapping from labels to types as specified by the (symbol representing) the type family f hgeometry-ipe#All attributes applicable to Groups hgeometry-ipe"All attributes applicable to Paths hgeometry-ipe*All attributes applicable to Symbols/Marks hgeometry-ipe#All attributes applicable to Images hgeometry-ipe&All attributes applicable to Minipages hgeometry-ipe'All attributes applicable to TextLabels hgeometry-ipeIpeObjects may have attributes. Essentially attributes are (key,value) pairs. The key is some name. Which attributes an object can have depends on the type of the object. However, all ipe objects support the Common Attributes hgeometry-ipe Possible values for an ipe arrow hgeometry-ipe>IpeOpacity, IpeTyling, and IpeGradient are all symbolic values hgeometry-ipeAllowed Fill types hgeometry-ipePossible values for Dash hgeometry-ipe Pen/Thickness hgeometry-ipeThe optional Attributes for a symbol data SymbolAttributeUniverse = SymbolStroke | SymbolFill | SymbolPen | Size deriving (Show,Eq)Size hgeometry-ipe"Possible values for Transformation hgeometry-ipePossible values for Pin hgeometry-ipeA collection of Attributes. hgeometry-ipeAn Attribute that is not set hgeometry-ipe;Constructor for constructing an Attr given an actual value. hgeometry-ipeTraverse an attribute. hgeometry-ipeTraverse for the situation where the type is not actually parameterized. hgeometry-ipeGet a vinyl Record with Attrs hgeometry-ipe!Traverse implementation for Attrs hgeometry-ipe%Zip two Recs with the given function. hgeometry-ipe-Lens into a specific attribute, if it is set. hgeometry-ipe"Prism into a particular attribute. hgeometry-ipe Looks up a particular attribute. hgeometry-ipeSets a particular attribute hgeometry-ipe.gets and removes the attribute from Attributes hgeometry-ipeunsets/Removes an attribute hgeometry-ipeCreates a singleton attribute hgeometry-ipeGive pref. to the *RIGHT* hgeometry-ipeFor the types representing attribute values we can get the name/key to use when serializing to ipe. hgeometry-ipeA normal arrow hgeometry-ipeWriting Attribute names None!&'(-./25678>?-  hgeometry-ipe Image Objects hgeometry-ipeIpe Symbols, i.e. PointsA symbol (point) in ipe hgeometry-ipe Text Objects hgeometry-ipeThe mapping between the labels of the the attributes and the types of the attributes with these labels. For example, the = label/attribute should have a value of type 'Matrix 3 3 r'. hgeometry-ipeAn IpeObject' is essentially the oject ogether with its attributes hgeometry-ipe,Attributes' :: * -> [AttributeUniverse] -> * hgeometry-ipeGroups and ObjectsGroup Attributes,A group is essentially a list of IpeObjects. hgeometry-ipetraverse for ipe attributes hgeometry-ipe%Shorthand for constructing ipeObjects hgeometry-ipecollect all non-group objects623456789:=>Z6=>Z23456789: (C) Frank Staalssee the LICENSE file Frank StaalsNone" &'(-./25678>?4 hgeometry-ipe;The definition of a view make active layer into an index ? hgeometry-ipe#for now we pretty much ignore these hgeometry-ipe The maybe string is the encoding hgeometry-ipeAn IpePage is essentially a Group, together with a list of layers and a list of views. hgeometry-ipeA complete ipe file hgeometry-ipe.Creates an empty page with one layer and view. hgeometry-ipe)Creates a simple page with a single view. hgeometry-ipeMakes sure that the page has at least one layer and at least one view, essentially matching the behaviour of ipe. In particular,if the page does not have any layers, it creates a layer named "alpha", andif the page does not have any views, it creates a view in which all layers are visible. hgeometry-ipe4This allows you to filter the objects on some layer.let page = IpePage [] [] [] page^..content.onLayer "myLayer"[] hgeometry-ipe4Gets all objects that are visible in the given view.Note that views are indexed starting from 0. If the page does not have any explicit view definitions, this function returns an empty list.let page = IpePage [] [] []page^.contentInView 0[] hgeometry-ipeConvenience constructor for creating an ipe file without preamble and with the default stylesheet. hgeometry-ipeConvenience function to construct an ipe file consisting of a single page. hgeometry-ipe7Create a single page ipe file from a list of IpeObjects hgeometry-ipeAdds a stylesheet to the ipe file. This will be the first stylesheet, i.e. it has priority over all previously imported stylesheets.&'-23456789:=>Z=>Z23456789:&'- (C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?7 hgeometry-ipe8Takes and applies the ipe Matrix attribute of this item. hgeometry-ipe2Applies the matrix to an ipe object if it has one. hgeometry-ipe!Applies all matrices in the file. hgeometry-ipe%Applies all Matrices on a given page. None  &'(-./25678>?? hgeometry-ipeBasically IpeReadText for attributes. This class is not really meant to be implemented directly. Just define an IpeReadText instance for the type (Apply f at), then the generic instance below takes care of looking up the name of the attribute, and calling the right ipeReadText value. This class is just so that reifyConstraint in 7 can select the right typeclass when building the rec. hgeometry-ipeReading an ipe lement from Xml hgeometry-ipe'Reading an ipe elemtn from a Text value hgeometry-ipe,Given a file path, tries to read an ipe file hgeometry-ipe-Given a file path, tries to read an ipe file..This function applies all matrices to objects. hgeometry-ipeSince most Ipe file contain only one page, we provide a shortcut for that as well.This function applies all matrices, and it makes sure there is at least one layer and view in the page. hgeometry-ipeTries to read a single page file, throws an error when this fails. See  for further details. hgeometry-ipeGiven a Bytestring, try to parse the bytestring into anything that is IpeReadable, i.e. any of the Ipe elements. hgeometry-ipe3Reads the data from a Bytestring into a proper Node hgeometry-ipeReading the Attributes into a Rec (Attr f), all based on the types of f (the type family mapping labels to types), and a list of labels (ats). hgeometry-ipeReader for records. Given a proxy of some ipe type i, and a proxy of an coordinate type r, read the IpeAttributes for i from the xml node. hgeometry-ipeIf we can ipeRead an ipe element, and we can ipeReadAttrs its attributes we can properly read an ipe object using ipeReadObject hgeometry-ipe"Reads an Ipe stylesheet from Disk. hgeometry-ipeGiven a path to a stylesheet, add it to the ipe file with the highest priority. Throws an error when this fails. hgeometry-ipeIpe read instancesjkjk (C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?E  hgeometry-ipeExtracts the point from a Symbol. When creating a symbol this creates a disk that supports a stroke color. hgeometry-ipeTry to convert a path into a line segment, fails if the path is not a line segment or a polyline with more than two points. hgeometry-ipe5Convert to a polyline. Ignores all non-polyline partstestPath ^? _asPolyLineJust (PolyLine {_points = LSeq (fromList [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [200,100] :+ ()])}) hgeometry-ipeConvert to a simple polygon hgeometry-ipe)Tries to convert a path into a rectangle. hgeometry-ipeConvert to a triangle hgeometry-ipeConvert to a multipolygon hgeometry-ipeUse the first prism to select the ipe object to depicle with, and the second how to select the geometry object from there on. Then we can select the geometry object, directly with its attributes here.-testObject ^? _withAttrs _IpePath _asPolyLineJust (PolyLine {_points = LSeq (fromList [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [200,100] :+ ()])} :+ Attrs {NoAttr, NoAttr, NoAttr, NoAttr, Attr IpeColor (Named "red"), NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr}) hgeometry-ipe#Read all g's from some ipe page(s). hgeometry-ipeConvenience function from reading all g's from an ipe file. If there is an error reading or parsing the file the error is "thrown away".(C) Frank Staalssee the LICENSE file Frank StaalsNone &'(-./25678>?T hgeometry-ipeClass that specifies a default conversion from a geometry type g into an ipe object. hgeometry-ipeGive the option to draw zero, one or more things, i.e. by choosing f ~ Maybe or f ~ [] hgeometry-ipeAdd attributes to an IpeObject' hgeometry-ipeRender an ipe object:{5 iO $ defIO myPolygon ! attr SFill (IpeColor "blue"), ! attr SLayer "alpha"+ ! attr SLayer "beta":}IpePath (Path {_pathSegments = LSeq (fromList [PolygonPath SimplePolygon CSeq [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [100,200] :+ ()]])} :+ Attrs {Attr LayerName {_layerName = "beta"}, NoAttr, NoAttr, NoAttr, NoAttr, Attr IpeColor (Named "blue"), NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr}):{ iO $ ipeGroup [ iO $ ipePolygon myPolygon ! attr SFill (IpeColor "red")' ] ! attr SLayer "alpha":}IpeGroup (Group [IpePath (Path {_pathSegments = LSeq (fromList [PolygonPath SimplePolygon CSeq [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [100,200] :+ ()]])} :+ Attrs {NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, Attr IpeColor (Named "red"), NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr})] :+ Attrs {Attr LayerName {_layerName = "alpha"}, NoAttr, NoAttr, NoAttr, NoAttr}) hgeometry-ipe.Render to an ipe object using the defIO IpeOut:{/ iO'' myPolygon $ attr SFill (IpeColor "red")' <> attr SLayer "alpha"& <> attr SLayer "beta":}IpePath (Path {_pathSegments = LSeq (fromList [PolygonPath SimplePolygon CSeq [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [100,200] :+ ()]])} :+ Attrs {Attr LayerName {_layerName = "beta"}, NoAttr, NoAttr, NoAttr, NoAttr, Attr IpeColor (Named "red"), NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr})4iO'' [ myPolygon , myPolygon ] $ attr SLayer "alpha"IpeGroup (Group [IpePath (Path {_pathSegments = LSeq (fromList [PolygonPath SimplePolygon CSeq [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [100,200] :+ ()]])} :+ Attrs {NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr}),IpePath (Path {_pathSegments = LSeq (fromList [PolygonPath SimplePolygon CSeq [Point2 [0,0] :+ (),Point2 [10,10] :+ (),Point2 [100,200] :+ ()]])} :+ Attrs {NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr, NoAttr})] :+ Attrs {Attr LayerName {_layerName = "alpha"}, NoAttr, NoAttr, NoAttr, NoAttr}) hgeometry-ipe6generate an ipe object without any specific attributes hgeometry-ipeSize of the default bounding box used to clip lines and half-lines in the default IpeOuts. hgeometry-ipe5Renders a line as a Path. The line is clipped to the  hgeometry-ipe"Renders the line in the given box.;pre: the intersection of the box with the line is non-empty hgeometry-ipeRenders an Halfine.;pre: the intersection of the box with the line is non-empty hgeometry-ipe&Renders the HalfLine in the given box.;pre: the intersection of the box with the line is non-empty hgeometry-ipe0Helper to construct a path from a singleton item hgeometry-ipeDraw a polygon hgeometry-ipeDraw a Rectangle hgeometry-ipeCreates an text label hgeometry-ipeAnnotate an IpeOut with a label hgeometry-ipewhere to place the label hgeometry-ipe how to draw the geometric object(C) Frank Staalssee the LICENSE file Frank StaalsNone  &'(-./25678>?Vk hgeometry-ipeDraw a quadTree cell as a Path hgeometry-ipeDraws an entire quadtree. hgeometry-ipe:Draw a quadtree with a given method for drawing the cells. hgeometry-ipe+Draw every cell of a level of the quadtree.#Converting data types into IpeTypes(C) Frank Staalssee the LICENSE file Frank StaalsNone  &'(-./25678>?[.  hgeometry-ipeTypes that correspond to an XML Element. All instances should produce an Element. If the type should produce a Node with the Text constructor, use the  typeclass instead. hgeometry-ipe'For types that can produce a text value hgeometry-ipeGiven a prism to convert something of type g into an ipe file, a file path, and a g. Convert the geometry and write it to file.Write an IpeFiele to file. hgeometry-ipe2Creates a single page ipe file with the given page hgeometry-ipeConvert the input to ipeXml, and prints it to standard out in such a way that the copied text can be pasted into ipe as a geometry object. hgeometry-ipe$Convert input into an ipe selection. hgeometry-ipeConvert to Ipe xml hgeometry-ipe2Convert to ipe XML and write the output to a file. hgeometry-ipe(Functon to write all attributes in a Rec hgeometry-ipeWriting the attribute values hgeometry-ipeThis instance converts the ratio to a Pico, and then displays that.  (C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?^k hgeometry-ipe!only closed ranges are supported. hgeometry-ipeCall ipetoipe+ to produce an image of the specified type. hgeometry-ipeCall ipetoipe with the default options. hgeometry-ipe6Write an ipe file to disk as an ipe readable pdf file.Note that like all other functions in this module, this requires ipetoipe to be installed (it is bundled with ipe) and available on the path.Note this will write soem intermediate file to your system temp dir. hgeometry-ipethe options to use hgeometry-ipeoutput file type hgeometry-ipeinput file path hgeometry-ipeoutput file path(C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?_[&'-23456789:=>Z}~=>Z23456789:&'-None&'(-./25678>?b hgeometry-ipe Draws a tree(C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?e hgeometry-ipe8Draws only the values for which we have a Just attribute hgeometry-ipe"Draw everything using the defaults hgeometry-ipeFunction to draw a graph by giving functions that specify how to render vertices, edges, and faces. hgeometry-ipeFunction to draw a graph by giving the outer faceId and the functions that specify how to render vertices, edges, and faces. hgeometry-ipe outerface IdNone&'(-./25678>?e hgeometry-ipeDraws a triangulation(C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?g+ hgeometry-ipe8Draws only the values for which we have a Just attribute hgeometry-ipe"Draw everything using the defaults hgeometry-ipeFunction to draw a planar subdivision by giving functions that specify how to render vertices, edges, the internal faces, and the outer face.(C) Frank Staalssee the LICENSE file Frank StaalsNone&'(-./25678>?g hgeometry-ipeDraws an arrangement !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                                                                                                                       $'+,-.:<)hgeometry-ipe-0.13-A73FxPbqDgZ9IHb4vlH39Q Ipe.IpeRender Ipe.Layer Ipe.LiteralIpe.PathIpe.PathParser Ipe.Value Ipe.ColorIpe.Attributes Ipe.Content Ipe.Types Ipe.Matrix Ipe.Reader Ipe.FromIpe Ipe.IpeOutData.Geometry.QuadTree.Draw Ipe.Writer Ipe.IpeToIpeData.Tree.DrawData.PlaneGraph.Draw Data.Geometry.Triangulation.Draw$Data.Geometry.PlanarSubdivision.DrawData.Geometry.Arrangement.DrawIpe.ParserPrimitivesIpeCropNoCrop BackgroundOpaqueBackgroundTransparentBackgroundOptions pageNumber viewNumber resolution transparentcropFileTypePNGEPSPDFSVG ipeRenderWith ipeRenderdefaultOptions$fShowFileType $fShowOptions $fEqOptions $fOrdOptions $fShowCrop $fReadCrop$fEqCrop $fOrdCrop $fEnumCrop$fShowBackground$fReadBackground$fEqBackground$fOrdBackground$fEnumBackground $fEqFileType $fOrdFileType$fEnumFileType LayerName$fShowLayerName$fReadLayerName $fEqLayerName$fOrdLayerName$fIsStringLayerName layerName literallylitlitFile xmlLiteral PathSegmentPolyLineSegment PolygonPathCubicBezierSegmentQuadraticBezierSegmentEllipseSegment ArcSegment SplineSegmentClosedSplineSegment$fShowPathSegment$fEqPathSegmentPath_PolyLineSegment _PolygonPath_CubicBezierSegment_QuadraticBezierSegment_EllipseSegment _ArcSegment_SplineSegment_ClosedSplineSegment$fIsTransformablePathSegment$fTraversablePathSegment$fFoldablePathSegment$fFunctorPathSegment $fShowPath$fEqPath $fFunctorPath$fFoldablePath$fTraversablePath OperationMoveToLineToEllipseArcToSpline ClosedSpline ClosePathCurveToQCurveTo pathSegments$fIsTransformablePath $fEqOperation$fShowOperation$fFunctorOperation$fFoldableOperation$fTraversableOperation_MoveTo_LineTo_Ellipse_ArcTo_Spline _ClosedSpline _ClosePath_CurveTo _QCurveTo CoordinatefromSeqreadCoordinate readPoint runParserreadPathOperations readMatrix readRectangle pOperationpPoint pCoordinate$fCoordinateRealNumber$fCoordinateRatio$fCoordinateFloat$fCoordinateDouble$fMonoidEither'$fSemigroupEither' $fShowEither' $fEqEither'IpeValueNamedValued$fIsStringIpeValue$fShowIpeValue$fReadIpeValue $fEqIpeValue $fOrdIpeValue$fFunctorIpeValue$fFoldableIpeValue$fTraversableIpeValueIpeColornamedblackwhiteredgreenblueyelloworangegoldpurplegraybrownnavypinkseagreen turquoisevioletdarkbluedarkcyandarkgray darkgreen darkmagenta darkorangedarkred lightblue lightcyan lightgray lightgreen lightyellow$fTraversableIpeColor$fFoldableIpeColor$fFunctorIpeColor $fOrdIpeColor$fShowIpeColor$fReadIpeColor $fEqIpeColorAttributeUniverseLayerMatrixPinTransformationsStrokeFillPenSizeDashLineCapLineJoinFillRuleArrowRArrow StrokeOpacityOpacityTilingGradientClip$fShowAttributeUniverse$fReadAttributeUniverse$fEqAttributeUniverseAttrGAttr_getAttrGroupAttributesPathAttributesSymbolAttributesImageAttributesMiniPageAttributesTextLabelAttributesCommonAttributesSAttributeUniverseSLayerSMatrixSPinSTransformationsSStrokeSFillSPenSSizeSDashSLineCap SLineJoin SFillRuleSArrowSRArrowSStrokeOpacitySOpacitySTiling SGradientSClipClipSym0 GradientSym0 TilingSym0 OpacitySym0StrokeOpacitySym0 RArrowSym0 ArrowSym0 FillRuleSym0 LineJoinSym0 LineCapSym0DashSym0SizeSym0PenSym0FillSym0 StrokeSym0TransformationsSym0PinSym0 MatrixSym0 LayerSym0$fSingIAttributeUniverseClip $fSingIAttributeUniverseGradient$fSingIAttributeUniverseTiling$fSingIAttributeUniverseOpacity%$fSingIAttributeUniverseStrokeOpacity$fSingIAttributeUniverseRArrow$fSingIAttributeUniverseArrow $fSingIAttributeUniverseFillRule $fSingIAttributeUniverseLineJoin$fSingIAttributeUniverseLineCap$fSingIAttributeUniverseDash$fSingIAttributeUniverseSize$fSingIAttributeUniversePen$fSingIAttributeUniverseFill$fSingIAttributeUniverseStroke'$fSingIAttributeUniverseTransformations$fSingIAttributeUniversePin$fSingIAttributeUniverseMatrix$fSingIAttributeUniverseLayer$fSingKindAttributeUniverse $fOrdAttr$fEqAttrIpeArrow _arrowName _arrowSize IpeGradient IpeTiling IpeOpacityFillTypeWindEOFillIpeDash DashNamed DashPatternIpePenIpeSizeTransformationTypesAffineRigid TranslationsPinTypeNoYes HorizontalVertical AttributesAttrsNoAttrgetAttr traverseAttrpureAttrunAttrs traverseAttrs zipRecsWithixAttr_Attr lookupAttrsetAttrtakeAttr unSetAttrattr $fMonoidAttr$fSemigroupAttr $fReadAttr $fShowAttr$fSemigroupAttributes$fMonoidAttributes$fEqAttributes$fShowIpeArrow $fEqIpeArrow$fFunctorIpeArrow$fFoldableIpeArrow$fTraversableIpeArrow$fShowFillType$fReadFillType $fEqFillType $fShowIpeDash $fEqIpeDash$fFunctorIpeDash$fFoldableIpeDash$fTraversableIpeDash $fShowIpePen $fEqIpePen $fOrdIpePen$fFunctorIpePen$fFoldableIpePen$fTraversableIpePen $fShowIpeSize $fEqIpeSize $fOrdIpeSize$fFunctorIpeSize$fFoldableIpeSize$fTraversableIpeSize$fShowTransformationTypes$fReadTransformationTypes$fEqTransformationTypes $fEqPinType $fShowPinType $fReadPinType$fShowAttributes IpeAttrNameattrName arrowName arrowSize normalArrowwriteAttrNames$fIpeAttrNameClip$fIpeAttrNameGradient$fIpeAttrNameTiling$fIpeAttrNameOpacity$fIpeAttrNameStrokeOpacity$fIpeAttrNameRArrow$fIpeAttrNameArrow$fIpeAttrNameFillRule$fIpeAttrNameLineJoin$fIpeAttrNameLineCap$fIpeAttrNameDash$fIpeAttrNameSize$fIpeAttrNamePen$fIpeAttrNameFill$fIpeAttrNameStroke$fIpeAttrNameTransformations$fIpeAttrNamePin$fIpeAttrNameMatrix$fIpeAttrNameLayerImage $fShowImage $fEqImage $fOrdImage IpeSymbolSymbolMiniPage TextLabelLabel imageDatarectwidth$fTraversableImage$fFoldableImage$fFunctorImage$fIsTransformableImage$fIsTransformableTextLabel$fIsTransformableMiniPage$fShowIpeSymbol $fEqIpeSymbol$fOrdIpeSymbol$fFunctorIpeSymbol$fFoldableIpeSymbol$fTraversableIpeSymbol$fShowMiniPage $fEqMiniPage $fOrdMiniPage$fFunctorMiniPage$fFoldableMiniPage$fTraversableMiniPage$fShowTextLabel $fEqTextLabel$fOrdTextLabel$fFunctorTextLabel$fFoldableTextLabel$fTraversableTextLabelAttrMap symbolName symbolPoint$fIsTransformableIpeSymbol IpeObjectIpeGroupIpeImage IpeTextLabel IpeMiniPageIpeUseIpePath IpeObject' IpeAttributes Attributes' AttributesOfGroup AttrMapSym1 attributestraverseIpeAttrs%$fSuppressUnusedWarnings->AttrMapSym1%$fSuppressUnusedWarnings->AttrMapSym0$fTraverseIpeAttrClip$fTraverseIpeAttrGradient$fTraverseIpeAttrTiling$fTraverseIpeAttrOpacity$fTraverseIpeAttrStrokeOpacity$fTraverseIpeAttrRArrow$fTraverseIpeAttrArrow$fTraverseIpeAttrFillRule$fTraverseIpeAttrLineJoin$fTraverseIpeAttrLineCap$fTraverseIpeAttrDash$fTraverseIpeAttrSize$fTraverseIpeAttrPen$fTraverseIpeAttrFill$fTraverseIpeAttrStroke $fTraverseIpeAttrTransformations$fTraverseIpeAttrPin$fTraverseIpeAttrMatrix$fTraverseIpeAttrLayer$fTraversableIpeObject$fFoldableIpeObject$fFunctorIpeObject$fIsTransformableGroup $fShowGroup $fEqGroup$fFunctorGroup$fFoldableGroup$fTraversableGroup $fEqIpeObject$fShowIpeObjectToObject mkIpeObject _IpeGroup _IpeImage _IpeTextLabel _IpeMiniPage_IpeUse_IpePath groupItems ipeObject'commonAttributes flattenGroups$fIsTransformableIpeObject$fToObjectPath$fToObjectIpeSymbol$fToObjectMiniPage$fToObjectTextLabel$fToObjectImage$fToObjectGroupView$fEqView $fOrdView $fShowViewIpeStyle activeLayer layerNames $fEqIpeStyle$fShowIpeStyle IpePreamble styleData styleName basicIpeStyle$fEqIpePreamble$fReadIpePreamble$fShowIpePreamble$fOrdIpePreambleIpePage IpeBitmapencoding preambleData $fEqIpePage $fShowIpePageIpeFilecontentlayersviews emptyPage fromContent withDefaultsonLayer contentInView $fEqIpeFile $fShowIpeFilepagespreamblestylesipeFilesinglePageFilesinglePageFromContent addStyleSheet applyMatrix' applyMatrix applyMatricesapplyMatricesPage IpeReadAttr ipeReadAttrIpeReadipeRead IpeReadText ipeReadTextConversionErrorreadRawIpeFile readIpeFilereadSinglePageFilereadSinglePageFileThrow fromIpeXMLreadXMLipeReadTextWith ipeReadRec ipeReadAttrs ipeReadObjectreadIpeStylesheetaddStyleSheetFrom$fIpeReadTextPath$fIpeReadTextNonEmpty$fIpeReadText[]$fIpeReadTextIpeSize$fIpeReadTextIpePen$fIpeReadTextIpeColor$fIpeReadTextRGB$fIpeReadTextBox$fIpeReadTextIpeDash$fIpeReadTextIpeArrow$fIpeReadTextFillType $fIpeReadTextTransformationTypes$fIpeReadTextPinType$fIpeReadTextLayerName$fIpeReadTextMatrix$fIpeReadTextPoint$fIpeReadTextInt$fIpeReadTextText$fIpeReadIpeStyle$fIpeReadIpeFile$fIpeReadIpePage $fIpeReadView$fIpeReadLayerName$fIpeReadGroup$fIpeReadIpeObject$fIpeReadImage$fIpeReadMiniPage$fIpeReadTextLabel $fIpeReadPath$fIpeReadIpeSymbol$fIpeReadAttrAttrHasDefaultFromIpeDefaultFromIpedefaultFromIpe_asPoint_asLineSegment _asPolyLine_asSimplePolygon _asRectangle _asTriangle_asMultiPolygon_asSomePolygon _withAttrsreadAll readAllFrom$fHasDefaultFromIpePolygon$fHasDefaultFromIpePolygon0$fHasDefaultFromIpePolyLine$fHasDefaultFromIpeBall$fHasDefaultFromIpeBoundary$fHasDefaultFromIpeEllipse$fHasDefaultFromIpeLineSegment$fHasDefaultFromIpePointHasDefaultIpeOut DefaultIpeOutdefIOIpeOut'IpeOut!iOiO''iO'ipeMark ipeDiskMark defaultBoxipeLine ipeLineIn ipeHalfLine ipeHalfLineInipeLineSegment ipePolyLine ipeEllipse ipeCircleipeDisk ipeBezierpath pathSegment ipePolygon ipeRectangleipeGroupipeLabellabelled$fHasDefaultIpeOutBox$fHasDefaultIpeOutBoundary$fHasDefaultIpeOutBall$fHasDefaultIpeOutEllipse$fHasDefaultIpeOutConvexPolygon$fHasDefaultIpeOutEither$fHasDefaultIpeOutPolygon$fHasDefaultIpeOutHalfLine$fHasDefaultIpeOutLine$fHasDefaultIpeOutPolyLine$fHasDefaultIpeOutLineSegment$fHasDefaultIpeOutPoint$fHasDefaultIpeOut[]$fHasDefaultIpeOut:+drawCell drawQuadTreedrawQuadTreeWithquadTreeLevelsIpeWriteipeWrite IpeWriteText ipeWriteText writeIpeFile writeIpePageprintAsIpeSelectiontoIpeSelectionXMLtoIpeXML writeIpeFile' ipeWriteAttrswriteAttrValues$fIpeWriteText()$fIpeWriteTextPathSegment$fIpeWriteTextBezierSpline$fIpeWriteTextPolygon$fIpeWriteTextPolyLine$fIpeWriteTextOperation$fIpeWriteTextMatrix$fIpeWriteTextPath$fIpeWriteTextIpeArrow$fIpeWriteTextFillType$fIpeWriteTextIpeDash$fIpeWriteTextRGB$fIpeWriteTextPinType!$fIpeWriteTextTransformationTypes$fIpeWriteTextIpeValue$fIpeWriteTextPoint$fIpeWriteTextRatio$fIpeWriteTextFixed$fIpeWriteTextRealNumber$fIpeWriteTextInteger$fIpeWriteTextInt$fIpeWriteTextFloat$fIpeWriteTextDouble$fIpeWriteText[]$fIpeWriteTextText$fIpeWriteTextEither$fIpeWriteTextAttr $fIpeWrite()$fIpeWriteLineSegment$fIpeWritePolyLine$fIpeWriteIpeFile$fIpeWriteIpePreamble$fIpeWriteIpeStyle$fIpeWriteIpePage$fIpeWriteView$fIpeWriteLayerName$fIpeWriteIpeObject$fIpeWriteTextLabel$fIpeWriteImage$fIpeWriteMiniPage $fIpeWrite:+$fIpeWriteGroup$fIpeWritePath$fIpeWriteIpeSymbol$fIpeWriteEither$fIpeWriteNonEmpty $fIpeWrite[]$fIpeWriteTextLayerName$fIpeWriteTextIpeColor$fIpeWriteTextIpePen$fIpeWriteTextIpeSizeexport singleView markedViewrunLatexnozip PageRange EntireFileNoZipZip MarkedViewAllOnlyMarkedViews ViewNumber PageNumberExport RetainIpeInfoXML ipeToIpeWithipeToIpewriteIpeFileAsPdf$fShowPageRange $fEqPageRange $fShowNoZip $fEqNoZip $fEnumNoZip$fShowMarkedView$fEqMarkedView$fEnumMarkedView $fShowExport $fEqExport $fEnumExport drawTree' treeEdgesdrawPlaneGraphdrawPlaneGraph'drawPlaneGraphWithdrawPlaneGraphWith'drawTriangulationdrawPlanarSubdivisiondrawPlanarSubdivision'drawPlanarSubdivisionWithdrawArrangementpManypPaddedNaturalpNotFollowedBy<*><><***>***>parsec-3.1.14.0Text.Parsec.TextParserText.Parsec.Error ParseErrorrunP'runPpMany1pChoicepNaturalpIntegerpCharpSpace pWhiteSpacepMaybepCountpSepBy<*><<***#vinyl-0.13.3-BefJVJRYmgEA5nzzMOqzmRData.Vinyl.TypeLevelS%hgeometry-0.13-8qLvB9JVk1yDS01KUXpxiUData.Geometry.Matrix