+:      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f gh i j k l m n o p q r s t u vwx y z { | } ~                                      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     Safe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe Hyphenation databases(Create a custom language for hyphenation(Is it a char used in hyphenation patternGet numerical value for a char6Convert a char from an hyphenation pattern to a number"Remove 0 contained between numbers;Split a patterns into a list of numbers 9Convert a pattern into a list of number and a normal word%Remove hyphens from an excepyion wordGet exception points ExceptionsPatterns (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafeList of exceptionList of hyphenation patternsSafe(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone9;<=(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 9:;<=AIT"A monad where paths can be createdA reference to a PDF objectA Referenced objectsA PDF rectangleA PDFDictionary A PDFArrayA PDFName object *A PDFString containing a strict bytestring A real number in a PDF documentA length in a PDF documentAn integer in a PDF documentAnonymous PDF object  PDF Objects 'Create a PDF string from an Haskell one 2Escape PDF characters which have a special meaning Am empty dictionary Get the reference valueS       !"#$%& '() *+,-./0123456789:;<=>?@ABCDEFGHIJKLM0       !"#$%& '() *F       !"#$%& '() *+,-./0123456789:;<=>?@ABCDEFGHIJKLM(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone9;NA PDF Color space  A PDF PatternOA PDF ResourcePBAdd a new G State to the G State dictionary for the given resourceQ(Convert the resource to a PDf dictionary7NRS OTUVWXYZ[\]^_PGState dictionaryGState name must be uniqueG State content Old resource New resourceQ`abcdefghijklmnopq$NRS OTUVWXYZ[\^PQ`!NRS OTUVWXYZ[\]^_PQ`abcdefghijklmnopq(c) Daan Leijen 2002 BSD-stylemisc@NOSPAMalpheccar.org provisionalportableNoneBrA map of integers to values aT. The total size of subtrees is tracked by each node. It is needed for the PDF TreesaThe key function needed to export a Tree of PDF objects into the format defined by the PDF spectO(n) . Number of elements in the map.u O(min(n,W))'. Lookup the value at a key in the map.v O(n*min(n,W)).. Create a map from a list of key/value pairs.rwxyz{|}~s Parent ref Node action Leaf actionPDFTree+Final action and reference of the root nodetuv rzstuvrwxyz{|}~stuv(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableSafe#Get the hyphen positions for a word*Get the hyphen positions from the patternsHyphenate a string1Hyphenation database to use to hyphenate the wordWord to hyphenate(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Action of going to an URL !"#$% !"" ! !"#$%(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone&=A transformation matrix. An affine transformation a b c d e f a b 0 c d 0 e f 1 )Angle *Angle in degrees+Angle in radians-Dot product of two points 'dot (x :+ y) (a :+ b) == x * a + y * b' 'dot z w == magnitude z * magnitude w * cos (phase z - phase w)'/(projects the first point onto the second0 projects a point onto the x-axis1 projects a point onto the y-axis2Identity matrix3"Specifies a matrix as three points4Applies a matrix to a point5Rotation matrix6ETranslation matrix 'transform (translate z) w == z + w' 8Scaling matrix &'()*+,-./0123 X component Y componenttranslation component45Rotation angle678Horizontal scalingHorizontal scaling9&'()*+,-./012345678)*+(&',-./013425687&'()*+,-./0123456789(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone 9;<=AIOT4<&A shading CViewer preferencesETo hide the toolbarFTo hide the menubarGTo hide the windowHFit window to screenICenter window on screenJDisplay the docu,ent titleK.Display mode when exiting the full screen modeLDocument page layoutSDocument page modeXDocument metadata`Transition styleg The PDF MonadhDirection of a transitionj Wipe onlyk Wipe onlym Glitter onlynDirection of a transitionqDimension of a transitiontA PDF Transition PDF PagesvList of all pageswA PDF Page object The PDF stateSupply of unique identifiersDictionary of PDF objectsPages Draw commandsReference to the PDF catalogDefault page sizeDocument infos Root outline5Reference to the current page used to create outlinesWidth and height of xobjectsUsed to improve the outline APIThe PDF Catalog An XObjecty A PDF Xobject which can be drawnA PDF stream object{The drawing monad~ A PDF colorAn empty drawingis member of the dictionaryGet a new resource nameNExecute the drawing commands to get a new state and an uncompressed PDF streammDraw in a new drawing context without perturbing the previous context that is restored after the draw )Set a resource in the resource dictionaryGet the bounds for an xobjectGet the bounds for an xobjectInterpolation function=Apply a transformation matrix to the current coordinate frame<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Dict nameResource valueOld cache valueNew cache value Reference Reference      !"#$%&'()*+,-./0&'2<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acbdefghijklmnopqsrtuvwxyz{|}~k<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|} ~      !"#$%&'()*+,-./0(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone2:IRendering mode for text display+Unscaled unit (not scaled by the font size)The text monad 1/Convert a dimension in font unit to device unit28Get the kern value for a given font and pair of charcodeSelect a font to useDraw a text in the draw monad#Set position for the text beginningDisplay some text3Start a new line (leading value must have been set)Set leading valueSet the additional char spaceSet the additional word spaceSet scaling factor for textChoose the text rendering modeSet the rise value"Set the text transformation matrix4Utility function to quickly display one line of text23456789:;<=>?@AB12CFontString8List of chars and char width taking into account kerningD/ / 3456789:;<=>?@AB12CD(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneESet page annotationsFSet page resourceG%Create a new empty content for a pageHReturns a new unique identifierIJAdd an object to the PDF object dictionary and return a PDF reference J)Update a referenced object with a new oneK#Record the page in the page catalogLFind a page in the catalogMAdd a node PDFTree objectN'Add a page to the PDG object dictionaryO*Add all pages to the PDF object dictionaryPEmpty page catalogQ"Reference to the last created pageRRecord bound of an xobjectEFGList of drawing commandsReference to the drawingHIJReference to the initial object New valueKReference to the page Page contentPages n the documentsLReference to the pagePages in the documentPage content if foundM Parent node Left tree Right treeAPDF reference to the new node pointing to the left and right onesNPage parent if anyPage reference Page dataReference to a PDFPages objectsOPSTUVWXQR ReferenceWidthHeightEFGHIJKLOPSTUVQREFGHIJKLMNOPSTUVWXQR(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneY5True if we are adding the first outline to this levelZStart a new outline level [,We remember there are outlines at this level\Close an outline level>Create a new outline section pointing to the last created page5Create a new outline section pointing to a given page YZ[\ Outline title Outline color Outline style Outline title Outline color Outline stylePage reference] Outline title Outline color Outline style^ Outline title Outline color Outline style_ Outline title Outline color Outline style`?@AB?@AB YZ[\]^_` (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNonea+Get the border shqpe depending on the styleCreate a new annotation objectbacdbacd (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone9;IT A raw imageA Jpeg PDF objecteFile analyzer monadA Jpeg file Read a JPEG file and return an abstract description of its content or an error The read is not lazy. The whole image will be loaded into memoryGet the JPEG boundsUse an abstract description of a Jpeg to return a PDFReference that can be used to manipulate the Jpeg in the context of the PDF documentReads a data URL string, and returns a JpegFile. The incoming string must be a correctly formatted data URL for a JPEG. You can convert jpeg files to data URLs at the following web site: http://dataurl.net/#dataurlmakerEefghijklmnopqrstuvwxyz{|}~WidthHeight InterpolationGDecompression filter to be sued by the PDF reader to render the picture RGB pixelsWidthHeight Interpolation5ARGB pixels (A component not used y the PDF document):efghijklmnopqrstuvwxyz{|}~(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Tiling typeCreate a colored tiling pattern"Create an uncolored tiling patternCreate a PDF tiling patternSet the fill patternSet the stroke patternSet the fill patternSet the stroke patternLeftBottomRightTopHorizontal step Vertical stepDrawing commandsLeftBottomRightTopHorizontal step Vertical stepDrawing commandsLeftBottomRightTopHorizontal step Vertical stepDrawing commands  (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone Set alpha value for transparency Set alpha value for transparency Init the PDF color space to RGB.Select the filling colorSelect the drawing color  Filling color Drawing color~~ (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneLine join stylesLine cap styles Set pen width Set pen width Set line cap  Set line join!Set the dash pattern"No dash pattern#Begin a new path at a position$Close current path %Append a cubic Bezier curve to the current path. The curve extends from the current point to the point (x3 , y3), using (x1 , y1 ) and (x2, y2) as the Bezier control points&2Move pen to a given point without drawing anything'=Draw a line from current point to the one specified by lineto)`Approximate a circular arc by one cubic bezier curve. larger arc angles mean larger distortions+Add a polygon to current path,Draw current path-Fill current path.Fill current path/Set clipping path0Set clipping path1%Fill current path using even odd rule2%Fill current path using even odd rule<      !"#$%&'() Extent of arc Center of arc*+,-./01234567895      !"#$%&'()*+,-./0125&')(#$%+*,-.120/      !"(      !"#$%&'()*+,-./0123456789(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneE#Fill clipping region with a shadingEFShadingShape to paint<=>EF<=>FEEF(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone9;ATGA box that can be displayedH Draw a boxIFA box is an object with dimensions and used in the typesetting processJ Box widthK Box heightL,Distance between box bottom and box baselineM)Distance between box top and box baselineNHStyle of text (sentences and words). Minimum definition textStyle OPModify the look of a sentence (sequence of words using the same style on a line)R2A style may contain data changed from word to wordS&A style may change the height of words EDefault implementation styleHeight = getHeight . textFont . textStyleT'A style may change the descent of lines GDefault implementation styleDescent = getDescent . textFont . textStyleUEUsed to compare two style without taking into account the style stateWfWhat kind of style drawing function is required for a word when word styling is enabled XMust style a wordYMust style a glueZ Text style used by PDF operatorsaVScaling factor for normal space size (scale also the dilation and compression factors)b"Scale the dilation factor of gluesc%Scale the compression factor of gluesd.Dimension of a box : width, height and descentA box containing a Draw valuee8Make a drawing box. A box object containing a Draw value*GHIJKLMNOPQRSTUVWXYZ[\]^_`abcde"GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeGHIJKLMNOPQRSTUVWXYZ [\]^_`abcde(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone9;<=?#Breaking algorithm settings Default value 100Default value 100Default value 50Default value 1000Default value 1000Default value 10Default value falseDefault value EnglishfA letter which can be anything. Sizes are widths and for glue the dilation and compression factors For the generic letter, height and descent are also providedgAny box as a letterh<A glue with style to know if it is part of the same sentencei Hyphen pointjPenaltykA charl-A kern : non dilatable and non breakable gluerMake a letter from any box Compute glue width with dilationWe create a new breakpoint but we get the cumulated dimensions only at the next box following the break since glues and penalties are removed at the beginning of a line)Get cumulated dimension for following boxCheck is a break point is possible otherwise, if none is possible and there is only one remaining active point, we force a breakpointCreate an hyphen boxValue modeling infinity Add a glue to the streamReturn the standard space width<How much dilatation is allowed compred to the space width =How much dilatation is allowed compared to the space width =How much dilatation is allowed compared to the space width Add a glue to the streamWhen a paragraph is full and we start a new one we must clean the beginning paragraph and remove what has been left by the broken spaceAdd a penalty to the streamCreate a box containing textCreate boxes for the letters3split a line into boxes and add hyphen where neededCreate an hyphen penaltydfghijklmnopqrDimension of the box!Text style of the box (can use t)BoxletterAdjustement ratioWidthMaxw Current wyzDilatation ratio adjust ratioFlag for previousFlag for currentDemerit for the breakpoint Second passCurrent analyzed boxResultOld rCurrentActives Glue widthGlue dilatationGlue compression The styleParagraph settings The style The style  Penalty value Char style Char width Char code Letter styleLetter and size BoxesStyle of future hyphenSize of hyphen taking into account the kerning that was perturbed by the hyphen introduction. The char before the hyphen is now bigger.flghijkmnopqr9   fghijklmnopqr(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone<=?sParagraph stylet"Width of the line of the paragraphu_Horizontal shift of the line position relatively to the left egde of the paragraph bounding boxvTHow to style the interline glues added in a paragraph by the line breaking algorithmwiChange the content of a paragraph before the line breaking algorithm is run. It may also change the stylexYGet the paragraph bounding box and the paragraph draw command to apply additional effectsyContainer for vboxes (x,y,width,maxheight,height,currenty,current z, tolerance para) tolerance para means a paragraph is not started if too close from the bottom edge of the box}Default value (12,0.17,0.0)~Default value (3.0,0.33,0.0)Default value 2OCreate a empty container to constraint the amount of line that can be displayedGet the width of the containerGet the width of the containerGet the height of the container?Get the current height of the container without glue dilatation<Get the content height of the container with glue dilatation4Get the minimum left border of the container contentoGet the maximum right border of the container content (maybe bigger than container width due to overfull lines)Container horizontal positionContainer vertical positionMReturn the rectangle containing the text after formatting and glue dilatation-Get the required style for the interline glueInterline glue required@Get the delta used to position a box with non rectangular shapesStroke the VBoxes/stuvwxyz{|}~ Glue heightGlue dilatation factorGlue compression factor Glue width Glue deltaxywidthheightPargraph tolerance New container List of boxesX posY pos    $svtuwxyz{|}~ stuvwxyz{|}~    (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone (Send PDF commands needed to start a textContinue adding text Stop the textOne block of textAn horizontal Hbox (sentence or word) The width of the glue was computed with the adjustement ratio of the HLine containing the glue The width of the text is already taking into account the adjustement ratio of the HLine containing the Text Otherwise, HBox cannot dilate or compress. >Current word (created from letter) is converted to a PDFStringhorizontalPostProcess!Change the style of the box A line of hboxes with an adjustement ratio required to display the text (generate the PDF command to increase space size) data HLine = HLine !PDFFloat ![HBox] deriving(Show)Create an HBox 2Draw a line of words and glue using the word style9Draw a line of words, glue, or any box without word style1Draw only words and glues using PDF text commands^Draw the additional displacement required for a space in a text due to the dilaton of the glue  Adjustement ratio Current wordList of lettersList of words or sentences4adjust ratio, hyphen style, list of letters or boxes List of linesAdjustement ratioStyleStringWidth!";Height of the total line first time this function is called<Descent of the total line first time this function is calledRemaining box to displayx for the remaining boxesy for the whole line#$%&'(  !"#$%&'((c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNoneDefault vertical state WDefault values baselineskip = (12,0.17,0.0) lineskip = (3.0,0.33,0.0) lineskiplimit = 2)Pair of functions describing the shape of a text areas : horizontal position of each line, vertical top of the area, width of each line First line is 1A line of hboxes with an adjustement ratio required to display the text (generate the PDF command to increase space size) data HLine = HLine !PDFFloat ![HBox] deriving(Show)*1Create a new paragraph from the remaining letters+"Add paragraph lines to a containerFill a container with lines,Convert pure lines to VBoxes)Adjustement ratio-. Container*+ Container"Vertical style for interline glues Container VBox to addOComponent to draw, new container and remaining VBoxes due to overfull container, Max width List of lines Line numberList of VBoxessvtuwxz{|}~))-.*+,(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone<=Standard styles for paragraphsStandard styles for sentences/012/012(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone29;<=?I9A MonadStyle where some typesetting operators can be usedSet the current text styleGet the current text styleoAdd a box using the current mode (horizontal or vertical. The current style is always applied to the added box)"Add a glue using the current style3Add a glue with no style (it is just a translation)Display a formatted text in a given bounding rectangle with a given default paragraph style, a given default text style. No clipping is taking place. Drawing stop when the last line is crossing the bounding rectangle in vertical direction$Return the list of Vboxes for a text Add a penalty+For a newline and end the current paragraph3>End the current paragraph with or without using the same style49Run a paragraph. Style changes are local to the paragraphGet the current paragraph style"Change the current paragraph style5Add a letter to the paragraphAdd a new paragraph to the text6IAdd a null char nullChar :: Para () nullChar = Para . tell $ [nullLetter]7LSplit a sentence into words keeping the space but shortening them to 1 spaceAdd a text line\add a kern (space that can be dilated or compressed and on which no line breaking can occur)9Draw a text box with relative position. Useful for labelsB89:;<=>?@ Text areadefault vertical styleDefault horizontal styleTypesetting monad Draw monaddefault vertical styleDefault horizontal styleTypesetting monad List of boxesA3NTrue if we use the same style to end a paragraph. false for an invisible style4567B!Centered, left or fully justifiedxy width limit height limitdefault vertical styleDefault horizontal styleTypesetting monadzGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeflghijkmnopqrsvtuwxyz{|}~zIJKLMGHfghijkldNOPQRSTZ[\]^_`abcWXYstuvwxUVz{|}~ymnopqre-89:;<=>?@A34567B (c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone!No information for the document Create a PDF XObject Add a new page to a PDF documentDraw on a given pageLeftBottomRightTopDrawing commandsC#Page size or default document's oneReference to the new page#Page size or default document's oneReference to the new page#Page size or default document's oneOptional durationOptional transitionReference to the new pagePageDrawing commands@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acbdefhijklmnopqsrtuxyz{|}@xtu`abcdefnopqrshijklmXYZ[\]^_STUVWLMNOPQRCDEFGHIJK{yz|}C(c) 2006-2016, alpheccar.org BSD-stylemisc@NOSPAMalpheccar.org experimentalportableNone:DThe PDFTrailerEaCreate a new PDF document and return a first page The page is using the document size by defaultF<Save all the pages and streams in the main object dictionaryGWrite PDF objects in the TOC+Generate a lazy bytestring for the PDF Generates a PDF document DHEIFGCList of objects each object being already converted to a bytestringJKLDefault size for a page PDF action Name of the PDF documentDefault size for a page PDF action   !"&'()*+,-./012345678<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acbdefghijklmnopqsrtuvwxyz{|}~      !"#$%&'()*+,-./012EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeflghijkmnopqrsvtuwxyz{|}~ g  wv DHEIFGJKLM !"#$%&''()*+,--./0123456789:;<=>>?@ABCCDEFGHIJKLMNOPQRSTUVWXYZ[\]^__`abcdefghijklmnopqrsstuvwxyz{|}~                                                        ! ! " " # # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q RSTUV}WXYZ[\]^_`abcdefgghijklmnopqrrstuvwxyz{|}~          &  ( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUQVWXYZZ[[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@AB C D E F G G H  I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n opqrstuutvwxyz{|}~}      "HPDF-1.4.10-4pEZATScfw6J3gNMvGMBf4Graphics.PDF.Hyphenate Graphics.PDFGraphics.PDF.TextGraphics.PDF.PatternGraphics.PDF.ActionGraphics.PDF.CoordinatesGraphics.PDF.ShadingGraphics.PDF.NavigationGraphics.PDF.DocumentGraphics.PDF.ColorsGraphics.PDF.AnnotationGraphics.PDF.ImageGraphics.PDF.ShapesGraphics.PDF.TypesettingGraphics.PDF.DocumentationGraphics.PDF.Data.TrieGraphics.PDF.Hyphenate.LowLevelGraphics.PDF.Hyphenate.EnglishGraphics.PDF.LowLevel.Kern Graphics.PDF.LowLevel.SerializerGraphics.PDF.LowLevel.TypesGraphics.PDF.ResourcesGraphics.PDF.Data.PDFTreeGraphics.PDF.DrawGraphics.PDF.PagesGraphics.PDF.Typesetting.Box!Graphics.PDF.Typesetting.BreakingGraphics.PDF.Typesetting.Layout#Graphics.PDF.Typesetting.Horizontal!Graphics.PDF.Typesetting.Vertical&Graphics.PDF.Typesetting.StandardStyle MapStringHyphenationDatabaseEnglishCustomLanguage mkExceptionsmkCustomLanguage PDFReferencePDFRect PDFStringPDFFloat toPDFStringPDFColoredPatternPDFUncoloredPatternPDFFontFontName HelveticaHelvetica_BoldHelvetica_ObliqueHelvetica_BoldOblique Times_Roman Times_Bold Times_ItalicTimes_BoldItalicCourier Courier_BoldCourier_ObliqueCourier_BoldObliqueSymbol ZapfDingbats hyphenateGoToURLAction$fPdfLengthInfoGoToURL$fActionGoToURL$fPdfObjectGoToURLMatrixPointAngleDegreeRadiantoRadiandotscalePtprojectprojectXprojectYidentity pointMatrix transformrotate translatespiralscale $fNumMatrix $fEqMatrix $fShowMatrix PDFShading AxialShading RadialShading OutlineStyle NormalOutline ItalicOutline BoldOutlinePDFViewerPreferences hideToolbar hideMenuBar hideWindowUI fitWindow centerWindowdisplayDoctitlenonFullScreenPageModePDFDocumentPageLayout SinglePage OneColumn TwoColumnLeftTwoColumnRight TwoPageLeft TwoPageRightPDFDocumentPageModeUseNone UseOutlines UseThumbs FullScreenPDFDocumentInfoauthorsubjectpageMode pageLayoutviewerPreferences compressed PDFTransStyleSplitBlindsBoxWipeDissolveGlitterPDFPDFTransDirection2 LeftToRight BottomToTop RightToLeft TopToBottomTopLeftToBottomRightPDFTransDirectionInwardOutwardPDFTransDimension HorizontalVertical PDFTransitionPagesPDFPagePDFXForm PDFXObject drawXObjectDraw PDFGlobalsboundsColorRgbHsv emptyDrawingwithNewContexthsvToRgb applyMatrixTextModeFillText StrokeTextFillAndStrokeText InvisibleTextFillTextAndAddToClipStrokeTextAndAddToClipFillAndStrokeTextAndAddToClip AddToClip UnscaledUnitPDFText getDescent getHeight textWidth charWidthripTextsetFontdrawText textStart displayText startNewLineleading charSpace wordSpace textScale renderModerise setTextMatrixtext$fMonadPathPDFText$fMonadPDFText$fApplicativePDFText$fFunctorPDFText$fMonadWriterPDFText$fMonadStatePDFText $fEqTextMode $fOrdTextMode$fEnumTextModestandardViewerPrefs newSectionnewSectionWithPagePDFLinkURLLinkTextAnnotationTextIconNote Paragraph NewParagraphKeyCommentHelpInsert newAnnotation$fAnnotationObjectPDFLink$fPdfLengthInfoPDFLink$fPdfObjectPDFLink$fAnnotationObjectURLLink$fPdfLengthInfoURLLink$fPdfObjectURLLink $fAnnotationObjectTextAnnotation$fPdfLengthInfoTextAnnotation$fPdfObjectTextAnnotation $fEqTextIcon$fShowTextIconRawImagePDFJpeg PDFFilterASCIIHexDecode ASCII85Decode LZWDecode FlateDecodeRunLengthDecodeCCITTFaxDecode DCTDecodeNoFilterJpegFile readJpegFile jpegBounds createPDFJpegcreatePDFRawImageFromByteStringcreatePDFRawImageFromARGBreadJpegDataURL$fPdfResourceObjectPDFReference$fPdfLengthInfoRawImage$fPdfObjectRawImage$fPDFXObjectRawImage $fPdfResourceObjectPDFReference0$fPdfLengthInfoPDFJpeg$fPdfObjectPDFJpeg$fPDFXObjectPDFJpeg $fMonadFA$fApplicativeFA$fMonadErrorFA $fFunctorFA TilingTypeConstantSpacing NoDistortionConstantSpacingAndFastercreateColoredTilingcreateUncoloredTilingsetColoredFillPatternsetColoredStrokePatternsetUncoloredFillPatternsetUncoloredStrokePattern $fEqPaintType$fEnumPaintType$fEqTilingType$fEnumTilingTypeblackwhiteredgreenbluesetStrokeAlpha setFillAlphasetRGBColorSpace fillColor strokeColor DashPattern JoinStyle MiterJoin RoundJoin BevelJoinCapStyleButtCapRoundCap SquareCapPolygonCircleRoundRectangleEllipseArc RectangleLineShapeaddShapestrokefill fillAndStrokefillEOfillAndStrokeEOsetWidth setMiterLimit setLineCap setLineJoinsetDash setNoDash beginPath closePathaddBezierCubicmovetolinetocurvetoarcto addLineToPathaddPolygonToPath strokePathfillPathfillAndStrokePathsetAsClipPathEO setAsClipPath fillPathEOfillAndStrokePathEO$fShapePolygon $fShapeCircle$fShapeRoundRectangle$fShapeEllipse $fShapeArc$fShapeRectangle $fShapeLine$fEqLine $fEqRectangle$fEqArc $fEqEllipse$fEqRoundRectangle $fEqCircle $fEqCapStyle$fEnumCapStyle $fEqJoinStyle$fEnumJoinStyle$fEqDashPattern applyShadingpaintWithShadingDisplayableBox strokeBoxboxWidth boxHeight boxDescent boxAscentStyle sentenceStyle wordStyle textStyle updateStyle styleHeight styleDescentComparableStyle isSameStyleAs StyleFunctionDrawWordDrawGlue TextStyletextFonttextStrokeColor textFillColortextModepenWidth scaleSpacescaleDilatationscaleCompression BoxDimension mkDrawBoxLetterGlueFlaggedPenaltyPenaltyACharKern JustificationFullJustificationCenteredLeftJustificationRightJustificationmkLetterParagraphStyle lineWidth linePosition interlineparagraphChangeparagraphStyle ContainerVBoxVerState baselineskiplineskip lineskiplimitcurrentParagraphStyle mkContainercontainerWidthcontainerHeightcontainerCurrentHeightcontainerContentHeightcontainerContentLeftBordercontainerContentRightBorder containerX containerYcontainerContentRectangledefaultVerState fillContainerStandardParagraphStyleNormalParagraph StandardStyleFont OrientationEWNSNENWSESW MonadStylesetStyle currentStyleaddBoxglue unstyledGlueParaTMdisplayFormattedTextgetBoxes addPenalty forceNewLineendPara startPara getParaStyle setParaStyle paragraphtxtkernsetBaseLineSkipgetBaseLineSkipsetLineSkipLimitgetLineSkipLimit setLineSkip getLineSkipsetFirstPassTolerancegetFirstPassTolerancesetSecondPassTolerancegetSecondPassTolerancesetHyphenPenaltyValuegetHyphenPenaltyValuesetFitnessDemeritgetFitnessDemeritsetHyphenDemeritgetHyphenDemeritsetLinePenaltygetLinePenaltysetJustification drawTextBox$fMonadStylesPara$fMonadStylesTM $fMonadTM$fApplicativeTM$fMonadWriterTM$fMonadStateTM $fFunctorTM $fMonadPara$fApplicativePara$fMonadWriterPara$fMonadReaderPara$fMonadStatePara $fFunctorPara$fEqOrientation$fShowOrientationstandardDocInfocreatePDFXFormaddPageaddPageWithTransition drawWithPage pdfByteStringrunPdf$fPdfLengthInfoPDFTrailer$fPdfObjectPDFTrailer EmptyTrieTriemyLookupfromListlookupinsertisChar fromDigittoNumbersimplifysplitconvertPattern removeHyphenexceptionPoints mkPatternssplit' exceptionspatterns exceptionList patternListkernsSerializeValue serializeconscshortToStringcfloatToString convertShort convertFloat$fSerializeValueBuilderDouble$fSerializeValueBuilderInt!$fSerializeValueBuilderByteString$fSerializeValueBuilder[]$fSerializeValueBuilderChar$fSerializeValueBuilderWord8 $fSerializeValueByteStringDouble$fSerializeValueByteStringInt$$fSerializeValueByteStringByteString$fSerializeValueByteString[]$fSerializeValueByteStringChar$fSerializeValueByteStringWord8 MonadPathPDFReferencedObject PDFDictionaryPDFArrayPDFName PDFLength PDFInteger AnyPdfObject PdfObject escapeStringemptyDictionaryreferenceValue MaybeLength UnknownLength KnownLength PdfLengthInfo pdfLengthInfotoPDFencodeISO88591pc2wescapeOnWords8lparenrparenlbracketrbracketbspacebltbgtnewline noPdfObjectisEmptyDictionaryinsertInPdfDict pdfDictUnion modifyStrict$fPdfLengthInfoEither$fPdfObjectEither$fPdfLengthInfoPDFReference$fPdfObjectPDFReference$fNumPDFReference"$fPdfLengthInfoPDFReferencedObject$fPdfObjectPDFReferencedObject$fPdfLengthInfoPDFRect$fPdfObjectPDFRect$fPdfLengthInfoPDFDictionary$fPdfObjectPDFDictionary$fPdfLengthInfo[] $fPdfObject[]$fPdfLengthInfoPDFName$fPdfObjectPDFName$fPdfLengthInfoPDFString$fPdfObjectPDFString $fSerializeValueBuilderPDFString#$fSerializeValueByteStringPDFString$fPdfLengthInfoBool$fPdfObjectBool$fPdfLengthInfoComplex$fPdfObjectComplex$fPdfLengthInfoDouble$fPdfObjectDouble$fPdfLengthInfoPDFLength$fPdfObjectPDFLength$fPdfLengthInfoInt$fPdfObjectInt$fPdfLengthInfoPDFInteger$fPdfObjectPDFInteger$fPdfLengthInfoMaybeLength$fPdfObjectMaybeLength$fPdfLengthInfoAnyPdfObject$fPdfObjectAnyPdfObject PDFColorSpace PDFResource addResourceresourceToDict PatternRGB AnyPdfPatternprocSet resourcesPdfResourceObjecttoRsrc FillAlpha StrokeAlphaFontSize emptyRsrc getResources emptyResource$fPdfLengthInfoAnyPdfPattern$fPdfObjectAnyPdfPattern"$fPdfLengthInfoPDFUncoloredPattern$fPdfObjectPDFUncoloredPattern $fPdfResourceObjectPDFReference1 $fPdfLengthInfoPDFColoredPattern$fPdfObjectPDFColoredPattern $fPdfResourceObjectPDFColorSpace$fPdfLengthInfoPDFResource$fPdfObjectPDFResource$fPdfResourceObjectFillAlpha$fPdfResourceObjectStrokeAlpha$fPdfResourceObjectPDFFont $fOrdPDFFont$fShowFontNamePDFTreefold2sizeNilTipBinMaskPrefixNat natFromInt intFromNatisLeafkeyOflookup'lookupNzeroNjoinzeronomatchmaskmaskW branchMaskhighestBitMaskshiftRLempty foldlStrict getWordPointsgetFromPatternaddedExceptionsbase Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+PDFPagesPdfState supplySrcobjectspagesstreamscatalog defaultRectdocInfooutline currentPage xobjectBound firstOutline PDFCatalog AnyPdfXForm PDFStream pdfDictMember supplyName runDrawing setResourcegetBoundInDraw getBoundInPDF interpole OutlineLoc OutlineCtxTopChildvalueparentleftsrightsTreeNodeOutline OutlineData DestinationPDFOutlineEntry PDFOutlineunPDFprivateDrawXObjectunDraw DrawTupledrawEnvironment drawStateRef builderRef penPositionDrawEnvironmentstreamId xobjectBoundD DrawState supplyNamesrsrc strokeAlphas fillAlphastheFontsxobjects otherRsrcsannots colorSpacesshadingsmatrix AnyAnnotationAnnotationObject addAnnotationannotationTypeannotationContentannotationRectannotationToGlobalCoordinatesAnnotationStyleemptyEnvironment readDrawST writeDrawST modifyDrawSTemptyDrawStatepushMatrixStackpopMatrixStackmultiplyCurrentMatrixWith currentMatrixfloatDirection getRgbColor$fPdfResourceObjectPDFShading$fPdfLengthInfoColor$fPdfObjectColor$fPdfLengthInfoDestination$fPdfObjectDestination$fPdfLengthInfoPDFOutlineEntry$fPdfObjectPDFOutlineEntry$fPdfLengthInfoOutlineStyle$fPdfObjectOutlineStyle$fPdfLengthInfoPDFCatalog$fPdfObjectPDFCatalog$fPdfLengthInfoPDFPage$fPdfObjectPDFPage$fPdfLengthInfoPDFPages$fPdfObjectPDFPages$fPdfLengthInfoPDFTransition$fPdfObjectPDFTransition$fShowPDFTransStyle#$fPdfLengthInfoPDFViewerPreferences$fPdfObjectPDFViewerPreferences$fPdfLengthInfoPDFOutline$fPdfObjectPDFOutline$fShowPDFTransDirection$fShowPDFTransDimension $fShowPDFPage$fPdfLengthInfoPDFXForm$fPdfObjectPDFXForm$fPDFXObjectPDFXForm$fPDFXObjectAnyPdfXForm$fPdfLengthInfoAnyPdfXForm$fPdfObjectAnyPdfXForm$fPDFGlobalsPDF$fPDFGlobalsDraw$fPdfLengthInfoPDFStream$fPdfObjectPDFStream$fMonadPathDraw $fFunctorDraw$fMonadWriterBuilderDraw$fMonadStateDrawStateDraw $fMonadReaderDrawEnvironmentDraw $fMonadDraw$fApplicativeDraw$fAnnotationObjectAnyAnnotation$fPdfLengthInfoAnyAnnotation$fPdfObjectAnyAnnotationtrueSizegetKernunText TextParametertctwtztlts fontState currentFont FontStatehasKern cgetDescent cgetAdvance cgetLeadingc2idefaultParameterssetPageAnnotationssetPageResource createContentsupply addObject updateObject recordPagefindPagenodePageleafPageaddPagesnoPagesgetCurrentPage recordBound insertRight insertDownup addOutlines createOutlinetoTreeisFirststartNew addedOutlinecloseNewnewSectionPrivate newSiblingnewChild moveToParent getBorderapplyMatrixToRectanglestandardAnnotationDicttransformAnnotRectFAunFAm_sof0m_sof1m_sof3m_sof5m_sof6m_sof7m_sof9m_sof10m_sof11m_sof13m_sof14m_sof15m_rst0m_rst1m_rst2m_rst3m_rst4m_rst5m_rst6m_rst7m_soim_eoim_temiorunFA readWord16 readWord8parseJpegContent analyzeJpegwithFilesIndex sReadWord8 sReadWord16parseJpegDetailData?|parseJpegContentDatacheckColorSpaceanalyzeJpegData readJpegDatacreateTilingPattern PaintType ColoredTilingUncoloredTilingDrawBoxAnyBox $fShowAnyBox$fDisplayableBoxAnyBox $fBoxAnyBox $fBox(,,) $fShowDrawBox$fDisplayableBoxDrawBox $fBoxDrawBoxBRStatefirstPassTolerancesecondPassTolerancehyphenPenaltyValuefitness_demeritflagged_demerit line_penaltycentered hyphenationglueSizecreateBreaknodegetDimupdateWithNewRIfNoSolution hyphenBoxinfinityglueBox spaceWidthcenteredDilatationFactorleftDilatationFactorrightDilatationFactor spaceGlueBoxpenalty createCharcreateLetterBoxes splitText hyphenPenalty ActiveNodes PossibleBreakZListMaybeCBNoCBOneCB BreakNode totalWidthtotalDilatationtotalCompressiondemeritflagged fitnessValueratioprevious PointedBox isFlagged getPenalty isPenaltyletterposition cumulatedW cumulatedY cumulatedZ isForcedBreakCB MaybeGlueglueYglueZglueSizeWithRatio letterWidth penaltyWidthdilatationRatio adjustRatiobadnessfitnessdefaultBreakingSettingscomputeDemerit createZListtheEndbreakN moveRightisFeasibleBreakpoint updateBreakgetNewActiveBreakpoints genNodeList analyzeBoxescutList formatListbigAdjustRatio spaceSizehyphenForJustificationkernBox$fPointedBoxsZList$fPointedBoxs(,,,,) $fShowLetter$fMaybeGlueLettercontainerParaTolerancegetInterlineStyle interlineGlue getBoxDelta strokeVBoxesHeightWidthVGlueSomeVBoxnotGluevglueaddTo isOverfullisSameParaStylerecurseStrokeVBoxesdrawWithParaStyle$fDisplayableBoxVBox $fBoxVBox$fMaybeGlueVBox $fShowVBox StartText ContinueTextStopTextOneBlockHBoxsaveCurrentwordhorizontalPostProcess withNewStylemkHboxWithRatio createText drawTextLine drawWords drawPureWords drawTextGlueTextDrawingStateHGlueTextSomeHBox createWordsstartDrawingNewLineOfTextdrawLineOfHboxesdrawTheTextBox isSameStyle$fDisplayableBoxHBox $fBoxHBox $fShowHBox$fMaybeGlueHBoxmkVboxWithRatio createPara addParaLinetoVBoxes dilateVboxes drawContainer3$fParagraphStyleStandardParagraphStyleStandardStyle$fStyleStandardStyle'$fComparableStyleStandardParagraphStyle$fComparableStyleStandardStyleendFullyJustifiedrunPara addLettermyWords'myWordsunParaunTMTMStatetmStyle paraSettings pageSettingsdefaultTmState addHyphenscreateANewPage PDFTrailer createPDF saveObjectswriteObjectsAndCreateToc createStreamsgenerateStreamsdefaultPdfSettingscreateObjectByteStrings