vBk\8      !"#$%&'()*+,-./01234567(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafeThe ( class lets us approximate subtypes of 8,. Instances should not expose a constructor. acts as a safe constructor.Apply , but map the error message to 9.(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafeiType representing Yes or No options for a parameter. A slightly more semantically meaningful version of :.The Yes option.The No option.(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNoneIStrings consisting only of a-z, A-Z, 0-9, -, _, ., or ~ characters. See  /https://tools.ietf.org/html/rfc3986#section-2.3RFC 3986, Section 2.3. Must be constructed using .;<=>;<=> (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNoneGEither 0, or a nonempty string of decimal digits with no leading zeros.?@AB?@AB (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafe3Strings of 64 hexadecimal digits. Case insensitive.CDEFCDEF (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone 3Strings consisting only of a-z, A-Z, 0-9, -, and _. GHIJ  GHIJ (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone OStrings consisting only of alphanumeric characters. Must be constructed using . KLMN  KLMN (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafe *ISO 639.1 two-letter language codes. See  7http://www.loc.gov/standards/iso639-2/php/code_list.php. Must be constructed with . OPQR  OPQR(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone 4Strings of six hexadecimal digits. Case insensitive. STUV  STUV(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone UMatches domain names with the https scheme. The regex for this match is very simple. WXYZ  WXYZ(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNoneValid CSS class names: alphanumeric, hyphen, or underscore, but the first character must be alphanumeric. Note: this type represents only a subset of all valid class names. See the  0https://www.w3.org/TR/CSS21/grammar.html#scanner CSS grammar.[\]^[\]^(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafe'Comma-separated lists of valid strings._`ab_`ab(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone  (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone )Simple sum type representing URL schemes.)Helper function for safely building URLs.Helper function for rendering Maybe OneOf* shortcode parameters as query parameters.Helper function for rendering Maybe Valid* shortcode parameters as query parameters.Helper function for rendering Maybe * shortcode parameters as query parameters.Helper function for rendering Maybe Valid parameters as path components.Helper function for rendering Maybe Valid. parameters as path components, with a prefix.Helper function for rendering Maybe  parameters as path components.Helper function for rendering Maybe . parameters as path components, with a prefix.+Helper function for optionally rendering a Maybe as an HTML attribute. The schemeThe domain (not including ://).List of path components, to be separated by /./List of query components, to be separated by &.List of fragment components.cdThe OneOf parameter.The Valid parameter.The parameter key.The  parameter.Parameter for the  case.Parameter for the  case.efThe prefix path.The Valid parameter.The  parameter. Path for the  case. Path for the  case.The prefix path.The  parameter. Path for the  case. Path for the  case.  cdef(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalSafeg(Given a tag, parses strings of the form  p [tag key1=val1 ... keyN=valN] /p into lists of  (keyI,valI) pairs.ghigghi(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone%&T  Type representing the allowed attributes of a shortcode. These come in three forms: Yes/No attributes, which are present or not; Enumerated attributes, which take on one of a given list of values; and Validated attributes, whose values are strings of a given form."2Type representing the tag of a shortcode; such as youtube.$,Class representing abstract shortcode types.%The tag for our shortcode.&#The allowed keys for our shortcode.'An empty shortcode instance.(Convert t to HTML.)Generic shortcode expansion. This function almost certainly should not be called directly unless you are implementing a new shortcode.*uHelper function for reporting errors; this one in case we are trying to expand a shortcode with a missing key value. !"#j$%&'(k)lmn*  !"#$%&'()* $%&'("# !)*  !"#j$%&'(k)lmn*(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone!"oThe Decimal_Digits,  , and  types are provided by  . But the o* type is custom, so we need to define it.pGWe can represent this information using the following type. Note that Maybe means "zero or one" and [] means "zero or more".,-This is the function that finds and replaces example9 shortcodes. It is just a type-specific version of the )b function, that takes a shortcode specification and generates a find-and-replace function for it. oqrstpuvwxy,-,,oqrstpuvwxy,-(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone!"zFind and replace geogebra shortcodes.{,Constructs the embed URI of a GeoGebraEmbed.|}~z{z|}~z{(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone!"Find and replace gravatar shortcodes.,Constructs the embed URI of a GeoGebraEmbed.(c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone!"DA type representing embedded YouTube videos and playlists. See the  7https://developers.google.com/youtube/player_parametersAPI documentation.Find and replace youtube shortcodes.- (c) Nathan Bloomfield, 2017GPL-3nbloomf@gmail.com experimentalNone/8A simple sum type representing the available shortcodes.40Expand shortcodes of each of the provided types.5Monadic version of 4, for use with Hakyll.69A list of all the available shortcodes (for convenience). /0123456/0123456/0123456/0123456    ! "#$%&'()*+,-./01234567889:;<=>?@ABCDEFGH>IJKLMNLMOPQRSTUV S T W X S T Y Z S T [ \ S T ] ^ S T _ `STabSTcdSTefSTghijklmnopqrstuHvwxyHz{|}~-hakyll-shortcode-0.0.2-95Xf2345Neg2wdXoEyNMqnHakyll.Shortcode.TypesHakyll.Shortcode.RenderHakyll.Shortcode.Service Hakyll.Shortcode.Service.ExampleHakyll.ShortcodeHakyll.Shortcode.ValidateHakyll.Shortcode.Types.YesNo9Hakyll.Shortcode.Types.RFC_3986_Unreserved_Uri_Characters-Hakyll.Shortcode.Types.Natural_Number_Base_10!Hakyll.Shortcode.Types.MD5_Digest:Hakyll.Shortcode.Types.Letters_Numbers_Hyphens_Underscores&Hakyll.Shortcode.Types.Letters_Numbers.Hakyll.Shortcode.Types.Iso_639_1_Language_Code%Hakyll.Shortcode.Types.Hex_Color_Code)Hakyll.Shortcode.Types.Domain_With_Scheme%Hakyll.Shortcode.Types.Css_Class_NameHakyll.Shortcode.Types.CommaSepHakyll.Shortcode.ParserTypes!Hakyll.Shortcode.Service.GeoGebra!Hakyll.Shortcode.Service.Gravatar Hakyll.Shortcode.Service.YouTubeValidatevalidate validateMaybeYesNoYesNo"RFC_3986_Unreserved_Uri_CharactersNatural_Number_Base_10 MD5_Digest#Letters_Numbers_Hyphens_UnderscoresLetters_NumbersIso_639_1_Language_CodeHex_Color_CodeDomain_With_SchemeCss_Class_NameCommaSepQueryParameterrenderQueryParameterSchemeHTTPSbuildURL queryOneOf queryValid queryYesNo pathValid pathValidPre pathYesNo pathYesNoPre attrValid $fShowSchemeShortcodeAttributeOneOfValid ShortcodeTag Shortcodetag attributes emptycode embedcodeexpandShortcodes missingError$fShowShortcodeTagexpandExampleShortcodes$fShortcodeExample $fShowBeatleShortcodeServiceGeoGebraGravatarYouTubeExampleapplyShortcodes allServices$fEqShortcodeServicebaseGHC.BaseStringNothingghc-prim GHC.TypesBoolMakeunMake($fShowRFC_3986_Unreserved_Uri_Characters,$fValidateRFC_3986_Unreserved_Uri_Characters$fShowNatural_Number_Base_10 $fValidateNatural_Number_Base_10$fShowMD5_Digest$fValidateMD5_Digest)$fShowLetters_Numbers_Hyphens_Underscores-$fValidateLetters_Numbers_Hyphens_Underscores$fShowLetters_Numbers$fValidateLetters_Numbers$fShowIso_639_1_Language_Code!$fValidateIso_639_1_Language_Code$fShowHex_Color_Code$fValidateHex_Color_Code$fShowDomain_With_Scheme$fValidateDomain_With_Scheme$fShowCss_Class_Name$fValidateCss_Class_Name$fShowCommaSep$fValidateCommaSep sanitizeQuery buildQuery sanitizePath buildPathshortcodeParser keyvalParser quotedStringunTagupdate validateError typeError parseErrorBeatleJohnPaulGeorgeRingoex_validex_listex_yesnoex_oneofexpandGeoGebraShortcodesembedUri GeoGebraEmbedgg_idgg_class gg_heightgg_widthgg_bordercolor gg_inputbar gg_stylebar gg_menubar gg_toolbargg_toolbarhelp gg_reseticongg_clicktoload gg_rightclick gg_labeldrag gg_panzoom$fShortcodeGeoGebraEmbedexpandGravatarShortcodesRatingGRatingPGRatingRRatingXRatingDefaultGravatar FourOhFour MysteryMan Identicon MonsterIDWavatarRetroBlank GravatarEmbedgv_hashgv_classgv_size gv_defaultgv_force_default gv_rating$fShortcodeGravatarEmbed$fQueryParameterRating$fQueryParameterDefaultGravatar YouTubeEmbedexpandYouTubeShortcodesListTypeListTypePlaylistListTypeSearchListTypeUserUploadsColorRedWhite ShowControlsShowControlsNeverShowControlsOnloadShowControlsOnplay CaptionPolicy ShowCaptionsyt_idyt_class yt_heightyt_widthyt_endyt_start yt_language yt_playlist yt_origin yt_autoplay yt_disablekb yt_enablejs yt_fullscreenyt_loop yt_playinline yt_related yt_showannot yt_showinfo yt_showlogo yt_captionsyt_color yt_controls yt_listtype$fShortcodeYouTubeEmbed$fQueryParameterListType$fQueryParameterColor$fQueryParameterShowControls$fQueryParameterCaptionPolicyexpandShortcodesFor