[
    {
        "name": "Svg.Lazy",
        "comment": " Since all Elm functions are pure we have a guarantee that the same input\nwill always result in the same output. This module gives us tools to be lazy\nabout building `Svg` that utilize this fact.\n\nRather than immediately applying functions to their arguments, the `lazy`\nfunctions just bundle the function and arguments up for later. When diffing\nthe old and new virtual DOM, it checks to see if all the arguments are equal.\nIf so, it skips calling the function!\n\nThis is a really cheap test and often makes things a lot faster, but definitely\nbenchmark to be sure!\n\n@docs lazy, lazy2, lazy3\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "lazy",
                "comment": " A performance optimization that delays the building of virtual DOM nodes.\n\nCalling `(view model)` will definitely build some virtual DOM, perhaps a lot of\nit. Calling `(lazy view model)` delays the call until later. During diffing, we\ncan check to see if `model` is referentially equal to the previous value used,\nand if so, we just stop. No need to build up the tree structure and diff it,\nwe know if the input to `view` is the same, the output must be the same!\n",
                "type": "(a -> Svg msg) -> a -> Svg msg"
            },
            {
                "name": "lazy2",
                "comment": " Same as `lazy` but checks on two arguments.\n",
                "type": "(a -> b -> Svg msg) -> a -> b -> Svg msg"
            },
            {
                "name": "lazy3",
                "comment": " Same as `lazy` but checks on three arguments.\n",
                "type": "(a -> b -> c -> Svg msg) -> a -> b -> c -> Svg msg"
            }
        ],
        "binops": []
    },
    {
        "name": "Svg.Events",
        "comment": "\n\n# Animation event attributes\n@docs onBegin, onEnd, onRepeat\n\n# Document event attributes\n@docs onAbort, onError, onResize, onScroll, onLoad, onUnload, onZoom\n\n# Graphical event attributes\n@docs onActivate, onClick, onFocusIn, onFocusOut, onMouseDown, onMouseMove,\n  onMouseOut, onMouseOver, onMouseUp\n\n# Custom Events\n@docs on\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "on",
                "comment": " Create a custom event listener.\n\n    import Json.Decode as Json\n\n    onClick : msg -> Attribute msg\n    onClick msg =\n      on \"click\" (Json.succeed msg)\n\nYou first specify the name of the event in the same format as with JavaScript’s\n`addEventListener`. Next you give a JSON decoder, which lets you pull\ninformation out of the event object. If the decoder succeeds, it will produce\na message and route it to your `update` function.\n",
                "type": "String -> Decoder msg -> Attribute msg"
            },
            {
                "name": "onAbort",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onActivate",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onBegin",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onClick",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onEnd",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onError",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onFocusIn",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onFocusOut",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onLoad",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onMouseDown",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onMouseMove",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onMouseOut",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onMouseOver",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onMouseUp",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onRepeat",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onResize",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onScroll",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onUnload",
                "comment": "",
                "type": "msg -> Attribute msg"
            },
            {
                "name": "onZoom",
                "comment": "",
                "type": "msg -> Attribute msg"
            }
        ],
        "binops": []
    },
    {
        "name": "Svg.Attributes",
        "comment": "\n\n# Regular attributes\n@docs accentHeight, accelerate, accumulate, additive, alphabetic, allowReorder,\n  amplitude, arabicForm, ascent, attributeName, attributeType, autoReverse,\n  azimuth, baseFrequency, baseProfile, bbox, begin, bias, by, calcMode,\n  capHeight, class, clipPathUnits, contentScriptType, contentStyleType, cx, cy,\n  d, decelerate, descent, diffuseConstant, divisor, dur, dx, dy, edgeMode,\n  elevation, end, exponent, externalResourcesRequired, filterRes, filterUnits,\n  format, from, fx, fy, g1, g2, glyphName, glyphRef, gradientTransform,\n  gradientUnits, hanging, height, horizAdvX, horizOriginX, horizOriginY, id,\n  ideographic, in_, in2, intercept, k, k1, k2, k3, k4, kernelMatrix,\n  kernelUnitLength, keyPoints, keySplines, keyTimes, lang, lengthAdjust,\n  limitingConeAngle, local, markerHeight, markerUnits, markerWidth,\n  maskContentUnits, maskUnits, mathematical, max, media, method, min, mode,\n  name, numOctaves, offset, operator, order, orient, orientation, origin,\n  overlinePosition, overlineThickness, panose1, path, pathLength,\n  patternContentUnits, patternTransform, patternUnits, pointOrder, points,\n  pointsAtX, pointsAtY, pointsAtZ, preserveAlpha, preserveAspectRatio,\n  primitiveUnits, r, radius, refX, refY, renderingIntent, repeatCount,\n  repeatDur, requiredExtensions, requiredFeatures, restart, result, rotate,\n  rx, ry, scale, seed, slope, spacing, specularConstant, specularExponent,\n  speed, spreadMethod, startOffset, stdDeviation, stemh, stemv, stitchTiles,\n  strikethroughPosition, strikethroughThickness, string, style, surfaceScale,\n  systemLanguage, tableValues, target, targetX, targetY, textLength, title, to,\n  transform, type_, u1, u2, underlinePosition, underlineThickness, unicode,\n  unicodeRange, unitsPerEm, vAlphabetic, vHanging, vIdeographic, vMathematical,\n  values, version, vertAdvY, vertOriginX, vertOriginY, viewBox, viewTarget,\n  width, widths, x, xHeight, x1, x2, xChannelSelector, xlinkActuate,\n  xlinkArcrole, xlinkHref, xlinkRole, xlinkShow, xlinkTitle, xlinkType,\n  xmlBase, xmlLang, xmlSpace, y, y1, y2, yChannelSelector, z, zoomAndPan\n\n# Presentation attributes\n@docs alignmentBaseline, baselineShift, clipPath, clipRule, clip,\n  colorInterpolationFilters, colorInterpolation, colorProfile, colorRendering,\n  color, cursor, direction, display, dominantBaseline, enableBackground,\n  fillOpacity, fillRule, fill, filter, floodColor, floodOpacity, fontFamily,\n  fontSizeAdjust, fontSize, fontStretch, fontStyle, fontVariant, fontWeight,\n  glyphOrientationHorizontal, glyphOrientationVertical, imageRendering,\n  kerning, letterSpacing, lightingColor, markerEnd, markerMid, markerStart,\n  mask, opacity, overflow, pointerEvents, shapeRendering, stopColor,\n  stopOpacity, strokeDasharray, strokeDashoffset, strokeLinecap,\n  strokeLinejoin, strokeMiterlimit, strokeOpacity, strokeWidth, stroke,\n  textAnchor, textDecoration, textRendering, unicodeBidi, visibility,\n  wordSpacing, writingMode\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "accelerate",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "accentHeight",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "accumulate",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "additive",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "alignmentBaseline",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "allowReorder",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "alphabetic",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "amplitude",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "arabicForm",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "ascent",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "attributeName",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "attributeType",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "autoReverse",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "azimuth",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "baseFrequency",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "baseProfile",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "baselineShift",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "bbox",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "begin",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "bias",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "by",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "calcMode",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "capHeight",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "class",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "clip",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "clipPath",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "clipPathUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "clipRule",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "color",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "colorInterpolation",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "colorInterpolationFilters",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "colorProfile",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "colorRendering",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "contentScriptType",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "contentStyleType",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "cursor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "cx",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "cy",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "d",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "decelerate",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "descent",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "diffuseConstant",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "direction",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "display",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "divisor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "dominantBaseline",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "dur",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "dx",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "dy",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "edgeMode",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "elevation",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "enableBackground",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "end",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "exponent",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "externalResourcesRequired",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fill",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fillOpacity",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fillRule",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "filter",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "filterRes",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "filterUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "floodColor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "floodOpacity",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontFamily",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontSize",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontSizeAdjust",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontStretch",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontStyle",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontVariant",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fontWeight",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "format",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "from",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fx",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "fy",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "g1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "g2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "glyphName",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "glyphOrientationHorizontal",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "glyphOrientationVertical",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "glyphRef",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "gradientTransform",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "gradientUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "hanging",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "height",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "horizAdvX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "horizOriginX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "horizOriginY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "id",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "ideographic",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "imageRendering",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "in2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "in_",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "intercept",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "k",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "k1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "k2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "k3",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "k4",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "kernelMatrix",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "kernelUnitLength",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "kerning",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "keyPoints",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "keySplines",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "keyTimes",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "lang",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "lengthAdjust",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "letterSpacing",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "lightingColor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "limitingConeAngle",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "local",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerEnd",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerHeight",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerMid",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerStart",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "markerWidth",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "mask",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "maskContentUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "maskUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "mathematical",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "max",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "media",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "method",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "min",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "mode",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "name",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "numOctaves",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "offset",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "opacity",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "operator",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "order",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "orient",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "orientation",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "origin",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "overflow",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "overlinePosition",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "overlineThickness",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "panose1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "path",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pathLength",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "patternContentUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "patternTransform",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "patternUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pointOrder",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pointerEvents",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "points",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pointsAtX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pointsAtY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "pointsAtZ",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "preserveAlpha",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "preserveAspectRatio",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "primitiveUnits",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "r",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "radius",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "refX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "refY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "renderingIntent",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "repeatCount",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "repeatDur",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "requiredExtensions",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "requiredFeatures",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "restart",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "result",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "rotate",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "rx",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "ry",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "scale",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "seed",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "shapeRendering",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "slope",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "spacing",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "specularConstant",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "specularExponent",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "speed",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "spreadMethod",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "startOffset",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stdDeviation",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stemh",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stemv",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stitchTiles",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stopColor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stopOpacity",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strikethroughPosition",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strikethroughThickness",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "string",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "stroke",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeDasharray",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeDashoffset",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeLinecap",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeLinejoin",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeMiterlimit",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeOpacity",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "strokeWidth",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "style",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "surfaceScale",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "systemLanguage",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "tableValues",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "target",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "targetX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "targetY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "textAnchor",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "textDecoration",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "textLength",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "textRendering",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "title",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "to",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "transform",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "type_",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "u1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "u2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "underlinePosition",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "underlineThickness",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "unicode",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "unicodeBidi",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "unicodeRange",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "unitsPerEm",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vAlphabetic",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vHanging",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vIdeographic",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vMathematical",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "values",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "version",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vertAdvY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vertOriginX",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "vertOriginY",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "viewBox",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "viewTarget",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "visibility",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "width",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "widths",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "wordSpacing",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "writingMode",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "x",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "x1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "x2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xChannelSelector",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xHeight",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkActuate",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkArcrole",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkHref",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkRole",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkShow",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkTitle",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xlinkType",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xmlBase",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xmlLang",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "xmlSpace",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "y",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "y1",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "y2",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "yChannelSelector",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "z",
                "comment": "",
                "type": "String -> Attribute msg"
            },
            {
                "name": "zoomAndPan",
                "comment": "",
                "type": "String -> Attribute msg"
            }
        ],
        "binops": []
    },
    {
        "name": "Svg.Keyed",
        "comment": " A keyed node helps optimize cases where children are getting added, moved,\nremoved, etc. Common examples include:\n\n  - The user can delete items from a list.\n  - The user can create new items in a list.\n  - You can sort a list based on name or date or whatever.\n\nWhen you use a keyed node, every child is paired with a string identifier. This\nmakes it possible for the underlying diffing algorithm to reuse nodes more\nefficiently.\n\n# Keyed Nodes\n@docs node\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "node",
                "comment": " Works just like `Svg.node`, but you add a unique identifier to each child\nnode. You want this when you have a list of nodes that is changing: adding\nnodes, removing nodes, etc. In these cases, the unique identifiers help make\nthe DOM modifications more efficient.\n",
                "type": "String -> List (Attribute msg) -> List ( String, Svg msg ) -> Svg msg"
            }
        ],
        "binops": []
    },
    {
        "name": "Svg",
        "comment": "\n\n# SVG Nodes\n@docs Svg, Attribute, text, node, map\n\n# HTML Embedding\n@docs svg, foreignObject\n\n# Graphics elements\n@docs circle, ellipse, image, line, path, polygon, polyline, rect, use\n\n# Animation elements\n@docs animate, animateColor, animateMotion, animateTransform, mpath, set\n\n# Descriptive elements\n@docs desc, metadata, title\n\n# Containers\n@docs a, defs, g, marker, mask, pattern, switch, symbol\n\n# Text\n@docs altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef, textPath, text_,\n  tref, tspan\n\n# Fonts\n@docs font\n\n# Gradients\n@docs linearGradient, radialGradient, stop\n\n# Filters\n@docs feBlend, feColorMatrix, feComponentTransfer, feComposite,\n  feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feFlood, feFuncA,\n  feFuncB, feFuncG, feFuncR, feGaussianBlur, feImage, feMerge, feMergeNode,\n  feMorphology, feOffset, feSpecularLighting, feTile, feTurbulence\n\n# Light source elements\n@docs feDistantLight, fePointLight, feSpotLight\n\n# Miscellaneous\n@docs clipPath, colorProfile, cursor, filter, script, style, view\n",
        "unions": [],
        "aliases": [
            {
                "name": "Attribute",
                "comment": " Set attributes on your `Svg`.\n",
                "args": [
                    "msg"
                ],
                "type": "Property msg"
            },
            {
                "name": "Svg",
                "comment": " The core building block to create SVG. This library is filled with helper\nfunctions to create these `Svg` values.\n\nThis is backed by `VirtualDom.Node` in `evancz/virtual-dom`, but you do not\nneed to know any details about that to use this library!\n",
                "args": [
                    "msg"
                ],
                "type": "Node msg"
            }
        ],
        "values": [
            {
                "name": "a",
                "comment": " The SVG Anchor Element defines a hyperlink.\n",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "altGlyph",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "altGlyphDef",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "altGlyphItem",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "animate",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "animateColor",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "animateMotion",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "animateTransform",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "circle",
                "comment": " The circle element is an SVG basic shape, used to create circles based on\na center point and a radius.\n\n    circle [ cx \"60\", cy \"60\", r \"50\" ] []\n",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "clipPath",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "colorProfile",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "cursor",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "defs",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "desc",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "ellipse",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feBlend",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feColorMatrix",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feComponentTransfer",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feComposite",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feConvolveMatrix",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feDiffuseLighting",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feDisplacementMap",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feDistantLight",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feFlood",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feFuncA",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feFuncB",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feFuncG",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feFuncR",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feGaussianBlur",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feImage",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feMerge",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feMergeNode",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feMorphology",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feOffset",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "fePointLight",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feSpecularLighting",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feSpotLight",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feTile",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "feTurbulence",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "filter",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "font",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "foreignObject",
                "comment": "",
                "type": "List (Attribute msg) -> List (Html msg) -> Svg msg"
            },
            {
                "name": "g",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "glyph",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "glyphRef",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "image",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "line",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "linearGradient",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "map",
                "comment": " Transform the messages produced by some `Svg`.\n",
                "type": "(a -> msg) -> Svg a -> Svg msg"
            },
            {
                "name": "marker",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "mask",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "metadata",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "mpath",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "node",
                "comment": " Create any SVG node. To create a `<rect>` helper function, you would write:\n\n    rect : List (Attribute msg) -> List (Svg msg) -> Svg msg\n    rect attributes children =\n        node \"rect\" attributes children\n\nYou should always be able to use the helper functions already defined in this\nlibrary though!\n",
                "type": "String -> List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "path",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "pattern",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "polygon",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "polyline",
                "comment": " The polyline element is an SVG basic shape, used to create a series of\nstraight lines connecting several points. Typically a polyline is used to\ncreate open shapes.\n\n    polyline [ fill \"none\", stroke \"black\", points \"20,100 40,60 70,80 100,20\" ] []\n",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "radialGradient",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "rect",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "script",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "set",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "stop",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "style",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "svg",
                "comment": " The root `<svg>` node for any SVG scene. This example shows a scene\ncontaining a rounded rectangle:\n\n    import Html\n    import Svg exposing (..)\n    import Svg.Attributes exposing (..)\n\n    roundRect : Html.Html msg\n    roundRect =\n        svg\n          [ width \"120\", height \"120\", viewBox \"0 0 120 120\" ]\n          [ rect [ x \"10\", y \"10\", width \"100\", height \"100\", rx \"15\", ry \"15\" ] [] ]\n",
                "type": "List (Attribute msg) -> List (Svg msg) -> Html msg"
            },
            {
                "name": "switch",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "symbol",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "text",
                "comment": " A simple text node, no tags at all.\n\nWarning: not to be confused with `text_` which produces the SVG `<text>` tag!\n",
                "type": "String -> Svg msg"
            },
            {
                "name": "textPath",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "text_",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "title",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "tref",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "tspan",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "use",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            },
            {
                "name": "view",
                "comment": "",
                "type": "List (Attribute msg) -> List (Svg msg) -> Svg msg"
            }
        ],
        "binops": []
    }
]